diff --git a/ACSmI/Contracting/.gitignore b/ACSmI/Contracting/.gitignore
index 976c7df0b7076bc0f8503e6f6ac3db10dcba4578..07820184a7ef59031936345b088844c8e5c38fa3 100644
--- a/ACSmI/Contracting/.gitignore
+++ b/ACSmI/Contracting/.gitignore
@@ -1,18 +1,18 @@
-# See https://help.github.com/articles/ignoring-files for more about ignoring files.
-#
-# If you find yourself ignoring temporary files generated by your text editor
-# or operating system, you probably want to add a global ignore instead:
-#   git config --global core.excludesfile '~/.gitignore_global'
-
-# Ignore bundler config.
-/.bundle
-
-# Ignore the default SQLite database.
-/db/*.sqlite3
-/db/*.sqlite3-journal
-
-# Ignore all logfiles and tempfiles.
-/log/*
-!/log/.keep
-/tmp
-.idea
+# See https://help.github.com/articles/ignoring-files for more about ignoring files.
+#
+# If you find yourself ignoring temporary files generated by your text editor
+# or operating system, you probably want to add a global ignore instead:
+#   git config --global core.excludesfile '~/.gitignore_global'
+
+# Ignore bundler config.
+/.bundle
+
+# Ignore the default SQLite database.
+/db/*.sqlite3
+/db/*.sqlite3-journal
+
+# Ignore all logfiles and tempfiles.
+/log/*
+!/log/.keep
+/tmp
+.idea
diff --git a/ACSmI/Contracting/.rspec b/ACSmI/Contracting/.rspec
index c99d2e7396e14ac072c63ec8419d9b8fede28d86..2673547e8d584eb47db3139ba805ad6b13ae73c0 100644
--- a/ACSmI/Contracting/.rspec
+++ b/ACSmI/Contracting/.rspec
@@ -1 +1 @@
---require spec_helper
+--require spec_helper
diff --git a/ACSmI/Contracting/Gemfile b/ACSmI/Contracting/Gemfile
index e7da1fa9ffa4a7f48cc88777df61ea529529c47a..ef0e794aa0a69a552542bfb11f15b75877820b82 100644
--- a/ACSmI/Contracting/Gemfile
+++ b/ACSmI/Contracting/Gemfile
@@ -1,27 +1,27 @@
-source 'https://rubygems.org'
-
-# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
-gem 'rails', '4.2.10'
-# Use sqlite3 as the database for Active Record
-gem 'sqlite3'
-# Use SCSS for stylesheets
-gem 'sass-rails', '~> 5.0'
-# Use Uglifier as compressor for JavaScript assets
-gem 'uglifier', '>= 1.3.0'
-# Use CoffeeScript for .coffee assets and views
-gem 'coffee-rails', '~> 4.1.0'
-
-# Use jquery as the JavaScript library
-gem 'jquery-rails'
-# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
-gem 'jbuilder', '~> 2.0'
-# bundle exec rake doc:rails generates the API under doc/api.
-gem 'sdoc', '~> 0.4.0', group: :doc
-
-gem 'haml-rails', '~> 0.9.0'
-gem "twitter-bootstrap-rails"
-gem 'bootstrap-generators', '~> 3.3.4'
-gem 'attr_encrypted', '~> 3.0.1'
-gem 'rest-client'
-gem 'aasm'
+source 'https://rubygems.org'
+
+# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
+gem 'rails', '4.2.10'
+# Use sqlite3 as the database for Active Record
+gem 'sqlite3'
+# Use SCSS for stylesheets
+gem 'sass-rails', '~> 5.0'
+# Use Uglifier as compressor for JavaScript assets
+gem 'uglifier', '>= 1.3.0'
+# Use CoffeeScript for .coffee assets and views
+gem 'coffee-rails', '~> 4.1.0'
+
+# Use jquery as the JavaScript library
+gem 'jquery-rails'
+# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
+gem 'jbuilder', '~> 2.0'
+# bundle exec rake doc:rails generates the API under doc/api.
+gem 'sdoc', '~> 0.4.0', group: :doc
+
+gem 'haml-rails', '~> 0.9.0'
+gem "twitter-bootstrap-rails"
+gem 'bootstrap-generators', '~> 3.3.4'
+gem 'attr_encrypted', '~> 3.0.1'
+gem 'rest-client'
+gem 'aasm'
 gem 'authlogic'
\ No newline at end of file
diff --git a/ACSmI/Contracting/Gemfile.lock b/ACSmI/Contracting/Gemfile.lock
index 97634c7ac1e8db414290977a1c5c85663d43c42f..681208f322ffd56bc7e35a8089f970264a2b54c3 100644
--- a/ACSmI/Contracting/Gemfile.lock
+++ b/ACSmI/Contracting/Gemfile.lock
@@ -1,219 +1,219 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    aasm (4.11.0)
-    actionmailer (4.2.10)
-      actionpack (= 4.2.10)
-      actionview (= 4.2.10)
-      activejob (= 4.2.10)
-      mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.10)
-      actionview (= 4.2.10)
-      activesupport (= 4.2.10)
-      rack (~> 1.6)
-      rack-test (~> 0.6.2)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (4.2.10)
-      activesupport (= 4.2.10)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (4.2.10)
-      activesupport (= 4.2.10)
-      globalid (>= 0.3.0)
-    activemodel (4.2.10)
-      activesupport (= 4.2.10)
-      builder (~> 3.1)
-    activerecord (4.2.10)
-      activemodel (= 4.2.10)
-      activesupport (= 4.2.10)
-      arel (~> 6.0)
-    activesupport (4.2.10)
-      i18n (~> 0.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
-      tzinfo (~> 1.1)
-    arel (6.0.4)
-    attr_encrypted (3.0.3)
-      encryptor (~> 3.0.0)
-    authlogic (3.6.1)
-      activerecord (>= 3.2, < 5.2)
-      activesupport (>= 3.2, < 5.2)
-      request_store (~> 1.0)
-      scrypt (>= 1.2, < 4.0)
-    bootstrap-generators (3.3.4)
-      railties (>= 3.1.0)
-    builder (3.2.3)
-    coffee-rails (4.1.1)
-      coffee-script (>= 2.2.0)
-      railties (>= 4.0.0, < 5.1.x)
-    coffee-script (2.4.1)
-      coffee-script-source
-      execjs
-    coffee-script-source (1.12.2)
-    commonjs (0.2.7)
-    concurrent-ruby (1.0.5)
-    crass (1.0.3)
-    domain_name (0.5.20170404)
-      unf (>= 0.0.5, < 1.0.0)
-    encryptor (3.0.0)
-    erubis (2.7.0)
-    execjs (2.7.0)
-    ffi (1.9.18)
-    ffi-compiler (1.0.1)
-      ffi (>= 1.0.0)
-      rake
-    globalid (0.4.1)
-      activesupport (>= 4.2.0)
-    haml (4.0.7)
-      tilt
-    haml-rails (0.9.0)
-      actionpack (>= 4.0.1)
-      activesupport (>= 4.0.1)
-      haml (>= 4.0.6, < 5.0)
-      html2haml (>= 1.0.1)
-      railties (>= 4.0.1)
-    html2haml (2.2.0)
-      erubis (~> 2.7.0)
-      haml (>= 4.0, < 6)
-      nokogiri (>= 1.6.0)
-      ruby_parser (~> 3.5)
-    http-cookie (1.0.3)
-      domain_name (~> 0.5)
-    i18n (0.9.1)
-      concurrent-ruby (~> 1.0)
-    jbuilder (2.7.0)
-      activesupport (>= 4.2.0)
-      multi_json (>= 1.2)
-    jquery-rails (4.3.1)
-      rails-dom-testing (>= 1, < 3)
-      railties (>= 4.2.0)
-      thor (>= 0.14, < 2.0)
-    json (1.8.6)
-    less (2.6.0)
-      commonjs (~> 0.2.7)
-    less-rails (2.7.1)
-      actionpack (>= 4.0)
-      less (~> 2.6.0)
-      sprockets (> 2, < 4)
-      tilt
-    loofah (2.1.1)
-      crass (~> 1.0.2)
-      nokogiri (>= 1.5.9)
-    mail (2.7.0)
-      mini_mime (>= 0.1.1)
-    mime-types (3.1)
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2016.0521)
-    mini_mime (1.0.0)
-    mini_portile2 (2.1.0)
-    minitest (5.10.3)
-    multi_json (1.12.2)
-    netrc (0.11.0)
-    nokogiri (1.7.0.1)
-      mini_portile2 (~> 2.1.0)
-    rack (1.6.8)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.2.10)
-      actionmailer (= 4.2.10)
-      actionpack (= 4.2.10)
-      actionview (= 4.2.10)
-      activejob (= 4.2.10)
-      activemodel (= 4.2.10)
-      activerecord (= 4.2.10)
-      activesupport (= 4.2.10)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.10)
-      sprockets-rails
-    rails-deprecated_sanitizer (1.0.3)
-      activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.8)
-      activesupport (>= 4.2.0.beta, < 5.0)
-      nokogiri (~> 1.6)
-      rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.3)
-      loofah (~> 2.0)
-    railties (4.2.10)
-      actionpack (= 4.2.10)
-      activesupport (= 4.2.10)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (12.3.0)
-    rb-fsevent (0.10.2)
-    rb-inotify (0.9.10)
-      ffi (>= 0.5.0, < 2)
-    rdoc (4.3.0)
-    request_store (1.3.2)
-    rest-client (2.0.2)
-      http-cookie (>= 1.0.2, < 2.0)
-      mime-types (>= 1.16, < 4.0)
-      netrc (~> 0.8)
-    ruby_parser (3.10.1)
-      sexp_processor (~> 4.9)
-    sass (3.5.3)
-      sass-listen (~> 4.0.0)
-    sass-listen (4.0.0)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-    sass-rails (5.0.7)
-      railties (>= 4.0.0, < 6)
-      sass (~> 3.1)
-      sprockets (>= 2.8, < 4.0)
-      sprockets-rails (>= 2.0, < 4.0)
-      tilt (>= 1.1, < 3)
-    scrypt (3.0.5)
-      ffi-compiler (>= 1.0, < 2.0)
-    sdoc (0.4.2)
-      json (~> 1.7, >= 1.7.7)
-      rdoc (~> 4.0)
-    sexp_processor (4.10.0)
-    sprockets (3.7.1)
-      concurrent-ruby (~> 1.0)
-      rack (> 1, < 3)
-    sprockets-rails (3.2.1)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
-      sprockets (>= 3.0.0)
-    sqlite3 (1.3.13)
-    thor (0.20.0)
-    thread_safe (0.3.6)
-    tilt (2.0.8)
-    twitter-bootstrap-rails (3.2.2)
-      actionpack (>= 3.1)
-      execjs (>= 2.2.2, >= 2.2)
-      less-rails (>= 2.5.0)
-      railties (>= 3.1)
-    tzinfo (1.2.4)
-      thread_safe (~> 0.1)
-    uglifier (3.2.0)
-      execjs (>= 0.3.0, < 3)
-    unf (0.1.4)
-      unf_ext
-    unf_ext (0.0.7.4)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  aasm
-  attr_encrypted (~> 3.0.1)
-  authlogic
-  bootstrap-generators (~> 3.3.4)
-  coffee-rails (~> 4.1.0)
-  haml-rails (~> 0.9.0)
-  jbuilder (~> 2.0)
-  jquery-rails
-  rails (= 4.2.10)
-  rest-client
-  sass-rails (~> 5.0)
-  sdoc (~> 0.4.0)
-  sqlite3
-  twitter-bootstrap-rails
-  uglifier (>= 1.3.0)
-
-BUNDLED WITH
-   1.16.0
+GEM
+  remote: https://rubygems.org/
+  specs:
+    aasm (4.11.0)
+    actionmailer (4.2.10)
+      actionpack (= 4.2.10)
+      actionview (= 4.2.10)
+      activejob (= 4.2.10)
+      mail (~> 2.5, >= 2.5.4)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+    actionpack (4.2.10)
+      actionview (= 4.2.10)
+      activesupport (= 4.2.10)
+      rack (~> 1.6)
+      rack-test (~> 0.6.2)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-html-sanitizer (~> 1.0, >= 1.0.2)
+    actionview (4.2.10)
+      activesupport (= 4.2.10)
+      builder (~> 3.1)
+      erubis (~> 2.7.0)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-html-sanitizer (~> 1.0, >= 1.0.3)
+    activejob (4.2.10)
+      activesupport (= 4.2.10)
+      globalid (>= 0.3.0)
+    activemodel (4.2.10)
+      activesupport (= 4.2.10)
+      builder (~> 3.1)
+    activerecord (4.2.10)
+      activemodel (= 4.2.10)
+      activesupport (= 4.2.10)
+      arel (~> 6.0)
+    activesupport (4.2.10)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    arel (6.0.4)
+    attr_encrypted (3.0.3)
+      encryptor (~> 3.0.0)
+    authlogic (3.6.1)
+      activerecord (>= 3.2, < 5.2)
+      activesupport (>= 3.2, < 5.2)
+      request_store (~> 1.0)
+      scrypt (>= 1.2, < 4.0)
+    bootstrap-generators (3.3.4)
+      railties (>= 3.1.0)
+    builder (3.2.3)
+    coffee-rails (4.1.1)
+      coffee-script (>= 2.2.0)
+      railties (>= 4.0.0, < 5.1.x)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.12.2)
+    commonjs (0.2.7)
+    concurrent-ruby (1.0.5)
+    crass (1.0.3)
+    domain_name (0.5.20170404)
+      unf (>= 0.0.5, < 1.0.0)
+    encryptor (3.0.0)
+    erubis (2.7.0)
+    execjs (2.7.0)
+    ffi (1.9.18)
+    ffi-compiler (1.0.1)
+      ffi (>= 1.0.0)
+      rake
+    globalid (0.4.1)
+      activesupport (>= 4.2.0)
+    haml (4.0.7)
+      tilt
+    haml-rails (0.9.0)
+      actionpack (>= 4.0.1)
+      activesupport (>= 4.0.1)
+      haml (>= 4.0.6, < 5.0)
+      html2haml (>= 1.0.1)
+      railties (>= 4.0.1)
+    html2haml (2.2.0)
+      erubis (~> 2.7.0)
+      haml (>= 4.0, < 6)
+      nokogiri (>= 1.6.0)
+      ruby_parser (~> 3.5)
+    http-cookie (1.0.3)
+      domain_name (~> 0.5)
+    i18n (0.9.1)
+      concurrent-ruby (~> 1.0)
+    jbuilder (2.7.0)
+      activesupport (>= 4.2.0)
+      multi_json (>= 1.2)
+    jquery-rails (4.3.1)
+      rails-dom-testing (>= 1, < 3)
+      railties (>= 4.2.0)
+      thor (>= 0.14, < 2.0)
+    json (1.8.6)
+    less (2.6.0)
+      commonjs (~> 0.2.7)
+    less-rails (2.7.1)
+      actionpack (>= 4.0)
+      less (~> 2.6.0)
+      sprockets (> 2, < 4)
+      tilt
+    loofah (2.1.1)
+      crass (~> 1.0.2)
+      nokogiri (>= 1.5.9)
+    mail (2.7.0)
+      mini_mime (>= 0.1.1)
+    mime-types (3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2016.0521)
+    mini_mime (1.0.0)
+    mini_portile2 (2.1.0)
+    minitest (5.10.3)
+    multi_json (1.12.2)
+    netrc (0.11.0)
+    nokogiri (1.7.0.1)
+      mini_portile2 (~> 2.1.0)
+    rack (1.6.8)
+    rack-test (0.6.3)
+      rack (>= 1.0)
+    rails (4.2.10)
+      actionmailer (= 4.2.10)
+      actionpack (= 4.2.10)
+      actionview (= 4.2.10)
+      activejob (= 4.2.10)
+      activemodel (= 4.2.10)
+      activerecord (= 4.2.10)
+      activesupport (= 4.2.10)
+      bundler (>= 1.3.0, < 2.0)
+      railties (= 4.2.10)
+      sprockets-rails
+    rails-deprecated_sanitizer (1.0.3)
+      activesupport (>= 4.2.0.alpha)
+    rails-dom-testing (1.0.8)
+      activesupport (>= 4.2.0.beta, < 5.0)
+      nokogiri (~> 1.6)
+      rails-deprecated_sanitizer (>= 1.0.1)
+    rails-html-sanitizer (1.0.3)
+      loofah (~> 2.0)
+    railties (4.2.10)
+      actionpack (= 4.2.10)
+      activesupport (= 4.2.10)
+      rake (>= 0.8.7)
+      thor (>= 0.18.1, < 2.0)
+    rake (12.3.0)
+    rb-fsevent (0.10.2)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    rdoc (4.3.0)
+    request_store (1.3.2)
+    rest-client (2.0.2)
+      http-cookie (>= 1.0.2, < 2.0)
+      mime-types (>= 1.16, < 4.0)
+      netrc (~> 0.8)
+    ruby_parser (3.10.1)
+      sexp_processor (~> 4.9)
+    sass (3.5.3)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sass-rails (5.0.7)
+      railties (>= 4.0.0, < 6)
+      sass (~> 3.1)
+      sprockets (>= 2.8, < 4.0)
+      sprockets-rails (>= 2.0, < 4.0)
+      tilt (>= 1.1, < 3)
+    scrypt (3.0.5)
+      ffi-compiler (>= 1.0, < 2.0)
+    sdoc (0.4.2)
+      json (~> 1.7, >= 1.7.7)
+      rdoc (~> 4.0)
+    sexp_processor (4.10.0)
+    sprockets (3.7.1)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    sprockets-rails (3.2.1)
+      actionpack (>= 4.0)
+      activesupport (>= 4.0)
+      sprockets (>= 3.0.0)
+    sqlite3 (1.3.13)
+    thor (0.20.0)
+    thread_safe (0.3.6)
+    tilt (2.0.8)
+    twitter-bootstrap-rails (3.2.2)
+      actionpack (>= 3.1)
+      execjs (>= 2.2.2, >= 2.2)
+      less-rails (>= 2.5.0)
+      railties (>= 3.1)
+    tzinfo (1.2.4)
+      thread_safe (~> 0.1)
+    uglifier (3.2.0)
+      execjs (>= 0.3.0, < 3)
+    unf (0.1.4)
+      unf_ext
+    unf_ext (0.0.7.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  aasm
+  attr_encrypted (~> 3.0.1)
+  authlogic
+  bootstrap-generators (~> 3.3.4)
+  coffee-rails (~> 4.1.0)
+  haml-rails (~> 0.9.0)
+  jbuilder (~> 2.0)
+  jquery-rails
+  rails (= 4.2.10)
+  rest-client
+  sass-rails (~> 5.0)
+  sdoc (~> 0.4.0)
+  sqlite3
+  twitter-bootstrap-rails
+  uglifier (>= 1.3.0)
+
+BUNDLED WITH
+   1.16.0
diff --git a/ACSmI/Contracting/LICENSE.txt b/ACSmI/Contracting/LICENSE.txt
index e06178e36e7ad9bae04e390300d88be7bbb9ed2b..d64757c860f92c5adf42d9fb10e463c72ec902d5 100644
--- a/ACSmI/Contracting/LICENSE.txt
+++ b/ACSmI/Contracting/LICENSE.txt
@@ -1,20 +1,20 @@
-Copyright (c) 2017 CloudBroker GmbH
-
-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.
-
-Contributors (in alphabetical order):
-
-Nicola Fantini (CloudBroker)
-Anton Ovcharenko (CloudBroker)
-Andrey Sereda (CloudBroker)
-Anna Shevchenko (CloudBroker)
-Dmitriy Spivakov (CloudBroker)
-
+Copyright (c) 2017 CloudBroker GmbH
+
+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.
+
+Contributors (in alphabetical order):
+
+Nicola Fantini (CloudBroker)
+Anton Ovcharenko (CloudBroker)
+Andrey Sereda (CloudBroker)
+Anna Shevchenko (CloudBroker)
+Dmitriy Spivakov (CloudBroker)
+
 Initially developed in the context of DECIDE EU project http://www.decide-h2020.eu/
\ No newline at end of file
diff --git a/ACSmI/Contracting/README.rdoc b/ACSmI/Contracting/README.rdoc
index 076658408e4a7bc43ca4d90635a15afe14111136..c7da9fc6017dc5956a23ed6bc87c65cfd34aa6ec 100644
--- a/ACSmI/Contracting/README.rdoc
+++ b/ACSmI/Contracting/README.rdoc
@@ -1,12 +1,12 @@
-== Intro
-
-ACSmI Contracting Tool
-
-== Installation instructions
-
-* Install ruby version 2.1.0 (https://www.ruby-lang.org/en/downloads/ for Windows or rvm.io for Unix). Please make sure ‘ruby -v’ returns the correct version in console.
-* Install dependencies. Go to project folder and run the following: ‘gem install bundler; bundle install’. Wait till all the gems are installed
-* Configure the access to the CloudBroker Platform. Go to db/seeds.rb and provide your  Platform account details under ‘platform_email’ and ‘platform_password’ settings (please change value, not the key)
-* Create and configure the database. Go to project folder and run the following: ‘rake db:create; rake db:migrate; rake db:seed’
-* Start the server. Run “bin/rails server -b 0.0.0.0 -p 3000 -e development”
-* Open your browser, navigate to http://0.0.0.0:3000
+== Intro
+
+ACSmI Contracting Tool
+
+== Installation instructions
+
+* Install ruby version 2.1.0 (https://www.ruby-lang.org/en/downloads/ for Windows or rvm.io for Unix). Please make sure ‘ruby -v’ returns the correct version in console.
+* Install dependencies. Go to project folder and run the following: ‘gem install bundler; bundle install’. Wait till all the gems are installed
+* Configure the access to the CloudBroker Platform. Go to db/seeds.rb and provide your  Platform account details under ‘platform_email’ and ‘platform_password’ settings (please change value, not the key)
+* Create and configure the database. Go to project folder and run the following: ‘rake db:create; rake db:migrate; rake db:seed’
+* Start the server. Run “bin/rails server -b 0.0.0.0 -p 3000 -e development”
+* Open your browser, navigate to http://0.0.0.0:3000
diff --git a/ACSmI/Contracting/Rakefile b/ACSmI/Contracting/Rakefile
index ba6b733dd2358d858f00445ebd91c214f0f5d2e5..6ea7d6354b257d25712b244f26afe11403ea8608 100644
--- a/ACSmI/Contracting/Rakefile
+++ b/ACSmI/Contracting/Rakefile
@@ -1,6 +1,6 @@
-# Add your own tasks in files placed in lib/tasks ending in .rake,
-# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
-
-require File.expand_path('../config/application', __FILE__)
-
-Rails.application.load_tasks
+# Add your own tasks in files placed in lib/tasks ending in .rake,
+# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
+
+require File.expand_path('../config/application', __FILE__)
+
+Rails.application.load_tasks
diff --git a/ACSmI/Contracting/app/assets/javascripts/application.js b/ACSmI/Contracting/app/assets/javascripts/application.js
index e16501d3ea3c6a93cfe691fc924f43ee8af80842..6c876f71f740d79dac83c5da6d8fe882809ee12c 100644
--- a/ACSmI/Contracting/app/assets/javascripts/application.js
+++ b/ACSmI/Contracting/app/assets/javascripts/application.js
@@ -1,17 +1,17 @@
-// This is a manifest file that'll be compiled into application.js, which will include all the files
-// listed below.
-//
-// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
-// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
-//
-// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
-// compiled file.
-//
-// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
-// about supported directives.
-//
-//= require jquery
-//= require jquery_ujs
-//= require twitter/bootstrap
-//= require bootstrap
-//= require_tree .
+// This is a manifest file that'll be compiled into application.js, which will include all the files
+// listed below.
+//
+// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
+// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
+//
+// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
+// compiled file.
+//
+// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
+// about supported directives.
+//
+//= require jquery
+//= require jquery_ujs
+//= require twitter/bootstrap
+//= require bootstrap
+//= require_tree .
diff --git a/ACSmI/Contracting/app/assets/javascripts/sessions.js b/ACSmI/Contracting/app/assets/javascripts/sessions.js
index a5d874b61f54403676570ee2347b25d522ba3fbc..01c3a55964b2b0bdf816bf596ec824abb74470c7 100644
--- a/ACSmI/Contracting/app/assets/javascripts/sessions.js
+++ b/ACSmI/Contracting/app/assets/javascripts/sessions.js
@@ -1,13 +1,13 @@
-function toggleSubforms(){
-    if ($('#sign-in').is(':checked')){
-        $('.sign-in-subform').show();
-        $('.sign-in-subform :input').prop('disabled', false);
-        $('.sign-up-subform').hide();
-        $('.sign-up-subform :input').prop('disabled', true);
-    } else {
-        $('.sign-up-subform').show();
-        $('.sign-up-subform :input').prop('disabled', false);
-        $('.sign-in-subform').hide();
-        $('.sign-in-subform :input').prop('disabled', true);
-    }
+function toggleSubforms(){
+    if ($('#sign-in').is(':checked')){
+        $('.sign-in-subform').show();
+        $('.sign-in-subform :input').prop('disabled', false);
+        $('.sign-up-subform').hide();
+        $('.sign-up-subform :input').prop('disabled', true);
+    } else {
+        $('.sign-up-subform').show();
+        $('.sign-up-subform :input').prop('disabled', false);
+        $('.sign-in-subform').hide();
+        $('.sign-in-subform :input').prop('disabled', true);
+    }
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/application.css b/ACSmI/Contracting/app/assets/stylesheets/application.css
index 4e723db61721c29a6d42fa8bfa966b7459656953..bfe604fb739a6b9561fc9979cbe4972cb55992f5 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/application.css
+++ b/ACSmI/Contracting/app/assets/stylesheets/application.css
@@ -1,35 +1,35 @@
-/*
- *= require_self
- *= require_tree .
- */
-.site-content {
-    margin-bottom: 50px;
-}
-
-.form-container {
-    margin: 0 auto;
-    width: 70%;
-    border: 1px solid lightgray;
-    border-radius:5px;
-    padding: 10px 30px 5px 20px;
-}
-
-.form-container a:hover {
-    text-decoration: none;
-    cursor: pointer;
-}
-
-h3.form-header {
-    margin-bottom: 20px;
-    margin-top:10px
-}
-
-
-div.form-group {
-    margin-top: 20px;
-    margin-bottom: 10px;
-}
-
-div.form-group label{
-    font-weight: normal;
+/*
+ *= require_self
+ *= require_tree .
+ */
+.site-content {
+    margin-bottom: 50px;
+}
+
+.form-container {
+    margin: 0 auto;
+    width: 70%;
+    border: 1px solid lightgray;
+    border-radius:5px;
+    padding: 10px 30px 5px 20px;
+}
+
+.form-container a:hover {
+    text-decoration: none;
+    cursor: pointer;
+}
+
+h3.form-header {
+    margin-bottom: 20px;
+    margin-top:10px
+}
+
+
+div.form-group {
+    margin-top: 20px;
+    margin-bottom: 10px;
+}
+
+div.form-group label{
+    font-weight: normal;
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/bootstrap-generators.scss b/ACSmI/Contracting/app/assets/stylesheets/bootstrap-generators.scss
index 3c085cc80107d97471c1d161153dd4b496938226..d41a433ddb7fc20616a773f7f55e4a43fadb4fa7 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/bootstrap-generators.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/bootstrap-generators.scss
@@ -1,15 +1,15 @@
-@import "bootstrap-variables.scss";
-@import "bootstrap-sprockets.scss";
-@import "bootstrap.scss";
-
-.top-header {
-  img.header-logo {
-    margin-top: 4px;
-    margin-left: -15px;
-    margin-right: 20px;
-  }
-}
-
-.field_with_errors {
-  @extend .has-error;
+@import "bootstrap-variables.scss";
+@import "bootstrap-sprockets.scss";
+@import "bootstrap.scss";
+
+.top-header {
+  img.header-logo {
+    margin-top: 4px;
+    margin-left: -15px;
+    margin-right: 20px;
+  }
+}
+
+.field_with_errors {
+  @extend .has-error;
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/bootstrap-variables.scss b/ACSmI/Contracting/app/assets/stylesheets/bootstrap-variables.scss
index 2baba6aef420ec44df0090890b556d6191623024..d693249a989169e20095a31817e9c318967ac6a5 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/bootstrap-variables.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/bootstrap-variables.scss
@@ -1,866 +1,866 @@
-$bootstrap-sass-asset-helper: false !default;
-//
-// Variables
-// --------------------------------------------------
-
-
-//== Colors
-//
-//## Gray and brand colors for use across Bootstrap.
-
-$gray-base:              #000 !default;
-$gray-darker:            lighten($gray-base, 13.5%) !default; // #222
-$gray-dark:              lighten($gray-base, 20%) !default;   // #333
-$gray:                   lighten($gray-base, 33.5%) !default; // #555
-$gray-light:             lighten($gray-base, 46.7%) !default; // #777
-$gray-lighter:           lighten($gray-base, 93.5%) !default; // #eee
-
-$brand-primary:         darken(#428bca, 6.5%) !default; // #337ab7
-$brand-success:         #5cb85c !default;
-$brand-info:            #5bc0de !default;
-$brand-warning:         #f0ad4e !default;
-$brand-danger:          #d9534f !default;
-
-
-//== Scaffolding
-//
-//## Settings for some of the most global styles.
-
-//** Background color for `<body>`.
-$body-bg:               #fff !default;
-//** Global text color on `<body>`.
-$text-color:            $gray-dark !default;
-
-//** Global textual link color.
-$link-color:            $brand-primary !default;
-//** Link hover color set via `darken()` function.
-$link-hover-color:      darken($link-color, 15%) !default;
-//** Link hover decoration.
-$link-hover-decoration: underline !default;
-
-
-//== Typography
-//
-//## Font, line-height, and color for body text, headings, and more.
-
-$font-family-sans-serif:  "Helvetica Neue", Helvetica, Arial, sans-serif !default;
-$font-family-serif:       Georgia, "Times New Roman", Times, serif !default;
-//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
-$font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace !default;
-$font-family-base:        $font-family-sans-serif !default;
-
-$font-size-base:          14px !default;
-$font-size-large:         ceil(($font-size-base * 1.25)) !default; // ~18px
-$font-size-small:         ceil(($font-size-base * 0.85)) !default; // ~12px
-
-$font-size-h1:            floor(($font-size-base * 2.6)) !default; // ~36px
-$font-size-h2:            floor(($font-size-base * 2.15)) !default; // ~30px
-$font-size-h3:            ceil(($font-size-base * 1.7)) !default; // ~24px
-$font-size-h4:            ceil(($font-size-base * 1.25)) !default; // ~18px
-$font-size-h5:            $font-size-base !default;
-$font-size-h6:            ceil(($font-size-base * 0.85)) !default; // ~12px
-
-//** Unit-less `line-height` for use in components like buttons.
-$line-height-base:        1.428571429 !default; // 20/14
-//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
-$line-height-computed:    floor(($font-size-base * $line-height-base)) !default; // ~20px
-
-//** By default, this inherits from the `<body>`.
-$headings-font-family:    inherit !default;
-$headings-font-weight:    500 !default;
-$headings-line-height:    1.1 !default;
-$headings-color:          inherit !default;
-
-
-//== Iconography
-//
-//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
-
-//** Load fonts from this directory.
-
-// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
-// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
-$icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "bootstrap/") !default;
-
-//** File name for all font files.
-$icon-font-name:          "glyphicons-halflings-regular" !default;
-//** Element ID within SVG icon file.
-$icon-font-svg-id:        "glyphicons_halflingsregular" !default;
-
-
-//== Components
-//
-//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
-
-$padding-base-vertical:     6px !default;
-$padding-base-horizontal:   12px !default;
-
-$padding-large-vertical:    10px !default;
-$padding-large-horizontal:  16px !default;
-
-$padding-small-vertical:    5px !default;
-$padding-small-horizontal:  10px !default;
-
-$padding-xs-vertical:       1px !default;
-$padding-xs-horizontal:     5px !default;
-
-$line-height-large:         1.3333333 !default; // extra decimals for Win 8.1 Chrome
-$line-height-small:         1.5 !default;
-
-$border-radius-base:        4px !default;
-$border-radius-large:       6px !default;
-$border-radius-small:       3px !default;
-
-//** Global color for active items (e.g., navs or dropdowns).
-$component-active-color:    #fff !default;
-//** Global background color for active items (e.g., navs or dropdowns).
-$component-active-bg:       $brand-primary !default;
-
-//** Width of the `border` for generating carets that indicator dropdowns.
-$caret-width-base:          4px !default;
-//** Carets increase slightly in size for larger components.
-$caret-width-large:         5px !default;
-
-
-//== Tables
-//
-//## Customizes the `.table` component with basic values, each used across all table variations.
-
-//** Padding for `<th>`s and `<td>`s.
-$table-cell-padding:            8px !default;
-//** Padding for cells in `.table-condensed`.
-$table-condensed-cell-padding:  5px !default;
-
-//** Default background color used for all tables.
-$table-bg:                      transparent !default;
-//** Background color used for `.table-striped`.
-$table-bg-accent:               #f9f9f9 !default;
-//** Background color used for `.table-hover`.
-$table-bg-hover:                #f5f5f5 !default;
-$table-bg-active:               $table-bg-hover !default;
-
-//** Border color for table and cell borders.
-$table-border-color:            #ddd !default;
-
-
-//== Buttons
-//
-//## For each of Bootstrap's buttons, define text, background and border color.
-
-$btn-font-weight:                normal !default;
-
-$btn-default-color:              #333 !default;
-$btn-default-bg:                 #fff !default;
-$btn-default-border:             #ccc !default;
-
-$btn-primary-color:              #fff !default;
-$btn-primary-bg:                 $brand-primary !default;
-$btn-primary-border:             darken($btn-primary-bg, 5%) !default;
-
-$btn-success-color:              #fff !default;
-$btn-success-bg:                 $brand-success !default;
-$btn-success-border:             darken($btn-success-bg, 5%) !default;
-
-$btn-info-color:                 #fff !default;
-$btn-info-bg:                    $brand-info !default;
-$btn-info-border:                darken($btn-info-bg, 5%) !default;
-
-$btn-warning-color:              #fff !default;
-$btn-warning-bg:                 $brand-warning !default;
-$btn-warning-border:             darken($btn-warning-bg, 5%) !default;
-
-$btn-danger-color:               #fff !default;
-$btn-danger-bg:                  $brand-danger !default;
-$btn-danger-border:              darken($btn-danger-bg, 5%) !default;
-
-$btn-link-disabled-color:        $gray-light !default;
-
-
-//== Forms
-//
-//##
-
-//** `<input>` background color
-$input-bg:                       #fff !default;
-//** `<input disabled>` background color
-$input-bg-disabled:              $gray-lighter !default;
-
-//** Text color for `<input>`s
-$input-color:                    $gray !default;
-//** `<input>` border color
-$input-border:                   #ccc !default;
-
-// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
-//** Default `.form-control` border radius
-// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
-$input-border-radius:            $border-radius-base !default;
-//** Large `.form-control` border radius
-$input-border-radius-large:      $border-radius-large !default;
-//** Small `.form-control` border radius
-$input-border-radius-small:      $border-radius-small !default;
-
-//** Border color for inputs on focus
-$input-border-focus:             #66afe9 !default;
-
-//** Placeholder text color
-$input-color-placeholder:        #999 !default;
-
-//** Default `.form-control` height
-$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
-//** Large `.form-control` height
-$input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
-//** Small `.form-control` height
-$input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
-
-//** `.form-group` margin
-$form-group-margin-bottom:       15px !default;
-
-$legend-color:                   $gray-dark !default;
-$legend-border-color:            #e5e5e5 !default;
-
-//** Background color for textual input addons
-$input-group-addon-bg:           $gray-lighter !default;
-//** Border color for textual input addons
-$input-group-addon-border-color: $input-border !default;
-
-//** Disabled cursor for form controls and buttons.
-$cursor-disabled:                not-allowed !default;
-
-
-//== Dropdowns
-//
-//## Dropdown menu container and contents.
-
-//** Background for the dropdown menu.
-$dropdown-bg:                    #fff !default;
-//** Dropdown menu `border-color`.
-$dropdown-border:                rgba(0,0,0,.15) !default;
-//** Dropdown menu `border-color` **for IE8**.
-$dropdown-fallback-border:       #ccc !default;
-//** Divider color for between dropdown items.
-$dropdown-divider-bg:            #e5e5e5 !default;
-
-//** Dropdown link text color.
-$dropdown-link-color:            $gray-dark !default;
-//** Hover color for dropdown links.
-$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;
-//** Hover background for dropdown links.
-$dropdown-link-hover-bg:         #f5f5f5 !default;
-
-//** Active dropdown menu item text color.
-$dropdown-link-active-color:     $component-active-color !default;
-//** Active dropdown menu item background color.
-$dropdown-link-active-bg:        $component-active-bg !default;
-
-//** Disabled dropdown menu item background color.
-$dropdown-link-disabled-color:   $gray-light !default;
-
-//** Text color for headers within dropdown menus.
-$dropdown-header-color:          $gray-light !default;
-
-//** Deprecated `$dropdown-caret-color` as of v3.1.0
-$dropdown-caret-color:           #000 !default;
-
-
-//-- Z-index master list
-//
-// Warning: Avoid customizing these values. They're used for a bird's eye view
-// of components dependent on the z-axis and are designed to all work together.
-//
-// Note: These variables are not generated into the Customizer.
-
-$zindex-navbar:            1000 !default;
-$zindex-dropdown:          1000 !default;
-$zindex-popover:           1060 !default;
-$zindex-tooltip:           1070 !default;
-$zindex-navbar-fixed:      1030 !default;
-$zindex-modal-background:  1040 !default;
-$zindex-modal:             1050 !default;
-
-
-//== Media queries breakpoints
-//
-//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
-
-// Extra small screen / phone
-//** Deprecated `$screen-xs` as of v3.0.1
-$screen-xs:                  480px !default;
-//** Deprecated `$screen-xs-min` as of v3.2.0
-$screen-xs-min:              $screen-xs !default;
-//** Deprecated `$screen-phone` as of v3.0.1
-$screen-phone:               $screen-xs-min !default;
-
-// Small screen / tablet
-//** Deprecated `$screen-sm` as of v3.0.1
-$screen-sm:                  768px !default;
-$screen-sm-min:              $screen-sm !default;
-//** Deprecated `$screen-tablet` as of v3.0.1
-$screen-tablet:              $screen-sm-min !default;
-
-// Medium screen / desktop
-//** Deprecated `$screen-md` as of v3.0.1
-$screen-md:                  992px !default;
-$screen-md-min:              $screen-md !default;
-//** Deprecated `$screen-desktop` as of v3.0.1
-$screen-desktop:             $screen-md-min !default;
-
-// Large screen / wide desktop
-//** Deprecated `$screen-lg` as of v3.0.1
-$screen-lg:                  1200px !default;
-$screen-lg-min:              $screen-lg !default;
-//** Deprecated `$screen-lg-desktop` as of v3.0.1
-$screen-lg-desktop:          $screen-lg-min !default;
-
-// So media queries don't overlap when required, provide a maximum
-$screen-xs-max:              ($screen-sm-min - 1) !default;
-$screen-sm-max:              ($screen-md-min - 1) !default;
-$screen-md-max:              ($screen-lg-min - 1) !default;
-
-
-//== Grid system
-//
-//## Define your custom responsive grid.
-
-//** Number of columns in the grid.
-$grid-columns:              12 !default;
-//** Padding between columns. Gets divided in half for the left and right.
-$grid-gutter-width:         30px !default;
-// Navbar collapse
-//** Point at which the navbar becomes uncollapsed.
-$grid-float-breakpoint:     $screen-sm-min !default;
-//** Point at which the navbar begins collapsing.
-$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
-
-
-//== Container sizes
-//
-//## Define the maximum width of `.container` for different screen sizes.
-
-// Small screen / tablet
-$container-tablet:             (720px + $grid-gutter-width) !default;
-//** For `$screen-sm-min` and up.
-$container-sm:                 $container-tablet !default;
-
-// Medium screen / desktop
-$container-desktop:            (940px + $grid-gutter-width) !default;
-//** For `$screen-md-min` and up.
-$container-md:                 $container-desktop !default;
-
-// Large screen / wide desktop
-$container-large-desktop:      (1140px + $grid-gutter-width) !default;
-//** For `$screen-lg-min` and up.
-$container-lg:                 $container-large-desktop !default;
-
-
-//== Navbar
-//
-//##
-
-// Basics of a navbar
-$navbar-height:                    50px !default;
-$navbar-margin-bottom:             $line-height-computed !default;
-$navbar-border-radius:             $border-radius-base !default;
-$navbar-padding-horizontal:        floor(($grid-gutter-width / 2)) !default;
-$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2) !default;
-$navbar-collapse-max-height:       340px !default;
-
-$navbar-default-color:             #777 !default;
-$navbar-default-bg:                #f8f8f8 !default;
-$navbar-default-border:            darken($navbar-default-bg, 6.5%) !default;
-
-// Navbar links
-$navbar-default-link-color:                #777 !default;
-$navbar-default-link-hover-color:          #333 !default;
-$navbar-default-link-hover-bg:             transparent !default;
-$navbar-default-link-active-color:         #555 !default;
-$navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%) !default;
-$navbar-default-link-disabled-color:       #ccc !default;
-$navbar-default-link-disabled-bg:          transparent !default;
-
-// Navbar brand label
-$navbar-default-brand-color:               $navbar-default-link-color !default;
-$navbar-default-brand-hover-color:         darken($navbar-default-brand-color, 10%) !default;
-$navbar-default-brand-hover-bg:            transparent !default;
-
-// Navbar toggle
-$navbar-default-toggle-hover-bg:           #ddd !default;
-$navbar-default-toggle-icon-bar-bg:        #888 !default;
-$navbar-default-toggle-border-color:       #ddd !default;
-
-
-// Inverted navbar
-// Reset inverted navbar basics
-$navbar-inverse-color:                      lighten($gray-light, 15%) !default;
-$navbar-inverse-bg:                         #222 !default;
-$navbar-inverse-border:                     darken($navbar-inverse-bg, 10%) !default;
-
-// Inverted navbar links
-$navbar-inverse-link-color:                 lighten($gray-light, 15%) !default;
-$navbar-inverse-link-hover-color:           #fff !default;
-$navbar-inverse-link-hover-bg:              transparent !default;
-$navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color !default;
-$navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%) !default;
-$navbar-inverse-link-disabled-color:        #444 !default;
-$navbar-inverse-link-disabled-bg:           transparent !default;
-
-// Inverted navbar brand label
-$navbar-inverse-brand-color:                $navbar-inverse-link-color !default;
-$navbar-inverse-brand-hover-color:          #fff !default;
-$navbar-inverse-brand-hover-bg:             transparent !default;
-
-// Inverted navbar toggle
-$navbar-inverse-toggle-hover-bg:            #333 !default;
-$navbar-inverse-toggle-icon-bar-bg:         #fff !default;
-$navbar-inverse-toggle-border-color:        #333 !default;
-
-
-//== Navs
-//
-//##
-
-//=== Shared nav styles
-$nav-link-padding:                          10px 15px !default;
-$nav-link-hover-bg:                         $gray-lighter !default;
-
-$nav-disabled-link-color:                   $gray-light !default;
-$nav-disabled-link-hover-color:             $gray-light !default;
-
-//== Tabs
-$nav-tabs-border-color:                     #ddd !default;
-
-$nav-tabs-link-hover-border-color:          $gray-lighter !default;
-
-$nav-tabs-active-link-hover-bg:             $body-bg !default;
-$nav-tabs-active-link-hover-color:          $gray !default;
-$nav-tabs-active-link-hover-border-color:   #ddd !default;
-
-$nav-tabs-justified-link-border-color:            #ddd !default;
-$nav-tabs-justified-active-link-border-color:     $body-bg !default;
-
-//== Pills
-$nav-pills-border-radius:                   $border-radius-base !default;
-$nav-pills-active-link-hover-bg:            $component-active-bg !default;
-$nav-pills-active-link-hover-color:         $component-active-color !default;
-
-
-//== Pagination
-//
-//##
-
-$pagination-color:                     #383838 !default;
-$pagination-bg:                        #f2fafe !default;
-$pagination-border:                    #ddd !default;
-
-$pagination-hover-color:               #009ee2 !default;
-$pagination-hover-bg:                  #f2fafe !default;
-$pagination-hover-border:              #009ee2 !default;
-
-$pagination-active-color:              #009ee2 !default;
-$pagination-active-bg:                 #f2fafe !default;
-$pagination-active-border:             #009ee2 !default;
-
-$pagination-disabled-color:            $gray-light !default;
-$pagination-disabled-bg:               #f2fafe !default;
-$pagination-disabled-border:           #ddd !default;
-
-
-//== Pager
-//
-//##
-
-$pager-bg:                             $pagination-bg !default;
-$pager-border:                         $pagination-border !default;
-$pager-border-radius:                  15px !default;
-
-$pager-hover-bg:                       $pagination-hover-bg !default;
-
-$pager-active-bg:                      $pagination-active-bg !default;
-$pager-active-color:                   $pagination-active-color !default;
-
-$pager-disabled-color:                 $pagination-disabled-color !default;
-
-
-//== Jumbotron
-//
-//##
-
-$jumbotron-padding:              30px !default;
-$jumbotron-color:                inherit !default;
-$jumbotron-bg:                   $gray-lighter !default;
-$jumbotron-heading-color:        inherit !default;
-$jumbotron-font-size:            ceil(($font-size-base * 1.5)) !default;
-
-
-//== Form states and alerts
-//
-//## Define colors for form feedback states and, by default, alerts.
-
-$state-success-text:             #3c763d !default;
-$state-success-bg:               #dff0d8 !default;
-$state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%) !default;
-
-$state-info-text:                #31708f !default;
-$state-info-bg:                  #d9edf7 !default;
-$state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%) !default;
-
-$state-warning-text:             #8a6d3b !default;
-$state-warning-bg:               #fcf8e3 !default;
-$state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%) !default;
-
-$state-danger-text:              #a94442 !default;
-$state-danger-bg:                #f2dede !default;
-$state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%) !default;
-
-
-//== Tooltips
-//
-//##
-
-//** Tooltip max width
-$tooltip-max-width:           200px !default;
-//** Tooltip text color
-$tooltip-color:               #fff !default;
-//** Tooltip background color
-$tooltip-bg:                  #000 !default;
-$tooltip-opacity:             .9 !default;
-
-//** Tooltip arrow width
-$tooltip-arrow-width:         5px !default;
-//** Tooltip arrow color
-$tooltip-arrow-color:         $tooltip-bg !default;
-
-
-//== Popovers
-//
-//##
-
-//** Popover body background color
-$popover-bg:                          #fff !default;
-//** Popover maximum width
-$popover-max-width:                   276px !default;
-//** Popover border color
-$popover-border-color:                rgba(0,0,0,.2) !default;
-//** Popover fallback border color
-$popover-fallback-border-color:       #ccc !default;
-
-//** Popover title background color
-$popover-title-bg:                    darken($popover-bg, 3%) !default;
-
-//** Popover arrow width
-$popover-arrow-width:                 10px !default;
-//** Popover arrow color
-$popover-arrow-color:                 $popover-bg !default;
-
-//** Popover outer arrow width
-$popover-arrow-outer-width:           ($popover-arrow-width + 1) !default;
-//** Popover outer arrow color
-$popover-arrow-outer-color:           fade_in($popover-border-color, 0.05) !default;
-//** Popover outer arrow fallback color
-$popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%) !default;
-
-
-//== Labels
-//
-//##
-
-//** Default label background color
-$label-default-bg:            $gray-light !default;
-//** Primary label background color
-$label-primary-bg:            $brand-primary !default;
-//** Success label background color
-$label-success-bg:            $brand-success !default;
-//** Info label background color
-$label-info-bg:               $brand-info !default;
-//** Warning label background color
-$label-warning-bg:            $brand-warning !default;
-//** Danger label background color
-$label-danger-bg:             $brand-danger !default;
-
-//** Default label text color
-$label-color:                 #fff !default;
-//** Default text color of a linked label
-$label-link-hover-color:      #fff !default;
-
-
-//== Modals
-//
-//##
-
-//** Padding applied to the modal body
-$modal-inner-padding:         15px !default;
-
-//** Padding applied to the modal title
-$modal-title-padding:         15px !default;
-//** Modal title line-height
-$modal-title-line-height:     $line-height-base !default;
-
-//** Background color of modal content area
-$modal-content-bg:                             #fff !default;
-//** Modal content border color
-$modal-content-border-color:                   rgba(0,0,0,.2) !default;
-//** Modal content border color **for IE8**
-$modal-content-fallback-border-color:          #999 !default;
-
-//** Modal backdrop background color
-$modal-backdrop-bg:           #000 !default;
-//** Modal backdrop opacity
-$modal-backdrop-opacity:      .5 !default;
-//** Modal header border color
-$modal-header-border-color:   #e5e5e5 !default;
-//** Modal footer border color
-$modal-footer-border-color:   $modal-header-border-color !default;
-
-$modal-lg:                    900px !default;
-$modal-md:                    600px !default;
-$modal-sm:                    300px !default;
-
-
-//== Alerts
-//
-//## Define alert colors, border radius, and padding.
-
-$alert-padding:               15px !default;
-$alert-border-radius:         $border-radius-base !default;
-$alert-link-font-weight:      bold !default;
-
-$alert-success-bg:            $state-success-bg !default;
-$alert-success-text:          $state-success-text !default;
-$alert-success-border:        $state-success-border !default;
-
-$alert-info-bg:               $state-info-bg !default;
-$alert-info-text:             $state-info-text !default;
-$alert-info-border:           $state-info-border !default;
-
-$alert-warning-bg:            $state-warning-bg !default;
-$alert-warning-text:          $state-warning-text !default;
-$alert-warning-border:        $state-warning-border !default;
-
-$alert-danger-bg:             $state-danger-bg !default;
-$alert-danger-text:           $state-danger-text !default;
-$alert-danger-border:         $state-danger-border !default;
-
-
-//== Progress bars
-//
-//##
-
-//** Background color of the whole progress component
-$progress-bg:                 #f5f5f5 !default;
-//** Progress bar text color
-$progress-bar-color:          #fff !default;
-//** Variable for setting rounded corners on progress bar.
-$progress-border-radius:      $border-radius-base !default;
-
-//** Default progress bar color
-$progress-bar-bg:             $brand-primary !default;
-//** Success progress bar color
-$progress-bar-success-bg:     $brand-success !default;
-//** Warning progress bar color
-$progress-bar-warning-bg:     $brand-warning !default;
-//** Danger progress bar color
-$progress-bar-danger-bg:      $brand-danger !default;
-//** Info progress bar color
-$progress-bar-info-bg:        $brand-info !default;
-
-
-//== List group
-//
-//##
-
-//** Background color on `.list-group-item`
-$list-group-bg:                 #fff !default;
-//** `.list-group-item` border color
-$list-group-border:             #ddd !default;
-//** List group border radius
-$list-group-border-radius:      $border-radius-base !default;
-
-//** Background color of single list items on hover
-$list-group-hover-bg:           #f5f5f5 !default;
-//** Text color of active list items
-$list-group-active-color:       $component-active-color !default;
-//** Background color of active list items
-$list-group-active-bg:          $component-active-bg !default;
-//** Border color of active list elements
-$list-group-active-border:      $list-group-active-bg !default;
-//** Text color for content within active list items
-$list-group-active-text-color:  lighten($list-group-active-bg, 40%) !default;
-
-//** Text color of disabled list items
-$list-group-disabled-color:      $gray-light !default;
-//** Background color of disabled list items
-$list-group-disabled-bg:         $gray-lighter !default;
-//** Text color for content within disabled list items
-$list-group-disabled-text-color: $list-group-disabled-color !default;
-
-$list-group-link-color:         #555 !default;
-$list-group-link-hover-color:   $list-group-link-color !default;
-$list-group-link-heading-color: #333 !default;
-
-
-//== Panels
-//
-//##
-
-$panel-bg:                    #fff !default;
-$panel-body-padding:          15px !default;
-$panel-heading-padding:       10px 15px !default;
-$panel-footer-padding:        $panel-heading-padding !default;
-$panel-border-radius:         $border-radius-base !default;
-
-//** Border color for elements within panels
-$panel-inner-border:          #ddd !default;
-$panel-footer-bg:             #f5f5f5 !default;
-
-$panel-default-text:          $gray-dark !default;
-$panel-default-border:        #ddd !default;
-$panel-default-heading-bg:    #f5f5f5 !default;
-
-$panel-primary-text:          #fff !default;
-$panel-primary-border:        $brand-primary !default;
-$panel-primary-heading-bg:    $brand-primary !default;
-
-$panel-success-text:          $state-success-text !default;
-$panel-success-border:        $state-success-border !default;
-$panel-success-heading-bg:    $state-success-bg !default;
-
-$panel-info-text:             $state-info-text !default;
-$panel-info-border:           $state-info-border !default;
-$panel-info-heading-bg:       $state-info-bg !default;
-
-$panel-warning-text:          $state-warning-text !default;
-$panel-warning-border:        $state-warning-border !default;
-$panel-warning-heading-bg:    $state-warning-bg !default;
-
-$panel-danger-text:           $state-danger-text !default;
-$panel-danger-border:         $state-danger-border !default;
-$panel-danger-heading-bg:     $state-danger-bg !default;
-
-
-//== Thumbnails
-//
-//##
-
-//** Padding around the thumbnail image
-$thumbnail-padding:           4px !default;
-//** Thumbnail background color
-$thumbnail-bg:                $body-bg !default;
-//** Thumbnail border color
-$thumbnail-border:            #ddd !default;
-//** Thumbnail border radius
-$thumbnail-border-radius:     $border-radius-base !default;
-
-//** Custom text color for thumbnail captions
-$thumbnail-caption-color:     $text-color !default;
-//** Padding around the thumbnail caption
-$thumbnail-caption-padding:   9px !default;
-
-
-//== Wells
-//
-//##
-
-$well-bg:                     #f5f5f5 !default;
-$well-border:                 darken($well-bg, 7%) !default;
-
-
-//== Badges
-//
-//##
-
-$badge-color:                 #fff !default;
-//** Linked badge text color on hover
-$badge-link-hover-color:      #fff !default;
-$badge-bg:                    $gray-light !default;
-
-//** Badge text color in active nav link
-$badge-active-color:          $link-color !default;
-//** Badge background color in active nav link
-$badge-active-bg:             #fff !default;
-
-$badge-font-weight:           bold !default;
-$badge-line-height:           1 !default;
-$badge-border-radius:         10px !default;
-
-
-//== Breadcrumbs
-//
-//##
-
-$breadcrumb-padding-vertical:   8px !default;
-$breadcrumb-padding-horizontal: 15px !default;
-//** Breadcrumb background color
-$breadcrumb-bg:                 #f5f5f5 !default;
-//** Breadcrumb text color
-$breadcrumb-color:              #ccc !default;
-//** Text color of current page in the breadcrumb
-$breadcrumb-active-color:       $gray-light !default;
-//** Textual separator for between breadcrumb elements
-$breadcrumb-separator:          "/" !default;
-
-
-//== Carousel
-//
-//##
-
-$carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6) !default;
-
-$carousel-control-color:                      #fff !default;
-$carousel-control-width:                      15% !default;
-$carousel-control-opacity:                    .5 !default;
-$carousel-control-font-size:                  20px !default;
-
-$carousel-indicator-active-bg:                #fff !default;
-$carousel-indicator-border-color:             #fff !default;
-
-$carousel-caption-color:                      #fff !default;
-
-
-//== Close
-//
-//##
-
-$close-font-weight:           bold !default;
-$close-color:                 #000 !default;
-$close-text-shadow:           0 1px 0 #fff !default;
-
-
-//== Code
-//
-//##
-
-$code-color:                  #c7254e !default;
-$code-bg:                     #f9f2f4 !default;
-
-$kbd-color:                   #fff !default;
-$kbd-bg:                      #333 !default;
-
-$pre-bg:                      #f5f5f5 !default;
-$pre-color:                   $gray-dark !default;
-$pre-border-color:            #ccc !default;
-$pre-scrollable-max-height:   340px !default;
-
-
-//== Type
-//
-//##
-
-//** Horizontal offset for forms and lists.
-$component-offset-horizontal: 180px !default;
-//** Text muted color
-$text-muted:                  $gray-light !default;
-//** Abbreviations and acronyms border color
-$abbr-border-color:           $gray-light !default;
-//** Headings small color
-$headings-small-color:        $gray-light !default;
-//** Blockquote small color
-$blockquote-small-color:      $gray-light !default;
-//** Blockquote font size
-$blockquote-font-size:        ($font-size-base * 1.25) !default;
-//** Blockquote border color
-$blockquote-border-color:     $gray-lighter !default;
-//** Page header border color
-$page-header-border-color:    $gray-lighter !default;
-//** Width of horizontal description list titles
-$dl-horizontal-offset:        $component-offset-horizontal !default;
-//** Horizontal line color.
-$hr-border:                   $gray-lighter !default;
+$bootstrap-sass-asset-helper: false !default;
+//
+// Variables
+// --------------------------------------------------
+
+
+//== Colors
+//
+//## Gray and brand colors for use across Bootstrap.
+
+$gray-base:              #000 !default;
+$gray-darker:            lighten($gray-base, 13.5%) !default; // #222
+$gray-dark:              lighten($gray-base, 20%) !default;   // #333
+$gray:                   lighten($gray-base, 33.5%) !default; // #555
+$gray-light:             lighten($gray-base, 46.7%) !default; // #777
+$gray-lighter:           lighten($gray-base, 93.5%) !default; // #eee
+
+$brand-primary:         darken(#428bca, 6.5%) !default; // #337ab7
+$brand-success:         #5cb85c !default;
+$brand-info:            #5bc0de !default;
+$brand-warning:         #f0ad4e !default;
+$brand-danger:          #d9534f !default;
+
+
+//== Scaffolding
+//
+//## Settings for some of the most global styles.
+
+//** Background color for `<body>`.
+$body-bg:               #fff !default;
+//** Global text color on `<body>`.
+$text-color:            $gray-dark !default;
+
+//** Global textual link color.
+$link-color:            $brand-primary !default;
+//** Link hover color set via `darken()` function.
+$link-hover-color:      darken($link-color, 15%) !default;
+//** Link hover decoration.
+$link-hover-decoration: underline !default;
+
+
+//== Typography
+//
+//## Font, line-height, and color for body text, headings, and more.
+
+$font-family-sans-serif:  "Helvetica Neue", Helvetica, Arial, sans-serif !default;
+$font-family-serif:       Georgia, "Times New Roman", Times, serif !default;
+//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
+$font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace !default;
+$font-family-base:        $font-family-sans-serif !default;
+
+$font-size-base:          14px !default;
+$font-size-large:         ceil(($font-size-base * 1.25)) !default; // ~18px
+$font-size-small:         ceil(($font-size-base * 0.85)) !default; // ~12px
+
+$font-size-h1:            floor(($font-size-base * 2.6)) !default; // ~36px
+$font-size-h2:            floor(($font-size-base * 2.15)) !default; // ~30px
+$font-size-h3:            ceil(($font-size-base * 1.7)) !default; // ~24px
+$font-size-h4:            ceil(($font-size-base * 1.25)) !default; // ~18px
+$font-size-h5:            $font-size-base !default;
+$font-size-h6:            ceil(($font-size-base * 0.85)) !default; // ~12px
+
+//** Unit-less `line-height` for use in components like buttons.
+$line-height-base:        1.428571429 !default; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+$line-height-computed:    floor(($font-size-base * $line-height-base)) !default; // ~20px
+
+//** By default, this inherits from the `<body>`.
+$headings-font-family:    inherit !default;
+$headings-font-weight:    500 !default;
+$headings-line-height:    1.1 !default;
+$headings-color:          inherit !default;
+
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//** Load fonts from this directory.
+
+// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.
+// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.
+$icon-font-path: if($bootstrap-sass-asset-helper, "bootstrap/", "bootstrap/") !default;
+
+//** File name for all font files.
+$icon-font-name:          "glyphicons-halflings-regular" !default;
+//** Element ID within SVG icon file.
+$icon-font-svg-id:        "glyphicons_halflingsregular" !default;
+
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+$padding-base-vertical:     6px !default;
+$padding-base-horizontal:   12px !default;
+
+$padding-large-vertical:    10px !default;
+$padding-large-horizontal:  16px !default;
+
+$padding-small-vertical:    5px !default;
+$padding-small-horizontal:  10px !default;
+
+$padding-xs-vertical:       1px !default;
+$padding-xs-horizontal:     5px !default;
+
+$line-height-large:         1.3333333 !default; // extra decimals for Win 8.1 Chrome
+$line-height-small:         1.5 !default;
+
+$border-radius-base:        4px !default;
+$border-radius-large:       6px !default;
+$border-radius-small:       3px !default;
+
+//** Global color for active items (e.g., navs or dropdowns).
+$component-active-color:    #fff !default;
+//** Global background color for active items (e.g., navs or dropdowns).
+$component-active-bg:       $brand-primary !default;
+
+//** Width of the `border` for generating carets that indicator dropdowns.
+$caret-width-base:          4px !default;
+//** Carets increase slightly in size for larger components.
+$caret-width-large:         5px !default;
+
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for `<th>`s and `<td>`s.
+$table-cell-padding:            8px !default;
+//** Padding for cells in `.table-condensed`.
+$table-condensed-cell-padding:  5px !default;
+
+//** Default background color used for all tables.
+$table-bg:                      transparent !default;
+//** Background color used for `.table-striped`.
+$table-bg-accent:               #f9f9f9 !default;
+//** Background color used for `.table-hover`.
+$table-bg-hover:                #f5f5f5 !default;
+$table-bg-active:               $table-bg-hover !default;
+
+//** Border color for table and cell borders.
+$table-border-color:            #ddd !default;
+
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+
+$btn-font-weight:                normal !default;
+
+$btn-default-color:              #333 !default;
+$btn-default-bg:                 #fff !default;
+$btn-default-border:             #ccc !default;
+
+$btn-primary-color:              #fff !default;
+$btn-primary-bg:                 $brand-primary !default;
+$btn-primary-border:             darken($btn-primary-bg, 5%) !default;
+
+$btn-success-color:              #fff !default;
+$btn-success-bg:                 $brand-success !default;
+$btn-success-border:             darken($btn-success-bg, 5%) !default;
+
+$btn-info-color:                 #fff !default;
+$btn-info-bg:                    $brand-info !default;
+$btn-info-border:                darken($btn-info-bg, 5%) !default;
+
+$btn-warning-color:              #fff !default;
+$btn-warning-bg:                 $brand-warning !default;
+$btn-warning-border:             darken($btn-warning-bg, 5%) !default;
+
+$btn-danger-color:               #fff !default;
+$btn-danger-bg:                  $brand-danger !default;
+$btn-danger-border:              darken($btn-danger-bg, 5%) !default;
+
+$btn-link-disabled-color:        $gray-light !default;
+
+
+//== Forms
+//
+//##
+
+//** `<input>` background color
+$input-bg:                       #fff !default;
+//** `<input disabled>` background color
+$input-bg-disabled:              $gray-lighter !default;
+
+//** Text color for `<input>`s
+$input-color:                    $gray !default;
+//** `<input>` border color
+$input-border:                   #ccc !default;
+
+// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4
+//** Default `.form-control` border radius
+// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.
+$input-border-radius:            $border-radius-base !default;
+//** Large `.form-control` border radius
+$input-border-radius-large:      $border-radius-large !default;
+//** Small `.form-control` border radius
+$input-border-radius-small:      $border-radius-small !default;
+
+//** Border color for inputs on focus
+$input-border-focus:             #66afe9 !default;
+
+//** Placeholder text color
+$input-color-placeholder:        #999 !default;
+
+//** Default `.form-control` height
+$input-height-base:              ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;
+//** Large `.form-control` height
+$input-height-large:             (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;
+//** Small `.form-control` height
+$input-height-small:             (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;
+
+//** `.form-group` margin
+$form-group-margin-bottom:       15px !default;
+
+$legend-color:                   $gray-dark !default;
+$legend-border-color:            #e5e5e5 !default;
+
+//** Background color for textual input addons
+$input-group-addon-bg:           $gray-lighter !default;
+//** Border color for textual input addons
+$input-group-addon-border-color: $input-border !default;
+
+//** Disabled cursor for form controls and buttons.
+$cursor-disabled:                not-allowed !default;
+
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//** Background for the dropdown menu.
+$dropdown-bg:                    #fff !default;
+//** Dropdown menu `border-color`.
+$dropdown-border:                rgba(0,0,0,.15) !default;
+//** Dropdown menu `border-color` **for IE8**.
+$dropdown-fallback-border:       #ccc !default;
+//** Divider color for between dropdown items.
+$dropdown-divider-bg:            #e5e5e5 !default;
+
+//** Dropdown link text color.
+$dropdown-link-color:            $gray-dark !default;
+//** Hover color for dropdown links.
+$dropdown-link-hover-color:      darken($gray-dark, 5%) !default;
+//** Hover background for dropdown links.
+$dropdown-link-hover-bg:         #f5f5f5 !default;
+
+//** Active dropdown menu item text color.
+$dropdown-link-active-color:     $component-active-color !default;
+//** Active dropdown menu item background color.
+$dropdown-link-active-bg:        $component-active-bg !default;
+
+//** Disabled dropdown menu item background color.
+$dropdown-link-disabled-color:   $gray-light !default;
+
+//** Text color for headers within dropdown menus.
+$dropdown-header-color:          $gray-light !default;
+
+//** Deprecated `$dropdown-caret-color` as of v3.1.0
+$dropdown-caret-color:           #000 !default;
+
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+$zindex-navbar:            1000 !default;
+$zindex-dropdown:          1000 !default;
+$zindex-popover:           1060 !default;
+$zindex-tooltip:           1070 !default;
+$zindex-navbar-fixed:      1030 !default;
+$zindex-modal-background:  1040 !default;
+$zindex-modal:             1050 !default;
+
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+//** Deprecated `$screen-xs` as of v3.0.1
+$screen-xs:                  480px !default;
+//** Deprecated `$screen-xs-min` as of v3.2.0
+$screen-xs-min:              $screen-xs !default;
+//** Deprecated `$screen-phone` as of v3.0.1
+$screen-phone:               $screen-xs-min !default;
+
+// Small screen / tablet
+//** Deprecated `$screen-sm` as of v3.0.1
+$screen-sm:                  768px !default;
+$screen-sm-min:              $screen-sm !default;
+//** Deprecated `$screen-tablet` as of v3.0.1
+$screen-tablet:              $screen-sm-min !default;
+
+// Medium screen / desktop
+//** Deprecated `$screen-md` as of v3.0.1
+$screen-md:                  992px !default;
+$screen-md-min:              $screen-md !default;
+//** Deprecated `$screen-desktop` as of v3.0.1
+$screen-desktop:             $screen-md-min !default;
+
+// Large screen / wide desktop
+//** Deprecated `$screen-lg` as of v3.0.1
+$screen-lg:                  1200px !default;
+$screen-lg-min:              $screen-lg !default;
+//** Deprecated `$screen-lg-desktop` as of v3.0.1
+$screen-lg-desktop:          $screen-lg-min !default;
+
+// So media queries don't overlap when required, provide a maximum
+$screen-xs-max:              ($screen-sm-min - 1) !default;
+$screen-sm-max:              ($screen-md-min - 1) !default;
+$screen-md-max:              ($screen-lg-min - 1) !default;
+
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//** Number of columns in the grid.
+$grid-columns:              12 !default;
+//** Padding between columns. Gets divided in half for the left and right.
+$grid-gutter-width:         30px !default;
+// Navbar collapse
+//** Point at which the navbar becomes uncollapsed.
+$grid-float-breakpoint:     $screen-sm-min !default;
+//** Point at which the navbar begins collapsing.
+$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;
+
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+$container-tablet:             (720px + $grid-gutter-width) !default;
+//** For `$screen-sm-min` and up.
+$container-sm:                 $container-tablet !default;
+
+// Medium screen / desktop
+$container-desktop:            (940px + $grid-gutter-width) !default;
+//** For `$screen-md-min` and up.
+$container-md:                 $container-desktop !default;
+
+// Large screen / wide desktop
+$container-large-desktop:      (1140px + $grid-gutter-width) !default;
+//** For `$screen-lg-min` and up.
+$container-lg:                 $container-large-desktop !default;
+
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+$navbar-height:                    50px !default;
+$navbar-margin-bottom:             $line-height-computed !default;
+$navbar-border-radius:             $border-radius-base !default;
+$navbar-padding-horizontal:        floor(($grid-gutter-width / 2)) !default;
+$navbar-padding-vertical:          (($navbar-height - $line-height-computed) / 2) !default;
+$navbar-collapse-max-height:       340px !default;
+
+$navbar-default-color:             #777 !default;
+$navbar-default-bg:                #f8f8f8 !default;
+$navbar-default-border:            darken($navbar-default-bg, 6.5%) !default;
+
+// Navbar links
+$navbar-default-link-color:                #777 !default;
+$navbar-default-link-hover-color:          #333 !default;
+$navbar-default-link-hover-bg:             transparent !default;
+$navbar-default-link-active-color:         #555 !default;
+$navbar-default-link-active-bg:            darken($navbar-default-bg, 6.5%) !default;
+$navbar-default-link-disabled-color:       #ccc !default;
+$navbar-default-link-disabled-bg:          transparent !default;
+
+// Navbar brand label
+$navbar-default-brand-color:               $navbar-default-link-color !default;
+$navbar-default-brand-hover-color:         darken($navbar-default-brand-color, 10%) !default;
+$navbar-default-brand-hover-bg:            transparent !default;
+
+// Navbar toggle
+$navbar-default-toggle-hover-bg:           #ddd !default;
+$navbar-default-toggle-icon-bar-bg:        #888 !default;
+$navbar-default-toggle-border-color:       #ddd !default;
+
+
+// Inverted navbar
+// Reset inverted navbar basics
+$navbar-inverse-color:                      lighten($gray-light, 15%) !default;
+$navbar-inverse-bg:                         #222 !default;
+$navbar-inverse-border:                     darken($navbar-inverse-bg, 10%) !default;
+
+// Inverted navbar links
+$navbar-inverse-link-color:                 lighten($gray-light, 15%) !default;
+$navbar-inverse-link-hover-color:           #fff !default;
+$navbar-inverse-link-hover-bg:              transparent !default;
+$navbar-inverse-link-active-color:          $navbar-inverse-link-hover-color !default;
+$navbar-inverse-link-active-bg:             darken($navbar-inverse-bg, 10%) !default;
+$navbar-inverse-link-disabled-color:        #444 !default;
+$navbar-inverse-link-disabled-bg:           transparent !default;
+
+// Inverted navbar brand label
+$navbar-inverse-brand-color:                $navbar-inverse-link-color !default;
+$navbar-inverse-brand-hover-color:          #fff !default;
+$navbar-inverse-brand-hover-bg:             transparent !default;
+
+// Inverted navbar toggle
+$navbar-inverse-toggle-hover-bg:            #333 !default;
+$navbar-inverse-toggle-icon-bar-bg:         #fff !default;
+$navbar-inverse-toggle-border-color:        #333 !default;
+
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+$nav-link-padding:                          10px 15px !default;
+$nav-link-hover-bg:                         $gray-lighter !default;
+
+$nav-disabled-link-color:                   $gray-light !default;
+$nav-disabled-link-hover-color:             $gray-light !default;
+
+//== Tabs
+$nav-tabs-border-color:                     #ddd !default;
+
+$nav-tabs-link-hover-border-color:          $gray-lighter !default;
+
+$nav-tabs-active-link-hover-bg:             $body-bg !default;
+$nav-tabs-active-link-hover-color:          $gray !default;
+$nav-tabs-active-link-hover-border-color:   #ddd !default;
+
+$nav-tabs-justified-link-border-color:            #ddd !default;
+$nav-tabs-justified-active-link-border-color:     $body-bg !default;
+
+//== Pills
+$nav-pills-border-radius:                   $border-radius-base !default;
+$nav-pills-active-link-hover-bg:            $component-active-bg !default;
+$nav-pills-active-link-hover-color:         $component-active-color !default;
+
+
+//== Pagination
+//
+//##
+
+$pagination-color:                     #383838 !default;
+$pagination-bg:                        #f2fafe !default;
+$pagination-border:                    #ddd !default;
+
+$pagination-hover-color:               #009ee2 !default;
+$pagination-hover-bg:                  #f2fafe !default;
+$pagination-hover-border:              #009ee2 !default;
+
+$pagination-active-color:              #009ee2 !default;
+$pagination-active-bg:                 #f2fafe !default;
+$pagination-active-border:             #009ee2 !default;
+
+$pagination-disabled-color:            $gray-light !default;
+$pagination-disabled-bg:               #f2fafe !default;
+$pagination-disabled-border:           #ddd !default;
+
+
+//== Pager
+//
+//##
+
+$pager-bg:                             $pagination-bg !default;
+$pager-border:                         $pagination-border !default;
+$pager-border-radius:                  15px !default;
+
+$pager-hover-bg:                       $pagination-hover-bg !default;
+
+$pager-active-bg:                      $pagination-active-bg !default;
+$pager-active-color:                   $pagination-active-color !default;
+
+$pager-disabled-color:                 $pagination-disabled-color !default;
+
+
+//== Jumbotron
+//
+//##
+
+$jumbotron-padding:              30px !default;
+$jumbotron-color:                inherit !default;
+$jumbotron-bg:                   $gray-lighter !default;
+$jumbotron-heading-color:        inherit !default;
+$jumbotron-font-size:            ceil(($font-size-base * 1.5)) !default;
+
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+$state-success-text:             #3c763d !default;
+$state-success-bg:               #dff0d8 !default;
+$state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%) !default;
+
+$state-info-text:                #31708f !default;
+$state-info-bg:                  #d9edf7 !default;
+$state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%) !default;
+
+$state-warning-text:             #8a6d3b !default;
+$state-warning-bg:               #fcf8e3 !default;
+$state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%) !default;
+
+$state-danger-text:              #a94442 !default;
+$state-danger-bg:                #f2dede !default;
+$state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%) !default;
+
+
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
+$tooltip-max-width:           200px !default;
+//** Tooltip text color
+$tooltip-color:               #fff !default;
+//** Tooltip background color
+$tooltip-bg:                  #000 !default;
+$tooltip-opacity:             .9 !default;
+
+//** Tooltip arrow width
+$tooltip-arrow-width:         5px !default;
+//** Tooltip arrow color
+$tooltip-arrow-color:         $tooltip-bg !default;
+
+
+//== Popovers
+//
+//##
+
+//** Popover body background color
+$popover-bg:                          #fff !default;
+//** Popover maximum width
+$popover-max-width:                   276px !default;
+//** Popover border color
+$popover-border-color:                rgba(0,0,0,.2) !default;
+//** Popover fallback border color
+$popover-fallback-border-color:       #ccc !default;
+
+//** Popover title background color
+$popover-title-bg:                    darken($popover-bg, 3%) !default;
+
+//** Popover arrow width
+$popover-arrow-width:                 10px !default;
+//** Popover arrow color
+$popover-arrow-color:                 $popover-bg !default;
+
+//** Popover outer arrow width
+$popover-arrow-outer-width:           ($popover-arrow-width + 1) !default;
+//** Popover outer arrow color
+$popover-arrow-outer-color:           fade_in($popover-border-color, 0.05) !default;
+//** Popover outer arrow fallback color
+$popover-arrow-outer-fallback-color:  darken($popover-fallback-border-color, 20%) !default;
+
+
+//== Labels
+//
+//##
+
+//** Default label background color
+$label-default-bg:            $gray-light !default;
+//** Primary label background color
+$label-primary-bg:            $brand-primary !default;
+//** Success label background color
+$label-success-bg:            $brand-success !default;
+//** Info label background color
+$label-info-bg:               $brand-info !default;
+//** Warning label background color
+$label-warning-bg:            $brand-warning !default;
+//** Danger label background color
+$label-danger-bg:             $brand-danger !default;
+
+//** Default label text color
+$label-color:                 #fff !default;
+//** Default text color of a linked label
+$label-link-hover-color:      #fff !default;
+
+
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
+$modal-inner-padding:         15px !default;
+
+//** Padding applied to the modal title
+$modal-title-padding:         15px !default;
+//** Modal title line-height
+$modal-title-line-height:     $line-height-base !default;
+
+//** Background color of modal content area
+$modal-content-bg:                             #fff !default;
+//** Modal content border color
+$modal-content-border-color:                   rgba(0,0,0,.2) !default;
+//** Modal content border color **for IE8**
+$modal-content-fallback-border-color:          #999 !default;
+
+//** Modal backdrop background color
+$modal-backdrop-bg:           #000 !default;
+//** Modal backdrop opacity
+$modal-backdrop-opacity:      .5 !default;
+//** Modal header border color
+$modal-header-border-color:   #e5e5e5 !default;
+//** Modal footer border color
+$modal-footer-border-color:   $modal-header-border-color !default;
+
+$modal-lg:                    900px !default;
+$modal-md:                    600px !default;
+$modal-sm:                    300px !default;
+
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+$alert-padding:               15px !default;
+$alert-border-radius:         $border-radius-base !default;
+$alert-link-font-weight:      bold !default;
+
+$alert-success-bg:            $state-success-bg !default;
+$alert-success-text:          $state-success-text !default;
+$alert-success-border:        $state-success-border !default;
+
+$alert-info-bg:               $state-info-bg !default;
+$alert-info-text:             $state-info-text !default;
+$alert-info-border:           $state-info-border !default;
+
+$alert-warning-bg:            $state-warning-bg !default;
+$alert-warning-text:          $state-warning-text !default;
+$alert-warning-border:        $state-warning-border !default;
+
+$alert-danger-bg:             $state-danger-bg !default;
+$alert-danger-text:           $state-danger-text !default;
+$alert-danger-border:         $state-danger-border !default;
+
+
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
+$progress-bg:                 #f5f5f5 !default;
+//** Progress bar text color
+$progress-bar-color:          #fff !default;
+//** Variable for setting rounded corners on progress bar.
+$progress-border-radius:      $border-radius-base !default;
+
+//** Default progress bar color
+$progress-bar-bg:             $brand-primary !default;
+//** Success progress bar color
+$progress-bar-success-bg:     $brand-success !default;
+//** Warning progress bar color
+$progress-bar-warning-bg:     $brand-warning !default;
+//** Danger progress bar color
+$progress-bar-danger-bg:      $brand-danger !default;
+//** Info progress bar color
+$progress-bar-info-bg:        $brand-info !default;
+
+
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+$list-group-bg:                 #fff !default;
+//** `.list-group-item` border color
+$list-group-border:             #ddd !default;
+//** List group border radius
+$list-group-border-radius:      $border-radius-base !default;
+
+//** Background color of single list items on hover
+$list-group-hover-bg:           #f5f5f5 !default;
+//** Text color of active list items
+$list-group-active-color:       $component-active-color !default;
+//** Background color of active list items
+$list-group-active-bg:          $component-active-bg !default;
+//** Border color of active list elements
+$list-group-active-border:      $list-group-active-bg !default;
+//** Text color for content within active list items
+$list-group-active-text-color:  lighten($list-group-active-bg, 40%) !default;
+
+//** Text color of disabled list items
+$list-group-disabled-color:      $gray-light !default;
+//** Background color of disabled list items
+$list-group-disabled-bg:         $gray-lighter !default;
+//** Text color for content within disabled list items
+$list-group-disabled-text-color: $list-group-disabled-color !default;
+
+$list-group-link-color:         #555 !default;
+$list-group-link-hover-color:   $list-group-link-color !default;
+$list-group-link-heading-color: #333 !default;
+
+
+//== Panels
+//
+//##
+
+$panel-bg:                    #fff !default;
+$panel-body-padding:          15px !default;
+$panel-heading-padding:       10px 15px !default;
+$panel-footer-padding:        $panel-heading-padding !default;
+$panel-border-radius:         $border-radius-base !default;
+
+//** Border color for elements within panels
+$panel-inner-border:          #ddd !default;
+$panel-footer-bg:             #f5f5f5 !default;
+
+$panel-default-text:          $gray-dark !default;
+$panel-default-border:        #ddd !default;
+$panel-default-heading-bg:    #f5f5f5 !default;
+
+$panel-primary-text:          #fff !default;
+$panel-primary-border:        $brand-primary !default;
+$panel-primary-heading-bg:    $brand-primary !default;
+
+$panel-success-text:          $state-success-text !default;
+$panel-success-border:        $state-success-border !default;
+$panel-success-heading-bg:    $state-success-bg !default;
+
+$panel-info-text:             $state-info-text !default;
+$panel-info-border:           $state-info-border !default;
+$panel-info-heading-bg:       $state-info-bg !default;
+
+$panel-warning-text:          $state-warning-text !default;
+$panel-warning-border:        $state-warning-border !default;
+$panel-warning-heading-bg:    $state-warning-bg !default;
+
+$panel-danger-text:           $state-danger-text !default;
+$panel-danger-border:         $state-danger-border !default;
+$panel-danger-heading-bg:     $state-danger-bg !default;
+
+
+//== Thumbnails
+//
+//##
+
+//** Padding around the thumbnail image
+$thumbnail-padding:           4px !default;
+//** Thumbnail background color
+$thumbnail-bg:                $body-bg !default;
+//** Thumbnail border color
+$thumbnail-border:            #ddd !default;
+//** Thumbnail border radius
+$thumbnail-border-radius:     $border-radius-base !default;
+
+//** Custom text color for thumbnail captions
+$thumbnail-caption-color:     $text-color !default;
+//** Padding around the thumbnail caption
+$thumbnail-caption-padding:   9px !default;
+
+
+//== Wells
+//
+//##
+
+$well-bg:                     #f5f5f5 !default;
+$well-border:                 darken($well-bg, 7%) !default;
+
+
+//== Badges
+//
+//##
+
+$badge-color:                 #fff !default;
+//** Linked badge text color on hover
+$badge-link-hover-color:      #fff !default;
+$badge-bg:                    $gray-light !default;
+
+//** Badge text color in active nav link
+$badge-active-color:          $link-color !default;
+//** Badge background color in active nav link
+$badge-active-bg:             #fff !default;
+
+$badge-font-weight:           bold !default;
+$badge-line-height:           1 !default;
+$badge-border-radius:         10px !default;
+
+
+//== Breadcrumbs
+//
+//##
+
+$breadcrumb-padding-vertical:   8px !default;
+$breadcrumb-padding-horizontal: 15px !default;
+//** Breadcrumb background color
+$breadcrumb-bg:                 #f5f5f5 !default;
+//** Breadcrumb text color
+$breadcrumb-color:              #ccc !default;
+//** Text color of current page in the breadcrumb
+$breadcrumb-active-color:       $gray-light !default;
+//** Textual separator for between breadcrumb elements
+$breadcrumb-separator:          "/" !default;
+
+
+//== Carousel
+//
+//##
+
+$carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6) !default;
+
+$carousel-control-color:                      #fff !default;
+$carousel-control-width:                      15% !default;
+$carousel-control-opacity:                    .5 !default;
+$carousel-control-font-size:                  20px !default;
+
+$carousel-indicator-active-bg:                #fff !default;
+$carousel-indicator-border-color:             #fff !default;
+
+$carousel-caption-color:                      #fff !default;
+
+
+//== Close
+//
+//##
+
+$close-font-weight:           bold !default;
+$close-color:                 #000 !default;
+$close-text-shadow:           0 1px 0 #fff !default;
+
+
+//== Code
+//
+//##
+
+$code-color:                  #c7254e !default;
+$code-bg:                     #f9f2f4 !default;
+
+$kbd-color:                   #fff !default;
+$kbd-bg:                      #333 !default;
+
+$pre-bg:                      #f5f5f5 !default;
+$pre-color:                   $gray-dark !default;
+$pre-border-color:            #ccc !default;
+$pre-scrollable-max-height:   340px !default;
+
+
+//== Type
+//
+//##
+
+//** Horizontal offset for forms and lists.
+$component-offset-horizontal: 180px !default;
+//** Text muted color
+$text-muted:                  $gray-light !default;
+//** Abbreviations and acronyms border color
+$abbr-border-color:           $gray-light !default;
+//** Headings small color
+$headings-small-color:        $gray-light !default;
+//** Blockquote small color
+$blockquote-small-color:      $gray-light !default;
+//** Blockquote font size
+$blockquote-font-size:        ($font-size-base * 1.25) !default;
+//** Blockquote border color
+$blockquote-border-color:     $gray-lighter !default;
+//** Page header border color
+$page-header-border-color:    $gray-lighter !default;
+//** Width of horizontal description list titles
+$dl-horizontal-offset:        $component-offset-horizontal !default;
+//** Horizontal line color.
+$hr-border:                   $gray-lighter !default;
diff --git a/ACSmI/Contracting/app/assets/stylesheets/contracter.scss b/ACSmI/Contracting/app/assets/stylesheets/contracter.scss
index 77ee6eb14fb15dbd5b444f4e9fe98c244136fa37..bfed0fbebedf51b8ec4216f2e1131b818b7c720a 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/contracter.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/contracter.scss
@@ -1,13 +1,13 @@
-.contracter-container {
-  text-align: center;
-
-  .contracter-body {
-    display: inline-block;
-    padding: 10px 30px 5px 20px;
-
-    .contract-spinner {
-      color: gray;
-      font-size: 24px;
-    }
-  }
+.contracter-container {
+  text-align: center;
+
+  .contracter-body {
+    display: inline-block;
+    padding: 10px 30px 5px 20px;
+
+    .contract-spinner {
+      color: gray;
+      font-size: 24px;
+    }
+  }
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/contracts.scss b/ACSmI/Contracting/app/assets/stylesheets/contracts.scss
index a2b2b45fb5a26e7b83a2baa087b26012ee66846a..b3f99b46a1b935fb3945c04587e625be7fd26c8f 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/contracts.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/contracts.scss
@@ -1,15 +1,15 @@
-.contracts-content {
-    margin: 20px 60px 0px 60px;
-
-    .delimiter {
-      height: 20px;
-    }
-
-    a:hover {
-      text-decoration: none;
-    }
-
-    .no-records {
-      text-align: center;
-    }
+.contracts-content {
+    margin: 20px 60px 0px 60px;
+
+    .delimiter {
+      height: 20px;
+    }
+
+    a:hover {
+      text-decoration: none;
+    }
+
+    .no-records {
+      text-align: center;
+    }
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/footer.css b/ACSmI/Contracting/app/assets/stylesheets/footer.css
index f69fd26bfc18d43c8ddfff6596a2ab2a91fbd56d..de7112f766089f06ddf1409b67f39414d0e5ce93 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/footer.css
+++ b/ACSmI/Contracting/app/assets/stylesheets/footer.css
@@ -1,34 +1,34 @@
-.footer {
-    position: fixed;
-    left: 0;
-    bottom: 0;
-    height: 35px;
-    width: 100%;
-    margin-top: 10px;
-    background-color: #f8f8f8;
-}
-
-.footer-container-wrapper {
-    background-color: #f8f8f8;
-}
-
-.footer-container {
-    display: flex;
-    flex-direction: row;
-    justify-content: space-between;
-    align-items: center;
-    padding-top: 10px;
-}
-
-
-.footer-text,
-.footer-text > a {
-    color: #777;
-    font-size: 12px;
-}
-
-img.footer-flag {
-    float: right;
-    width: 24px;
-    margin-left: 5px;
+.footer {
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 35px;
+    width: 100%;
+    margin-top: 10px;
+    background-color: #f8f8f8;
+}
+
+.footer-container-wrapper {
+    background-color: #f8f8f8;
+}
+
+.footer-container {
+    display: flex;
+    flex-direction: row;
+    justify-content: space-between;
+    align-items: center;
+    padding-top: 10px;
+}
+
+
+.footer-text,
+.footer-text > a {
+    color: #777;
+    font-size: 12px;
+}
+
+img.footer-flag {
+    float: right;
+    width: 24px;
+    margin-left: 5px;
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/information.scss b/ACSmI/Contracting/app/assets/stylesheets/information.scss
index 2d112735ffd3c51161edf83927a3bb174c88ee86..9b49d00e34bead2920ac5e408b0ef5189215dee0 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/information.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/information.scss
@@ -1,27 +1,27 @@
-.license_info {
-  padding-left: 15px;
-}
-
-.terms-info {
-  padding-left: 15px;
-}
-
-.api_info {
-  padding: 5px 30px;
-
-  td {
-    padding-left: 5px;
-  }
-
-  th {
-    text-align: center;
-    padding-left: 10px;
-    padding-right: 10px;
-  }
-
-  ul {
-    margin-top: 5px;
-    margin-bottom: 5px;
-    padding-left: 20px;
-  }
+.license_info {
+  padding-left: 15px;
+}
+
+.terms-info {
+  padding-left: 15px;
+}
+
+.api_info {
+  padding: 5px 30px;
+
+  td {
+    padding-left: 5px;
+  }
+
+  th {
+    text-align: center;
+    padding-left: 10px;
+    padding-right: 10px;
+  }
+
+  ul {
+    margin-top: 5px;
+    margin-bottom: 5px;
+    padding-left: 20px;
+  }
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/success.scss b/ACSmI/Contracting/app/assets/stylesheets/success.scss
index 8fbf433da76adbb47dd5e87b8cff1f4bf60dece0..3d8ce55bb99f1669d6c23330eb56b3b548803fe2 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/success.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/success.scss
@@ -1,25 +1,25 @@
-.contract-ready-container {
-  text-align: center;
-
-  .contract-ready-body {
-    display: inline-block;
-    border: 1px solid lightgray;
-    border-radius:5px;
-  }
-
-  .contract-ready-ok {
-    color: #2b542c;
-    font-size: 72px;
-    padding-top: 20px;
-
-    h3 {
-      display: inline-block;
-      vertical-align: middle;
-      height: 67px;
-    }
-  }
-
-  .contract-ready-message div {
-    margin-bottom: 0px;
-  }
+.contract-ready-container {
+  text-align: center;
+
+  .contract-ready-body {
+    display: inline-block;
+    border: 1px solid lightgray;
+    border-radius:5px;
+  }
+
+  .contract-ready-ok {
+    color: #2b542c;
+    font-size: 72px;
+    padding-top: 20px;
+
+    h3 {
+      display: inline-block;
+      vertical-align: middle;
+      height: 67px;
+    }
+  }
+
+  .contract-ready-message div {
+    margin-bottom: 0px;
+  }
 }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/assets/stylesheets/welcome.scss b/ACSmI/Contracting/app/assets/stylesheets/welcome.scss
index 22d327ebe9243011aaf2a70bdcbfa0dcf775432e..2fcb4edddbd6435c7a89d688df01fdfb9d628872 100644
--- a/ACSmI/Contracting/app/assets/stylesheets/welcome.scss
+++ b/ACSmI/Contracting/app/assets/stylesheets/welcome.scss
@@ -1,36 +1,36 @@
-.tryout-acsmi {
-  margin-right: 15px;
-  margin-left: 15px;
-
-  a {
-    color: black;
-  }
-
-  a:hover {
-    text-decoration: none;
-    color: black;
-  }
-
-  .panel-heading {
-    border-bottom: 1px solid lightgray;
-  }
-
-  input#resource_id {
-    height: 34px;
-    border-width: 1px;
-    padding-top: 6px;
-    padding-bottom: 6px;
-    margin-bottom: 0px;
-    margin-top: 6px;
-  }
-
-  .panel-body {
-    padding-bottom: 0px;
-  }
-}
-
-
-
-
-
-
+.tryout-acsmi {
+  margin-right: 15px;
+  margin-left: 15px;
+
+  a {
+    color: black;
+  }
+
+  a:hover {
+    text-decoration: none;
+    color: black;
+  }
+
+  .panel-heading {
+    border-bottom: 1px solid lightgray;
+  }
+
+  input#resource_id {
+    height: 34px;
+    border-width: 1px;
+    padding-top: 6px;
+    padding-bottom: 6px;
+    margin-bottom: 0px;
+    margin-top: 6px;
+  }
+
+  .panel-body {
+    padding-bottom: 0px;
+  }
+}
+
+
+
+
+
+
diff --git a/ACSmI/Contracting/app/controllers/application_controller.rb b/ACSmI/Contracting/app/controllers/application_controller.rb
index 4694417f4511ed8c98b87393eaa0d6eefa4b1b22..492d6510fe97673786dab38a8ec3d592d45d1e97 100644
--- a/ACSmI/Contracting/app/controllers/application_controller.rb
+++ b/ACSmI/Contracting/app/controllers/application_controller.rb
@@ -1,32 +1,32 @@
-class ApplicationController < ActionController::Base
-  protect_from_forgery with: :exception
-
-  private
-
-  def render_bad_request
-    render(file: "#{Rails.root}/public/400", status: :bad_request)
-  end
-
-  def render_contracting_set
-    render(file: "#{Rails.root}/public/contracting_set", status: :ok)
-  end
-
-  def check_auth
-    unless current_user
-      flash[:alert] = 'You need to be authorized to access this action'
-      redirect_to '/'
-    end
-  end
-
-  def current_user_session
-    return @current_user_session if defined?(@current_user_session)
-    @current_user_session = UserSession.find
-  end
-
-  def current_user
-    return @current_user if defined?(@current_user)
-    @current_user = current_user_session && current_user_session.user
-  end
-
-  helper_method :current_user_session, :current_user
-end
+class ApplicationController < ActionController::Base
+  protect_from_forgery with: :exception
+
+  private
+
+  def render_bad_request
+    render(file: "#{Rails.root}/public/400", status: :bad_request)
+  end
+
+  def render_contracting_set
+    render(file: "#{Rails.root}/public/contracting_set", status: :ok)
+  end
+
+  def check_auth
+    unless current_user
+      flash[:alert] = 'You need to be authorized to access this action'
+      redirect_to '/'
+    end
+  end
+
+  def current_user_session
+    return @current_user_session if defined?(@current_user_session)
+    @current_user_session = UserSession.find
+  end
+
+  def current_user
+    return @current_user if defined?(@current_user)
+    @current_user = current_user_session && current_user_session.user
+  end
+
+  helper_method :current_user_session, :current_user
+end
diff --git a/ACSmI/Contracting/app/controllers/contracts_controller.rb b/ACSmI/Contracting/app/controllers/contracts_controller.rb
index 2122c9cdb0723525f02a99cbb66035bcdafd83c6..901ce3263127d8397f4bc8c30bd93156b506627f 100644
--- a/ACSmI/Contracting/app/controllers/contracts_controller.rb
+++ b/ACSmI/Contracting/app/controllers/contracts_controller.rb
@@ -1,26 +1,26 @@
-class ContractsController < ApplicationController
-  before_action :check_auth
-  before_action :set_contract, only: [:show, :destroy]
-
-  def index
-    @contracts = @current_user.contracts
-  end
-
-  def show
-  end
-
-  def destroy
-    if @contract.destroy
-      flash[:notice] = 'Contract deleted'
-    else
-      flash[:alert] = 'Couldn\'t delete the contract'
-    end
-    redirect_to contracts_url
-  end
-
-  private
-
-  def set_contract
-    @contract = @current_user.contracts.where(id: params[:id]).first!
-  end
+class ContractsController < ApplicationController
+  before_action :check_auth
+  before_action :set_contract, only: [:show, :destroy]
+
+  def index
+    @contracts = @current_user.contracts
+  end
+
+  def show
+  end
+
+  def destroy
+    if @contract.destroy
+      flash[:notice] = 'Contract deleted'
+    else
+      flash[:alert] = 'Couldn\'t delete the contract'
+    end
+    redirect_to contracts_url
+  end
+
+  private
+
+  def set_contract
+    @contract = @current_user.contracts.where(id: params[:id]).first!
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/api_controller.rb b/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/api_controller.rb
index 0c58ed26f7fc1219746e568a2fc8e388b9d37b4c..b57f9af5beda61a632f7df3c6ee7dad75975f18b 100644
--- a/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/api_controller.rb
+++ b/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/api_controller.rb
@@ -1,5 +1,5 @@
-class Decide::Acsmi::Contracting::Api::V1::ApiController < ActionController::Base
-  def error_response(message, status = 422)
-    render json: { json: { errors: message }, status: status }
-  end
+class Decide::Acsmi::Contracting::Api::V1::ApiController < ActionController::Base
+  def error_response(message, status = 422)
+    render json: { json: { errors: message }, status: status }
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/sessions_controller.rb b/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/sessions_controller.rb
index e6f6ccc47a74f032e3e1a30743987ff3e199ea0f..513e47427c72268fa66b8a0b7c84f1d8d26e3ab8 100644
--- a/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/sessions_controller.rb
+++ b/ACSmI/Contracting/app/controllers/decide/acsmi/contracting/api/v1/sessions_controller.rb
@@ -1,26 +1,26 @@
-class Decide::Acsmi::Contracting::Api::V1::SessionsController < Decide::Acsmi::Contracting::Api::V1::ApiController
-  before_action :set_session, only: [:credentials]
-
-  def create
-    begin
-      @session = Session.start_for(params[:resource_id])
-      render json: { session_id: @session.id, contracting_url: sessions_url(session_id: @session.id) }
-    rescue => e
-      return error_response("Could not start session: #{e.message}")
-    end
-  end
-
-  def credentials
-    return error_response('Session contract is not yet set') unless @session.ready?
-
-    render json: @session.cred_response
-  end
-
-  private
-
-  def set_session
-    @session = Session.find_by_id(params[:id])
-    return error_response("Could not find session with ID #{params[:id]}", 404) unless @session
-  end
-
+class Decide::Acsmi::Contracting::Api::V1::SessionsController < Decide::Acsmi::Contracting::Api::V1::ApiController
+  before_action :set_session, only: [:credentials]
+
+  def create
+    begin
+      @session = Session.start_for(params[:resource_id])
+      render json: { session_id: @session.id, contracting_url: sessions_url(session_id: @session.id) }
+    rescue => e
+      return error_response("Could not start session: #{e.message}")
+    end
+  end
+
+  def credentials
+    return error_response('Session contract is not yet set') unless @session.ready?
+
+    render json: @session.cred_response
+  end
+
+  private
+
+  def set_session
+    @session = Session.find_by_id(params[:id])
+    return error_response("Could not find session with ID #{params[:id]}", 404) unless @session
+  end
+
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/information_controller.rb b/ACSmI/Contracting/app/controllers/information_controller.rb
index 069a0a4dc62e8f4f245e899b0a5e24e898f8b3d9..a7af28c58a2c38b0da12873acc70e8ecbb5c896f 100644
--- a/ACSmI/Contracting/app/controllers/information_controller.rb
+++ b/ACSmI/Contracting/app/controllers/information_controller.rb
@@ -1,14 +1,14 @@
-class InformationController < ApplicationController
-
-  def license
-    @license_text = File.read("#{Rails.root}/LICENSE.txt").gsub("\n", "<br/>").html_safe
-  end
-
-  def api_info
-
-  end
-
-  def usage_terms
-
-  end
+class InformationController < ApplicationController
+
+  def license
+    @license_text = File.read("#{Rails.root}/LICENSE.txt").gsub("\n", "<br/>").html_safe
+  end
+
+  def api_info
+
+  end
+
+  def usage_terms
+
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/sessions_controller.rb b/ACSmI/Contracting/app/controllers/sessions_controller.rb
index 78759c03dfc62946a5afc5d8c495b99ea7ca08ab..7a61bf15cbb2522bc9484658d3130be6f6d65bbe 100644
--- a/ACSmI/Contracting/app/controllers/sessions_controller.rb
+++ b/ACSmI/Contracting/app/controllers/sessions_controller.rb
@@ -1,80 +1,80 @@
-class SessionsController < ApplicationController
-  before_action :set_session, except: [:start_demo]
-  before_action :check_auth, only: [:setup_contracting, :check_existing_contract, :prepare_new_contract]
-
-  def index
-    render_bad_request unless @session
-  end
-
-  def start_demo
-    begin
-      @session = Session.start_for(params[:resource_id])
-      redirect_to sessions_url(session_id: @session.id)
-    rescue => e
-      flash[:alert] = "Could not start session: #{e.message}"
-      redirect_to '/'
-    end
-  end
-
-  def own_creds_or_contract
-    if params[:have_credentials] == 'true'
-      @credential_fields = PlatformConnector.fields_for_credentials(@session.resource_id)
-      render 'request_credentials'
-    else
-      if current_user
-        @session.update(user: current_user)
-        redirect_to setup_contracting_session_path(@session)
-      else
-        @user_session = UserSession.new
-        @user = User.new
-        @have_account = true
-        render 'start_contracting'
-      end
-    end
-  end
-
-  def setup_contracting
-
-  end
-
-  def success
-    render 'finish'
-  end
-
-  def check_existing_contract
-    sleep 2
-    first_contract = Contract.where(user_id: current_user.id, resource_id: @session.resource_id).first
-    @contract_exists = first_contract.present?
-    if @contract_exists
-      @session.update(contract: first_contract)
-      @session.make_ready!
-    end
-  end
-
-  def prepare_new_contract
-    Contract.prepare(@session)
-    sleep 1
-    @session.make_ready!
-  end
-
-  def use_own_creds
-    @session.own_creds(params)
-
-    render 'finish'
-  end
-
-  private
-
-  def set_session
-    @session = Session.find_by_id(params[:session_id]) || Session.find_by_id(params[:id])
-  end
-
-  def contract_params
-    params[:credential_fields]
-  end
-
-  def invalid_credentials
-    flash[:alert] = "Couldn't find a contract with given credentials"
-    redirect_to credentials_url
-  end
+class SessionsController < ApplicationController
+  before_action :set_session, except: [:start_demo]
+  before_action :check_auth, only: [:setup_contracting, :check_existing_contract, :prepare_new_contract]
+
+  def index
+    render_bad_request unless @session
+  end
+
+  def start_demo
+    begin
+      @session = Session.start_for(params[:resource_id])
+      redirect_to sessions_url(session_id: @session.id)
+    rescue => e
+      flash[:alert] = "Could not start session: #{e.message}"
+      redirect_to '/'
+    end
+  end
+
+  def own_creds_or_contract
+    if params[:have_credentials] == 'true'
+      @credential_fields = PlatformConnector.fields_for_credentials(@session.resource_id)
+      render 'request_credentials'
+    else
+      if current_user
+        @session.update(user: current_user)
+        redirect_to setup_contracting_session_path(@session)
+      else
+        @user_session = UserSession.new
+        @user = User.new
+        @have_account = true
+        render 'start_contracting'
+      end
+    end
+  end
+
+  def setup_contracting
+
+  end
+
+  def success
+    render 'finish'
+  end
+
+  def check_existing_contract
+    sleep 2
+    first_contract = Contract.where(user_id: current_user.id, resource_id: @session.resource_id).first
+    @contract_exists = first_contract.present?
+    if @contract_exists
+      @session.update(contract: first_contract)
+      @session.make_ready!
+    end
+  end
+
+  def prepare_new_contract
+    Contract.prepare(@session)
+    sleep 1
+    @session.make_ready!
+  end
+
+  def use_own_creds
+    @session.own_creds(params)
+
+    render 'finish'
+  end
+
+  private
+
+  def set_session
+    @session = Session.find_by_id(params[:session_id]) || Session.find_by_id(params[:id])
+  end
+
+  def contract_params
+    params[:credential_fields]
+  end
+
+  def invalid_credentials
+    flash[:alert] = "Couldn't find a contract with given credentials"
+    redirect_to credentials_url
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/user_sessions_controller.rb b/ACSmI/Contracting/app/controllers/user_sessions_controller.rb
index 217b7d6958d7bdac45579071f5cb085f2b928f1a..fb776463f47bb959261484af788d5cac8ba20a6b 100644
--- a/ACSmI/Contracting/app/controllers/user_sessions_controller.rb
+++ b/ACSmI/Contracting/app/controllers/user_sessions_controller.rb
@@ -1,63 +1,63 @@
-class UserSessionsController < ApplicationController
-  def new
-    @user_session = UserSession.new
-  end
-
-  def create
-    if params[:session_id] && params[:have_account]
-      create_multiform
-    elsif params[:sign_in]
-      create_signle
-    else
-      redirect_to '/'
-      flash[:alert] = 'Couldn\'t sign in'
-    end
-  end
-
-  def destroy
-    current_user_session.destroy
-    redirect_to '#'
-  end
-
-  private
-
-  def create_multiform
-    @session = Session.find(params[:session_id])
-    @have_account = params[:have_account] == 'true'
-    if @have_account
-      @user = User.new
-      @user_session = UserSession.new(user_session_params)
-      save_object(@user_session)
-    else
-      @user_session = UserSession.new
-      @user = User.new(user_params)
-      save_object(@user)
-    end
-  end
-
-  def create_signle
-    @user_session = UserSession.new(user_session_params)
-    if @user_session.save
-      redirect_to contracts_url
-    else
-      render :new
-    end
-  end
-
-  def save_object(object)
-    if object.save
-      @session.update(user: current_user)
-      redirect_to setup_contracting_session_path(@session)
-    else
-      render template: 'sessions/start_contracting'
-    end
-  end
-
-  def user_session_params
-    params.require(:user_session).permit(:email, :password)
-  end
-
-  def user_params
-    params.require(:user).permit(:email, :full_name, :password, :password_confirmation, :organization, :address, :accept_terms)
-  end
+class UserSessionsController < ApplicationController
+  def new
+    @user_session = UserSession.new
+  end
+
+  def create
+    if params[:session_id] && params[:have_account]
+      create_multiform
+    elsif params[:sign_in]
+      create_signle
+    else
+      redirect_to '/'
+      flash[:alert] = 'Couldn\'t sign in'
+    end
+  end
+
+  def destroy
+    current_user_session.destroy
+    redirect_to '#'
+  end
+
+  private
+
+  def create_multiform
+    @session = Session.find(params[:session_id])
+    @have_account = params[:have_account] == 'true'
+    if @have_account
+      @user = User.new
+      @user_session = UserSession.new(user_session_params)
+      save_object(@user_session)
+    else
+      @user_session = UserSession.new
+      @user = User.new(user_params)
+      save_object(@user)
+    end
+  end
+
+  def create_signle
+    @user_session = UserSession.new(user_session_params)
+    if @user_session.save
+      redirect_to contracts_url
+    else
+      render :new
+    end
+  end
+
+  def save_object(object)
+    if object.save
+      @session.update(user: current_user)
+      redirect_to setup_contracting_session_path(@session)
+    else
+      render template: 'sessions/start_contracting'
+    end
+  end
+
+  def user_session_params
+    params.require(:user_session).permit(:email, :password)
+  end
+
+  def user_params
+    params.require(:user).permit(:email, :full_name, :password, :password_confirmation, :organization, :address, :accept_terms)
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/controllers/welcome_controller.rb b/ACSmI/Contracting/app/controllers/welcome_controller.rb
index f02c75f143c8f276a68f4507281106ad85e50556..0a1fe2c7c84541297a4e3d81377d080f01418a6f 100644
--- a/ACSmI/Contracting/app/controllers/welcome_controller.rb
+++ b/ACSmI/Contracting/app/controllers/welcome_controller.rb
@@ -1,7 +1,7 @@
-class WelcomeController < ApplicationController
-
-  def index
-
-  end
-
+class WelcomeController < ApplicationController
+
+  def index
+
+  end
+
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/helpers/application_helper.rb b/ACSmI/Contracting/app/helpers/application_helper.rb
index 3a161f2810933dc5559d78e1bc40ceddde58ce56..78fdcb03bd041e082e739df07993ea68f40eb15f 100644
--- a/ACSmI/Contracting/app/helpers/application_helper.rb
+++ b/ACSmI/Contracting/app/helpers/application_helper.rb
@@ -1,12 +1,12 @@
-module ApplicationHelper
-  def field_input_type(type)
-    case type
-      when 'email'
-        'email'
-      when 'password'
-        'password'
-      else
-        'text'
-    end
-  end
-end
+module ApplicationHelper
+  def field_input_type(type)
+    case type
+      when 'email'
+        'email'
+      when 'password'
+        'password'
+      else
+        'text'
+    end
+  end
+end
diff --git a/ACSmI/Contracting/app/models/contract.rb b/ACSmI/Contracting/app/models/contract.rb
index ac3f9d0493ccf898fb0dc5a1a84c6a3488104f56..e7098aeaa2e420e3b5a5bdb14cae9188ea3508de 100644
--- a/ACSmI/Contracting/app/models/contract.rb
+++ b/ACSmI/Contracting/app/models/contract.rb
@@ -1,16 +1,16 @@
-class Contract < ActiveRecord::Base
-  belongs_to :user
-  has_many :sessions
-
-  validates :resource_id, presence: true
-  validates :resource_name, presence: true
-  validates :user, presence: true
-
-  def self.prepare(session)
-    session.user.register_plaform_user if session.user.platform_email.blank?
-    PlatformConnector.register_access(session.resource_id, session.user.platform_id)
-
-    session.contract = Contract.create!(user: session.user, resource_id: session.resource_id, resource_name: session.resource_name)
-    session.save!
-  end
+class Contract < ActiveRecord::Base
+  belongs_to :user
+  has_many :sessions
+
+  validates :resource_id, presence: true
+  validates :resource_name, presence: true
+  validates :user, presence: true
+
+  def self.prepare(session)
+    session.user.register_plaform_user if session.user.platform_email.blank?
+    PlatformConnector.register_access(session.resource_id, session.user.platform_id)
+
+    session.contract = Contract.create!(user: session.user, resource_id: session.resource_id, resource_name: session.resource_name)
+    session.save!
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/models/credential_field.rb b/ACSmI/Contracting/app/models/credential_field.rb
index 6cbfe9e4667605ef041cfe47ec353fea4462070e..05811c4efcba515c0e790ddbb665d5e79971a4e1 100644
--- a/ACSmI/Contracting/app/models/credential_field.rb
+++ b/ACSmI/Contracting/app/models/credential_field.rb
@@ -1,11 +1,11 @@
-class CredentialField < ActiveRecord::Base
-  belongs_to :session
-
-  attr_encrypted :value, key: "Zp\xD0y\x990\xD0D\x83\x11\xF0*)\t!\x164=\xC8\x18\x0F\xBD\x11\xDC-\x80\x7F.Q\rC\xDE"
-
-  validates :name, presence: true
-
-  def self.write(session, name, value)
-    CredentialField.create!(session: session, name: name.downcase, value: value)
-  end
+class CredentialField < ActiveRecord::Base
+  belongs_to :session
+
+  attr_encrypted :value, key: "Zp\xD0y\x990\xD0D\x83\x11\xF0*)\t!\x164=\xC8\x18\x0F\xBD\x11\xDC-\x80\x7F.Q\rC\xDE"
+
+  validates :name, presence: true
+
+  def self.write(session, name, value)
+    CredentialField.create!(session: session, name: name.downcase, value: value)
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/models/session.rb b/ACSmI/Contracting/app/models/session.rb
index 325dd89759cd1155a21510107783168b34f6c4e9..adee8623e7d3dde1fdaf46c4ba77ee4b4f240c20 100644
--- a/ACSmI/Contracting/app/models/session.rb
+++ b/ACSmI/Contracting/app/models/session.rb
@@ -1,44 +1,44 @@
-class Session < ActiveRecord::Base
-  self.primary_key = :id
-
-  belongs_to :contract
-  belongs_to :user
-  has_many :credential_fields
-
-  validates :resource_id, presence: true
-
-  include AASM
-
-  aasm do
-    state :initiating, initial: true
-    state :ready
-
-    event :make_ready do
-      transitions from: :initiating, to: :ready
-    end
-  end
-
-  def self.start_for(resource_id)
-    Session.create!(id: SecureRandom.uuid, resource_id: resource_id, resource_name: PlatformConnector.resource_name_by_id(resource_id))
-  end
-
-  def own_creds(params)
-    params[:credential_fields].each_pair do |cf_name, cf_value|
-      CredentialField.write(self, cf_name, cf_value)
-    end
-    self.make_ready!
-  end
-
-  def cred_response
-    if self.contract
-      # User - ACSmI - CBP contract
-      {session_id: self.id, contracting_type: 'platform',
-       platform_credentials: {email: self.user.platform_email, password: self.user.platform_password}}
-    else
-      # User has provided own cloud credentials
-      {session_id: self.id, contracting_type: 'own_credentials',
-       resource_credentials: self.credential_fields.map { |cf| {name: cf.name, value: cf.value} }}
-    end
-  end
-
+class Session < ActiveRecord::Base
+  self.primary_key = :id
+
+  belongs_to :contract
+  belongs_to :user
+  has_many :credential_fields
+
+  validates :resource_id, presence: true
+
+  include AASM
+
+  aasm do
+    state :initiating, initial: true
+    state :ready
+
+    event :make_ready do
+      transitions from: :initiating, to: :ready
+    end
+  end
+
+  def self.start_for(resource_id)
+    Session.create!(id: SecureRandom.uuid, resource_id: resource_id, resource_name: PlatformConnector.resource_name_by_id(resource_id))
+  end
+
+  def own_creds(params)
+    params[:credential_fields].each_pair do |cf_name, cf_value|
+      CredentialField.write(self, cf_name, cf_value)
+    end
+    self.make_ready!
+  end
+
+  def cred_response
+    if self.contract
+      # User - ACSmI - CBP contract
+      {session_id: self.id, contracting_type: 'platform',
+       platform_credentials: {email: self.user.platform_email, password: self.user.platform_password}}
+    else
+      # User has provided own cloud credentials
+      {session_id: self.id, contracting_type: 'own_credentials',
+       resource_credentials: self.credential_fields.map { |cf| {name: cf.name, value: cf.value} }}
+    end
+  end
+
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/models/setting.rb b/ACSmI/Contracting/app/models/setting.rb
index 31a1949dd08f182a855ca8f4bad26363543cc6e1..1604a80727f636a0af87a4b51aa6f468ad6fca48 100644
--- a/ACSmI/Contracting/app/models/setting.rb
+++ b/ACSmI/Contracting/app/models/setting.rb
@@ -1,16 +1,16 @@
-class Setting < ActiveRecord::Base
-  validates :key, presence: true, uniqueness: true
-  validates :encrypted_value, presence: true
-
-  attr_encrypted :value, key: "\xEF\x83\xD4d\xAAC\x1F\x15\xC9_q\x10\b\x01\x903|\x11=\xE4\x82H\ntX\x96\x98\xD1c\x8D0H"
-
-  def self.value(key, new_value = nil)
-    if new_value
-      setting = Setting.first_or_initialize(key: key)
-      setting.value = new_value
-      setting.save!
-    else
-      Setting.where(key: key).first.value
-    end
-  end
+class Setting < ActiveRecord::Base
+  validates :key, presence: true, uniqueness: true
+  validates :encrypted_value, presence: true
+
+  attr_encrypted :value, key: "\xEF\x83\xD4d\xAAC\x1F\x15\xC9_q\x10\b\x01\x903|\x11=\xE4\x82H\ntX\x96\x98\xD1c\x8D0H"
+
+  def self.value(key, new_value = nil)
+    if new_value
+      setting = Setting.first_or_initialize(key: key)
+      setting.value = new_value
+      setting.save!
+    else
+      Setting.where(key: key).first.value
+    end
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/models/user.rb b/ACSmI/Contracting/app/models/user.rb
index f96e8b62e732895ac33825c844f6ea67d1a562c4..5b91a13baf86c85e5d43867c5274f9925b4ad6bb 100644
--- a/ACSmI/Contracting/app/models/user.rb
+++ b/ACSmI/Contracting/app/models/user.rb
@@ -1,34 +1,34 @@
-class User < ActiveRecord::Base
-  has_many :contracts, dependent: :destroy
-  has_many :sessions, dependent: :destroy
-
-  acts_as_authentic
-
-  attr_accessor :accept_terms
-
-  validates :email, presence: true, uniqueness: true
-  validates :full_name, presence: true
-  validate :usage_terms_accepted, on: :create
-
-  attr_encrypted :platform_email, key: "211aae60391b4152ad4690ce4aa89d8c"
-  attr_encrypted :platform_password, key: "2694536f973b4e5faab7e4f6e8e4d427"
-
-  def register_plaform_user
-    self.platform_email = "acsmi-#{SecureRandom.hex(10)}@cloudbroker.com"
-    self.platform_password = SecureRandom.hex(12)
-
-    first_name = self.full_name.split(' ')[0]
-    last_name = self.full_name.split(' ')[1] || 'undefined'
-
-    self.platform_id = PlatformConnector.register_user(self.platform_email, first_name, last_name, self.platform_password)
-    self.save!
-  end
-
-  private
-
-  def usage_terms_accepted
-    unless self.accept_terms == '1'
-      self.errors.add(:base, 'You must accept usage terms in order to sign up')
-    end
-  end
-end
+class User < ActiveRecord::Base
+  has_many :contracts, dependent: :destroy
+  has_many :sessions, dependent: :destroy
+
+  acts_as_authentic
+
+  attr_accessor :accept_terms
+
+  validates :email, presence: true, uniqueness: true
+  validates :full_name, presence: true
+  validate :usage_terms_accepted, on: :create
+
+  attr_encrypted :platform_email, key: "211aae60391b4152ad4690ce4aa89d8c"
+  attr_encrypted :platform_password, key: "2694536f973b4e5faab7e4f6e8e4d427"
+
+  def register_plaform_user
+    self.platform_email = "acsmi-#{SecureRandom.hex(10)}@cloudbroker.com"
+    self.platform_password = SecureRandom.hex(12)
+
+    first_name = self.full_name.split(' ')[0]
+    last_name = self.full_name.split(' ')[1] || 'undefined'
+
+    self.platform_id = PlatformConnector.register_user(self.platform_email, first_name, last_name, self.platform_password)
+    self.save!
+  end
+
+  private
+
+  def usage_terms_accepted
+    unless self.accept_terms == '1'
+      self.errors.add(:base, 'You must accept usage terms in order to sign up')
+    end
+  end
+end
diff --git a/ACSmI/Contracting/app/models/user_session.rb b/ACSmI/Contracting/app/models/user_session.rb
index bcae102b2ae7f27b1526fdf9b059d1aa825119c1..f84c599f60a8947c463f292d94d3e7efed0bb232 100644
--- a/ACSmI/Contracting/app/models/user_session.rb
+++ b/ACSmI/Contracting/app/models/user_session.rb
@@ -1,3 +1,3 @@
-class UserSession < Authlogic::Session::Base
-
+class UserSession < Authlogic::Session::Base
+
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/contracts/index.html.haml b/ACSmI/Contracting/app/views/contracts/index.html.haml
index 123444c07b4634d838700ec5bb9472d84fc2d338..042db04fab5471a2ad5cd44bb2f45fb24e162044 100644
--- a/ACSmI/Contracting/app/views/contracts/index.html.haml
+++ b/ACSmI/Contracting/app/views/contracts/index.html.haml
@@ -1,22 +1,22 @@
-%div.contracts-content
-  - if current_user.contracts.any?
-    %h3 My Contracts
-
-    %table.table.table-striped
-      %thead
-        %tr
-          %th Resource ID
-          %th Resource Name
-          %th Actions
-      %tbody
-        - current_user.contracts.each do |contract|
-          %tr
-            %td
-              = contract.resource_id
-            %td
-              = contract.resource_name
-            %td
-              = link_to '', contract_url(contract), class: 'glyphicon glyphicon-info-sign'
-              = link_to '', contract_url(contract), method: :delete, class: 'glyphicon glyphicon-trash'
-  - else
+%div.contracts-content
+  - if current_user.contracts.any?
+    %h3 My Contracts
+
+    %table.table.table-striped
+      %thead
+        %tr
+          %th Resource ID
+          %th Resource Name
+          %th Actions
+      %tbody
+        - current_user.contracts.each do |contract|
+          %tr
+            %td
+              = contract.resource_id
+            %td
+              = contract.resource_name
+            %td
+              = link_to '', contract_url(contract), class: 'glyphicon glyphicon-info-sign'
+              = link_to '', contract_url(contract), method: :delete, class: 'glyphicon glyphicon-trash'
+  - else
     %h3.no-records You do not have any active contracts at the moment
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/contracts/show.html.haml b/ACSmI/Contracting/app/views/contracts/show.html.haml
index c60808ff02a2ac9c4a89070414b7220678f9234c..590e61472be4b993956114baab23f1c4890ec76a 100644
--- a/ACSmI/Contracting/app/views/contracts/show.html.haml
+++ b/ACSmI/Contracting/app/views/contracts/show.html.haml
@@ -1,40 +1,40 @@
-.contracts-content
-  .show
-  .row
-    .col-md-2
-      %label Resource ID
-    .col-md-6
-      = @contract.resource_id
-  .row
-    .col-md-2
-      %label Resource Name
-    .col-md-6
-      = @contract.resource_name
-
-  .delimiter
-
-  - if @contract.sessions.any?
-
-    %h4 Sessions
-
-    %table.table
-      %thead
-        %tr
-          %th ID
-          %th Created At
-          %th Updated At
-          %th State
-      %tbody
-        - @contract.sessions.each do |session|
-          %tr
-            %td= session.id
-            %td= session.created_at
-            %td= session.updated_at
-            %td= session.aasm_state
-
-  - else
-    %h4.no-records This contract does not have any sessions
-
-
-  = link_to 'Back', contracts_url, class: 'btn btn-default'
+.contracts-content
+  .show
+  .row
+    .col-md-2
+      %label Resource ID
+    .col-md-6
+      = @contract.resource_id
+  .row
+    .col-md-2
+      %label Resource Name
+    .col-md-6
+      = @contract.resource_name
+
+  .delimiter
+
+  - if @contract.sessions.any?
+
+    %h4 Sessions
+
+    %table.table
+      %thead
+        %tr
+          %th ID
+          %th Created At
+          %th Updated At
+          %th State
+      %tbody
+        - @contract.sessions.each do |session|
+          %tr
+            %td= session.id
+            %td= session.created_at
+            %td= session.updated_at
+            %td= session.aasm_state
+
+  - else
+    %h4.no-records This contract does not have any sessions
+
+
+  = link_to 'Back', contracts_url, class: 'btn btn-default'
   = link_to 'Delete', contract_url(@contract), method: :delete, class: 'btn btn-danger', data: { confirm: 'Are you sure?' }
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/information/api_info.html.haml b/ACSmI/Contracting/app/views/information/api_info.html.haml
index 36e299628f1d79c7bb2e2a58d55dc8260f500971..f707836458db33b208c92284e436ee80b780d0d5 100644
--- a/ACSmI/Contracting/app/views/information/api_info.html.haml
+++ b/ACSmI/Contracting/app/views/information/api_info.html.haml
@@ -1,58 +1,58 @@
-.api_info
-  %h3
-    List of supported API calls
-
-  %table.table-hover.table-bordered
-    %tr
-      %th
-        Functionality
-      %th
-        Endpoint
-      %th
-        Method
-      %th
-        Request Parameters
-      %th
-        Response Parameters
-    %tr
-      %td
-        Initiate a new contracting session
-      %td
-        = "/decide/acsmi/contracting/api/v1/sessions"
-      %td
-        POST
-      %td
-        %ul
-          %li
-            resource_id: 'id_of_the_resource_from_acsmi_catalogue'
-      %td
-        %ul
-          %li
-            session_id: 'id_of_the_started_session'
-          %li
-            contracting_url: 'URL where the user is to be redirected to'
-    %tr
-      %td
-        Get the cloud connect credentials for the session
-      %td
-        = "/decide/acsmi/contracting/api/v1/sessions/{session_id}/credentials"
-      %td
-        GET
-      %td
-        %ul
-          %li
-            session_id: 'id_of_the_session_from_the_step_above'
-      %td
-        %ul
-          %li
-            session_id: 'id_of_the_requested_session'
-          %li
-            contracting_type: 'platform | own_credentials'
-          %li
-            platform_credentials['email']: 'email_to_access_the_platform'
-          %li
-            platform_credentials['password']: 'password_to_access_the_platform'
-          %li
-            resource_credentials['name']: 'name_of_the_parameter' (e.g. Access Key, Secret Key)
-          %li
+.api_info
+  %h3
+    List of supported API calls
+
+  %table.table-hover.table-bordered
+    %tr
+      %th
+        Functionality
+      %th
+        Endpoint
+      %th
+        Method
+      %th
+        Request Parameters
+      %th
+        Response Parameters
+    %tr
+      %td
+        Initiate a new contracting session
+      %td
+        = "/decide/acsmi/contracting/api/v1/sessions"
+      %td
+        POST
+      %td
+        %ul
+          %li
+            resource_id: 'id_of_the_resource_from_acsmi_catalogue'
+      %td
+        %ul
+          %li
+            session_id: 'id_of_the_started_session'
+          %li
+            contracting_url: 'URL where the user is to be redirected to'
+    %tr
+      %td
+        Get the cloud connect credentials for the session
+      %td
+        = "/decide/acsmi/contracting/api/v1/sessions/{session_id}/credentials"
+      %td
+        GET
+      %td
+        %ul
+          %li
+            session_id: 'id_of_the_session_from_the_step_above'
+      %td
+        %ul
+          %li
+            session_id: 'id_of_the_requested_session'
+          %li
+            contracting_type: 'platform | own_credentials'
+          %li
+            platform_credentials['email']: 'email_to_access_the_platform'
+          %li
+            platform_credentials['password']: 'password_to_access_the_platform'
+          %li
+            resource_credentials['name']: 'name_of_the_parameter' (e.g. Access Key, Secret Key)
+          %li
             resource_credentials['value']: 'value_of_the_parameter'
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/information/license.html.haml b/ACSmI/Contracting/app/views/information/license.html.haml
index 34187d5181b09c454f54456f1c2b15301047cc35..baa9210f7fb20187ad5f3505274ab63dc03c595b 100644
--- a/ACSmI/Contracting/app/views/information/license.html.haml
+++ b/ACSmI/Contracting/app/views/information/license.html.haml
@@ -1,2 +1,2 @@
-.license_info
+.license_info
   = @license_text
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/information/usage_terms.html.haml b/ACSmI/Contracting/app/views/information/usage_terms.html.haml
index 5e996c6c8045f85f935bf015073bba5bcfb5e3c7..681a64d76735322b7ea6f57fc624d701aac90d3c 100644
--- a/ACSmI/Contracting/app/views/information/usage_terms.html.haml
+++ b/ACSmI/Contracting/app/views/information/usage_terms.html.haml
@@ -1,4 +1,4 @@
-.terms-info
-  %h2 Terms
-
+.terms-info
+  %h2 Terms
+
   Terms pending.
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/layouts/_footer.html.erb b/ACSmI/Contracting/app/views/layouts/_footer.html.erb
index 41e86664bcf478aec48a07685ee8c8ad407094a9..4597352b393832be582b6e0bd7983bad6bdebf99 100644
--- a/ACSmI/Contracting/app/views/layouts/_footer.html.erb
+++ b/ACSmI/Contracting/app/views/layouts/_footer.html.erb
@@ -1,18 +1,18 @@
-<footer class="footer">
-  <div class="footer-container-wrapper">
-    <div class="container footer-container">
-      <div>
-        <p class="footer-text">Prototype. © Copyright 2017, CloudBroker GmbH. </p>
-      </div>
-      <div>
-        <p class="footer-text">
-          <a href="https://www.decide-h2020.eu/" target="_blank">
-            This project has received funding from the European Union's Horizon 2020 research and innovation programme
-            under grant agreement No 731533
-            <img src="/flag_eu.jpg" class="footer-flag"/>
-          </a>
-        </p>
-      </div>
-    </div>
-  </div>
+<footer class="footer">
+  <div class="footer-container-wrapper">
+    <div class="container footer-container">
+      <div>
+        <p class="footer-text">Prototype. © Copyright 2017, CloudBroker GmbH. </p>
+      </div>
+      <div>
+        <p class="footer-text">
+          <a href="https://www.decide-h2020.eu/" target="_blank">
+            This project has received funding from the European Union's Horizon 2020 research and innovation programme
+            under grant agreement No 731533
+            <img src="/flag_eu.jpg" class="footer-flag"/>
+          </a>
+        </p>
+      </div>
+    </div>
+  </div>
 </footer>
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/layouts/_header.html.erb b/ACSmI/Contracting/app/views/layouts/_header.html.erb
index d4665bafc68fe6e404a66ddf1f520b9c50ff560c..1ec825d802d448485963404028a4c3ea9bd0446d 100644
--- a/ACSmI/Contracting/app/views/layouts/_header.html.erb
+++ b/ACSmI/Contracting/app/views/layouts/_header.html.erb
@@ -1,36 +1,36 @@
-<nav class="navbar navbar-default top-header">
-  <div class="container">
-
-
-    <div class="navbar-header">
-      <img src="https://decide-prototype.cloudbroker.com/images/decide_logo.png" class="header-logo">
-    </div>
-
-    <div class="navbar-header">
-      <a class="navbar-brand" href="/">
-        DECIDE - ACSmI Contracting
-      </a>
-    </div>
-
-    <ul class="nav navbar-nav navbar-right">
-      <% if current_user %>
-          <li class="disabled"><a>Logged in as: <%= current_user.full_name %></a></li>
-          <li><%= link_to 'Manage Contracts', contracts_url %></li>
-      <% end %>
-      <li><%= link_to 'License', '/license' %></li>
-      <li><%= link_to 'API', '/api_info' %></li>
-      <li>
-        <% if current_user %>
-            <%= link_to sign_out_url, method: :delete do %>
-                <span class="glyphicon glyphicon-log-out"></span> Logout
-            <% end %>
-        <% else %>
-            <%= link_to sign_in_url do %>
-                <span class="glyphicon glyphicon-log-in"></span> Login
-            <% end %>
-        <% end %>
-      </li>
-    </ul>
-
-  </div>
+<nav class="navbar navbar-default top-header">
+  <div class="container">
+
+
+    <div class="navbar-header">
+      <img src="https://decide-prototype.cloudbroker.com/images/decide_logo.png" class="header-logo">
+    </div>
+
+    <div class="navbar-header">
+      <a class="navbar-brand" href="/">
+        DECIDE - ACSmI Contracting
+      </a>
+    </div>
+
+    <ul class="nav navbar-nav navbar-right">
+      <% if current_user %>
+          <li class="disabled"><a>Logged in as: <%= current_user.full_name %></a></li>
+          <li><%= link_to 'Manage Contracts', contracts_url %></li>
+      <% end %>
+      <li><%= link_to 'License', '/license' %></li>
+      <li><%= link_to 'API', '/api_info' %></li>
+      <li>
+        <% if current_user %>
+            <%= link_to sign_out_url, method: :delete do %>
+                <span class="glyphicon glyphicon-log-out"></span> Logout
+            <% end %>
+        <% else %>
+            <%= link_to sign_in_url do %>
+                <span class="glyphicon glyphicon-log-in"></span> Login
+            <% end %>
+        <% end %>
+      </li>
+    </ul>
+
+  </div>
 </nav>
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/layouts/application.html.erb b/ACSmI/Contracting/app/views/layouts/application.html.erb
index 614ca610ee19b711fa5af9523d13bc94ead42fcc..193701cdf24f2f9b61b9100b448dffe67e3d45ef 100644
--- a/ACSmI/Contracting/app/views/layouts/application.html.erb
+++ b/ACSmI/Contracting/app/views/layouts/application.html.erb
@@ -1,31 +1,31 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>ACSmI Contracting4</title>
-  <%= stylesheet_link_tag 'application', media: 'all' %>
-  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
-  <%= javascript_include_tag 'application' %>
-  <%= csrf_meta_tags %>
-</head>
-
-<body>
-
-<%= render partial: 'layouts/header' %>
-
-<% if alert %>
-    <div class="alert alert-danger alert-dismissible" role="alert">
-      <button type="button" class="close" data-dismiss="alert" aria-label="Close">
-        <span aria-hidden="true">&times;</span></button>
-      <%= alert %>
-    </div>
-<% end %>
-
-
-<div class="site-content">
-  <%= yield %>
-</div>
-
-<%= render partial: 'layouts/footer' %>
-
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+  <title>ACSmI Contracting4</title>
+  <%= stylesheet_link_tag 'application', media: 'all' %>
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+  <%= javascript_include_tag 'application' %>
+  <%= csrf_meta_tags %>
+</head>
+
+<body>
+
+<%= render partial: 'layouts/header' %>
+
+<% if alert %>
+    <div class="alert alert-danger alert-dismissible" role="alert">
+      <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+        <span aria-hidden="true">&times;</span></button>
+      <%= alert %>
+    </div>
+<% end %>
+
+
+<div class="site-content">
+  <%= yield %>
+</div>
+
+<%= render partial: 'layouts/footer' %>
+
+</body>
+</html>
diff --git a/ACSmI/Contracting/app/views/sessions/finish.html.haml b/ACSmI/Contracting/app/views/sessions/finish.html.haml
index d3d5563a4ce0e4e3609005ede42d2093372ca041..ad3b13d994bf241bef262b34c6cf4ddd1fa3e315 100644
--- a/ACSmI/Contracting/app/views/sessions/finish.html.haml
+++ b/ACSmI/Contracting/app/views/sessions/finish.html.haml
@@ -1,14 +1,14 @@
-.contract-ready-container
-  .contract-ready-body
-    .contract-ready-ok
-      %span.glyphicon.glyphicon-ok-circle
-      %h3
-        Success!
-    .contract-ready-message
-      .alert.alert-success
-        Your contracting details are now set.
-        %br
-        You can now
-        %a.alert-link{href: '/'}
-          return back to ADAPT
+.contract-ready-container
+  .contract-ready-body
+    .contract-ready-ok
+      %span.glyphicon.glyphicon-ok-circle
+      %h3
+        Success!
+    .contract-ready-message
+      .alert.alert-success
+        Your contracting details are now set.
+        %br
+        You can now
+        %a.alert-link{href: '/'}
+          return back to ADAPT
         and continue with your setup.
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/sessions/index.html.haml b/ACSmI/Contracting/app/views/sessions/index.html.haml
index 457eddfe6d969329ad4077fdc05cf8af1d6e2cca..e0df77c85765e26375c970361f613f56f0cfdaae 100644
--- a/ACSmI/Contracting/app/views/sessions/index.html.haml
+++ b/ACSmI/Contracting/app/views/sessions/index.html.haml
@@ -1,15 +1,15 @@
-= form_tag own_creds_or_contract_session_path(@session) do
-  .form-container
-    %h3.form-header= "Contracting for #{@session.resource_name}"
-    %h4.form-prompt Please select an option you would like to proceed with:
-
-    .form-group
-      %label
-        = radio_button_tag 'have_credentials', true, true
-        = "I have credentials for #{@session.resource_name} resource"
-    .form-group
-      %label
-        = radio_button_tag 'have_credentials', false, false
-        = "I do not have #{@session.resource_name} resource credentials"
-    .form-group
+= form_tag own_creds_or_contract_session_path(@session) do
+  .form-container
+    %h3.form-header= "Contracting for #{@session.resource_name}"
+    %h4.form-prompt Please select an option you would like to proceed with:
+
+    .form-group
+      %label
+        = radio_button_tag 'have_credentials', true, true
+        = "I have credentials for #{@session.resource_name} resource"
+    .form-group
+      %label
+        = radio_button_tag 'have_credentials', false, false
+        = "I do not have #{@session.resource_name} resource credentials"
+    .form-group
       = submit_tag 'Proceed', class: 'btn btn-primary'
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/sessions/request_credentials.html.haml b/ACSmI/Contracting/app/views/sessions/request_credentials.html.haml
index 79b8c5f34bdb075b1c81705922a62c4532a9dd5f..eb74a6ce64cd60227672815d946fa4fded817ba3 100644
--- a/ACSmI/Contracting/app/views/sessions/request_credentials.html.haml
+++ b/ACSmI/Contracting/app/views/sessions/request_credentials.html.haml
@@ -1,12 +1,12 @@
-.form-container
-  %h3.form-header= "Account Details for #{@session.resource_name}"
-  %h4.form-prompt Please specify your API credentials
-
-  = form_tag use_own_creds_session_path(@session) do
-    - @credential_fields.each do |field|
-      .form-group
-        = text_field_tag "credential_fields[#{field['name']}]", nil, type: field_input_type(field['type']), class: 'form-control', placeholder: field['name']
-
-    .form-group
-      = link_to 'Back', sessions_url(session_id: @session.id), class: 'btn btn-default'
+.form-container
+  %h3.form-header= "Account Details for #{@session.resource_name}"
+  %h4.form-prompt Please specify your API credentials
+
+  = form_tag use_own_creds_session_path(@session) do
+    - @credential_fields.each do |field|
+      .form-group
+        = text_field_tag "credential_fields[#{field['name']}]", nil, type: field_input_type(field['type']), class: 'form-control', placeholder: field['name']
+
+    .form-group
+      = link_to 'Back', sessions_url(session_id: @session.id), class: 'btn btn-default'
       = submit_tag 'Proceed', class: 'btn btn-primary'
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/sessions/setup_contracting.html.haml b/ACSmI/Contracting/app/views/sessions/setup_contracting.html.haml
index 2e7495a89aba91c297a25c81e515758a3b4ed648..1e77a5464669da1906604f28ee2d6f1ebab47047 100644
--- a/ACSmI/Contracting/app/views/sessions/setup_contracting.html.haml
+++ b/ACSmI/Contracting/app/views/sessions/setup_contracting.html.haml
@@ -1,39 +1,39 @@
-.contracter-container
-  .contracter-body
-    %h3.form-header= "Please wait while we are preparing a contract for you"
-    %p.contract-spinner
-      %i.fa.fa-spinner.fa-spin
-      %span{id: 'loading-text'}
-        Checking for existing contracts..
-= hidden_field_tag :session_id, @session.id
-
-
-:javascript
-  function checkExistingContract() {
-    $.ajax({
-        url: '/sessions/' + $('#session_id').val() + '/check_existing_contract',
-        dataType: 'json',
-        method: 'post',
-        success: function(json) {
-          if(json['contract_exists']) {
-            redirectToSuccess();
-          } else {
-            $("#loading-text").text('Setting up a new contract..');
-            $.ajax({
-              url: '/sessions/' + $('#session_id').val() + '/prepare_new_contract',
-              dataType: 'json',
-              method: 'post',
-              success: function(json) {
-                redirectToSuccess();
-              }
-            });
-          }
-        }
-    });
-  }
-
-  function redirectToSuccess() {
-    window.location = '/sessions/' + $('#session_id').val() + '/success';
-  }
-
+.contracter-container
+  .contracter-body
+    %h3.form-header= "Please wait while we are preparing a contract for you"
+    %p.contract-spinner
+      %i.fa.fa-spinner.fa-spin
+      %span{id: 'loading-text'}
+        Checking for existing contracts..
+= hidden_field_tag :session_id, @session.id
+
+
+:javascript
+  function checkExistingContract() {
+    $.ajax({
+        url: '/sessions/' + $('#session_id').val() + '/check_existing_contract',
+        dataType: 'json',
+        method: 'post',
+        success: function(json) {
+          if(json['contract_exists']) {
+            redirectToSuccess();
+          } else {
+            $("#loading-text").text('Setting up a new contract..');
+            $.ajax({
+              url: '/sessions/' + $('#session_id').val() + '/prepare_new_contract',
+              dataType: 'json',
+              method: 'post',
+              success: function(json) {
+                redirectToSuccess();
+              }
+            });
+          }
+        }
+    });
+  }
+
+  function redirectToSuccess() {
+    window.location = '/sessions/' + $('#session_id').val() + '/success';
+  }
+
   checkExistingContract();
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/sessions/start_contracting.html.haml b/ACSmI/Contracting/app/views/sessions/start_contracting.html.haml
index 6490d905715d9e7d8950f652515bef657176b881..47ae4d5ff3c7a51fe0133fcd424cf7f12cc3733d 100644
--- a/ACSmI/Contracting/app/views/sessions/start_contracting.html.haml
+++ b/ACSmI/Contracting/app/views/sessions/start_contracting.html.haml
@@ -1,71 +1,71 @@
-.form-container
-  %h3.form-header= "Login / Register"
-  %h4.form-prompt As a next step we need you to be signed into ACSml
-
-  = form_for @user_session, url: sign_in_url, class: 'form-inline' do |f|
-    = hidden_field_tag 'session_id', @session.id
-    .form-group
-      %label
-        = radio_button_tag 'have_account', true, @have_account, id: 'sign-in'
-        I already have ACSml account
-      .sign-in-subform{ style: "display: #{ @have_account ? '' : 'none' }" }
-        - if @user_session.errors.any?
-          .alert.alert-danger
-            %a{class: 'close', data: { dismiss: 'alert' } } &times;
-            %h4= "#{pluralize(@user_session.errors.count, 'error')} occured:"
-            %ul
-              - @user_session.errors.full_messages.each do |msg|
-                %li= msg
-
-        .form-group
-          = f.label :email
-          = f.email_field :email, class: 'form-control'
-        .form-group
-          = f.label :password
-          = f.password_field :password, class: 'form-control'
-
-    .form-group
-      %label
-        = radio_button_tag 'have_account', false, !@have_account, id: 'sign-up'
-        I want to register new ACSml account
-      .sign-up-subform{ style: "display: #{ @have_account ? 'none' : '' }" }
-        = fields_for @user do |ff|
-          - if @user.errors.any?
-            .alert.alert-danger
-              %a{class: 'close', data: { dismiss: 'alert' } } &times;
-              %h4= "#{pluralize(@user.errors.count, 'error')} occured:"
-              %ul
-                - @user.errors.full_messages.each do |msg|
-                  %li= msg
-          .form-group
-            = ff.label :email
-            = ff.email_field :email, class: 'form-control'
-          .form-group
-            = ff.label :full_name
-            = ff.text_field :full_name, class: 'form-control'
-          .form-group
-            = ff.label :password
-            = ff.password_field :password, class: 'form-control'
-          .form-group
-            = ff.label :password_confirmation
-            = ff.password_field :password_confirmation, class: 'form-control'
-          .form-group
-            = ff.label :organization
-            = ff.text_field :organization, class: 'form-control'
-          .form-group
-            = ff.label :address
-            = ff.text_field :address, class: 'form-control'
-          .form-group
-            = ff.check_box :accept_terms
-            I accept
-            = link_to 'terms of usage', usage_terms_url, target: '_blank'
-
-
-    .form-group
-      = link_to 'Back', sessions_url(id: @session.id), class: 'btn btn-default'
-      = f.submit 'Proceed', class: 'btn btn-primary'
-
-:javascript
-  $(document).on('change', '#sign-in, #sign-up', function(){
-    toggleSubforms();
-  });
+.form-container
+  %h3.form-header= "Login / Register"
+  %h4.form-prompt As a next step we need you to be signed into ACSml
+
+  = form_for @user_session, url: sign_in_url, class: 'form-inline' do |f|
+    = hidden_field_tag 'session_id', @session.id
+    .form-group
+      %label
+        = radio_button_tag 'have_account', true, @have_account, id: 'sign-in'
+        I already have ACSml account
+      .sign-in-subform{ style: "display: #{ @have_account ? '' : 'none' }" }
+        - if @user_session.errors.any?
+          .alert.alert-danger
+            %a{class: 'close', data: { dismiss: 'alert' } } &times;
+            %h4= "#{pluralize(@user_session.errors.count, 'error')} occured:"
+            %ul
+              - @user_session.errors.full_messages.each do |msg|
+                %li= msg
+
+        .form-group
+          = f.label :email
+          = f.email_field :email, class: 'form-control'
+        .form-group
+          = f.label :password
+          = f.password_field :password, class: 'form-control'
+
+    .form-group
+      %label
+        = radio_button_tag 'have_account', false, !@have_account, id: 'sign-up'
+        I want to register new ACSml account
+      .sign-up-subform{ style: "display: #{ @have_account ? 'none' : '' }" }
+        = fields_for @user do |ff|
+          - if @user.errors.any?
+            .alert.alert-danger
+              %a{class: 'close', data: { dismiss: 'alert' } } &times;
+              %h4= "#{pluralize(@user.errors.count, 'error')} occured:"
+              %ul
+                - @user.errors.full_messages.each do |msg|
+                  %li= msg
+          .form-group
+            = ff.label :email
+            = ff.email_field :email, class: 'form-control'
+          .form-group
+            = ff.label :full_name
+            = ff.text_field :full_name, class: 'form-control'
+          .form-group
+            = ff.label :password
+            = ff.password_field :password, class: 'form-control'
+          .form-group
+            = ff.label :password_confirmation
+            = ff.password_field :password_confirmation, class: 'form-control'
+          .form-group
+            = ff.label :organization
+            = ff.text_field :organization, class: 'form-control'
+          .form-group
+            = ff.label :address
+            = ff.text_field :address, class: 'form-control'
+          .form-group
+            = ff.check_box :accept_terms
+            I accept
+            = link_to 'terms of usage', usage_terms_url, target: '_blank'
+
+
+    .form-group
+      = link_to 'Back', sessions_url(id: @session.id), class: 'btn btn-default'
+      = f.submit 'Proceed', class: 'btn btn-primary'
+
+:javascript
+  $(document).on('change', '#sign-in, #sign-up', function(){
+    toggleSubforms();
+  });
diff --git a/ACSmI/Contracting/app/views/user_sessions/new.html.haml b/ACSmI/Contracting/app/views/user_sessions/new.html.haml
index 0a34a6e945b95d28016cffcbfc1abcea00d38f99..8e4f65bd0b5e7ed2670b2932fe2da6befcef8d11 100644
--- a/ACSmI/Contracting/app/views/user_sessions/new.html.haml
+++ b/ACSmI/Contracting/app/views/user_sessions/new.html.haml
@@ -1,23 +1,23 @@
-.form-container
-  %h3.form-header Please sign in
-
-  = form_for @user_session, url: sign_in_url do |f|
-    = hidden_field_tag :sign_in, true
-
-    - if @user_session.errors.any?
-      .alert.alert-danger
-        %a{class: 'close', data: { dismiss: 'alert' } } &times;
-        %h4= "#{pluralize(@user_session.errors.count, 'error')} occured:"
-        %ul
-          - @user_session.errors.full_messages.each do |msg|
-            %li= msg
-
-    .form-group
-      %label Email
-      = f.email_field :email, class: 'form-control'
-    .form-group
-      %label Password
-      = f.password_field :password, class: 'form-control'
-    .form-group
-      = link_to 'Back', '/', class: 'btn btn-default'
+.form-container
+  %h3.form-header Please sign in
+
+  = form_for @user_session, url: sign_in_url do |f|
+    = hidden_field_tag :sign_in, true
+
+    - if @user_session.errors.any?
+      .alert.alert-danger
+        %a{class: 'close', data: { dismiss: 'alert' } } &times;
+        %h4= "#{pluralize(@user_session.errors.count, 'error')} occured:"
+        %ul
+          - @user_session.errors.full_messages.each do |msg|
+            %li= msg
+
+    .form-group
+      %label Email
+      = f.email_field :email, class: 'form-control'
+    .form-group
+      %label Password
+      = f.password_field :password, class: 'form-control'
+    .form-group
+      = link_to 'Back', '/', class: 'btn btn-default'
       = f.submit 'Sign In', class: 'btn btn-primary'
\ No newline at end of file
diff --git a/ACSmI/Contracting/app/views/welcome/index.html.haml b/ACSmI/Contracting/app/views/welcome/index.html.haml
index aef4b18151cf1981d6964a110d57a3cd015040fc..d5662361bd48d86e8a9d6acb1b51f6807cd64323 100644
--- a/ACSmI/Contracting/app/views/welcome/index.html.haml
+++ b/ACSmI/Contracting/app/views/welcome/index.html.haml
@@ -1,26 +1,26 @@
-.container
-  .jumbotron
-    %h1 Welcome to ASCmI Contracting
-    %p
-      Please log in to manage your contracts.
-      %br
-      Please use the corresponding component of the DECIDE Framework to set up new contract.
-
-
-.panel-group.tryout-acsmi
-  .panel.panel-default
-    %a{'data-toggle' => 'collapse', href: '#resourcesselector'}
-      .panel-heading
-        %h4.panel-title
-          Try ACSmI directly (for demo / testing purposes)
-    %div.panel-collapse.collapse{id: 'resourcesselector'}
-      .panel-body
-        %p
-          ACSmI Contracting component initially expects an API call to /decide/acsmi/contracting/api/v1/sessions with :resource_id as a request parameter.
-          You can emulate the API call in the form below:
-
-        = form_tag start_demo_sessions_url do
-          .form-group
-            = text_field_tag 'resource_id', 'c1fb1543-54aa-4247-91ee-3ea9a553f64e', class: 'form-control', placeholder: 'Please fill in the resource id'
-          .form-group
+.container
+  .jumbotron
+    %h1 Welcome to ASCmI Contracting
+    %p
+      Please log in to manage your contracts.
+      %br
+      Please use the corresponding component of the DECIDE Framework to set up new contract.
+
+
+.panel-group.tryout-acsmi
+  .panel.panel-default
+    %a{'data-toggle' => 'collapse', href: '#resourcesselector'}
+      .panel-heading
+        %h4.panel-title
+          Try ACSmI directly (for demo / testing purposes)
+    %div.panel-collapse.collapse{id: 'resourcesselector'}
+      .panel-body
+        %p
+          ACSmI Contracting component initially expects an API call to /decide/acsmi/contracting/api/v1/sessions with :resource_id as a request parameter.
+          You can emulate the API call in the form below:
+
+        = form_tag start_demo_sessions_url do
+          .form-group
+            = text_field_tag 'resource_id', 'c1fb1543-54aa-4247-91ee-3ea9a553f64e', class: 'form-control', placeholder: 'Please fill in the resource id'
+          .form-group
             = submit_tag 'Start Contracting', class: 'btn btn-primary'
\ No newline at end of file
diff --git a/ACSmI/Contracting/bin/bundle b/ACSmI/Contracting/bin/bundle
index 66e9889e8b4aeea1af13e2396fb70594232a2ae3..9c6dfa016dab982789f2ab4dfe0666395e047778 100644
--- a/ACSmI/Contracting/bin/bundle
+++ b/ACSmI/Contracting/bin/bundle
@@ -1,3 +1,3 @@
-#!/usr/bin/env ruby
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
-load Gem.bin_path('bundler', 'bundle')
+#!/usr/bin/env ruby
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
+load Gem.bin_path('bundler', 'bundle')
diff --git a/ACSmI/Contracting/bin/rails b/ACSmI/Contracting/bin/rails
index 0138d79b751b9668a1036329a9ef29a213836162..062dc485d183bf81e87e3a82b5aed6a5f1192eda 100644
--- a/ACSmI/Contracting/bin/rails
+++ b/ACSmI/Contracting/bin/rails
@@ -1,9 +1,9 @@
-#!/usr/bin/env ruby
-begin
-  load File.expand_path('../spring', __FILE__)
-rescue LoadError => e
-  raise unless e.message.include?('spring')
-end
-APP_PATH = File.expand_path('../../config/application', __FILE__)
-require_relative '../config/boot'
-require 'rails/commands'
+#!/usr/bin/env ruby
+begin
+  load File.expand_path('../spring', __FILE__)
+rescue LoadError => e
+  raise unless e.message.include?('spring')
+end
+APP_PATH = File.expand_path('../../config/application', __FILE__)
+require_relative '../config/boot'
+require 'rails/commands'
diff --git a/ACSmI/Contracting/bin/rake b/ACSmI/Contracting/bin/rake
index d87d5f578104597c1d1b951b55942e37f8af1277..1839eaa4ddf25ed5b57d3d805b25e485ff9d3ce2 100644
--- a/ACSmI/Contracting/bin/rake
+++ b/ACSmI/Contracting/bin/rake
@@ -1,9 +1,9 @@
-#!/usr/bin/env ruby
-begin
-  load File.expand_path('../spring', __FILE__)
-rescue LoadError => e
-  raise unless e.message.include?('spring')
-end
-require_relative '../config/boot'
-require 'rake'
-Rake.application.run
+#!/usr/bin/env ruby
+begin
+  load File.expand_path('../spring', __FILE__)
+rescue LoadError => e
+  raise unless e.message.include?('spring')
+end
+require_relative '../config/boot'
+require 'rake'
+Rake.application.run
diff --git a/ACSmI/Contracting/bin/setup b/ACSmI/Contracting/bin/setup
index acdb2c1389c502f79a967384cac1c5adcea10ec2..37305c7583780af806c4890bb70887e796c7c09d 100644
--- a/ACSmI/Contracting/bin/setup
+++ b/ACSmI/Contracting/bin/setup
@@ -1,29 +1,29 @@
-#!/usr/bin/env ruby
-require 'pathname'
-
-# path to your application root.
-APP_ROOT = Pathname.new File.expand_path('../../',  __FILE__)
-
-Dir.chdir APP_ROOT do
-  # This script is a starting point to setup your application.
-  # Add necessary setup steps to this file:
-
-  puts "== Installing dependencies =="
-  system "gem install bundler --conservative"
-  system "bundle check || bundle install"
-
-  # puts "\n== Copying sample files =="
-  # unless File.exist?("config/database.yml")
-  #   system "cp config/database.yml.sample config/database.yml"
-  # end
-
-  puts "\n== Preparing database =="
-  system "bin/rake db:setup"
-
-  puts "\n== Removing old logs and tempfiles =="
-  system "rm -f log/*"
-  system "rm -rf tmp/cache"
-
-  puts "\n== Restarting application server =="
-  system "touch tmp/restart.txt"
-end
+#!/usr/bin/env ruby
+require 'pathname'
+
+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../',  __FILE__)
+
+Dir.chdir APP_ROOT do
+  # This script is a starting point to setup your application.
+  # Add necessary setup steps to this file:
+
+  puts "== Installing dependencies =="
+  system "gem install bundler --conservative"
+  system "bundle check || bundle install"
+
+  # puts "\n== Copying sample files =="
+  # unless File.exist?("config/database.yml")
+  #   system "cp config/database.yml.sample config/database.yml"
+  # end
+
+  puts "\n== Preparing database =="
+  system "bin/rake db:setup"
+
+  puts "\n== Removing old logs and tempfiles =="
+  system "rm -f log/*"
+  system "rm -rf tmp/cache"
+
+  puts "\n== Restarting application server =="
+  system "touch tmp/restart.txt"
+end
diff --git a/ACSmI/Contracting/bin/spring b/ACSmI/Contracting/bin/spring
index fb2ec2ebb48dfade14242dea0add2d98d235a6cb..b9c30d2acd051fa96351f3aefa78e8efbba0b536 100644
--- a/ACSmI/Contracting/bin/spring
+++ b/ACSmI/Contracting/bin/spring
@@ -1,17 +1,17 @@
-#!/usr/bin/env ruby
-
-# This file loads spring without using Bundler, in order to be fast.
-# It gets overwritten when you run the `spring binstub` command.
-
-unless defined?(Spring)
-  require 'rubygems'
-  require 'bundler'
-
-  lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
-  spring = lockfile.specs.detect { |spec| spec.name == "spring" }
-  if spring
-    Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
-    gem 'spring', spring.version
-    require 'spring/binstub'
-  end
-end
+#!/usr/bin/env ruby
+
+# This file loads spring without using Bundler, in order to be fast.
+# It gets overwritten when you run the `spring binstub` command.
+
+unless defined?(Spring)
+  require 'rubygems'
+  require 'bundler'
+
+  lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
+  spring = lockfile.specs.detect { |spec| spec.name == "spring" }
+  if spring
+    Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
+    gem 'spring', spring.version
+    require 'spring/binstub'
+  end
+end
diff --git a/ACSmI/Contracting/config.ru b/ACSmI/Contracting/config.ru
index bd83b25412305f93fdb0a892aded30e5178899ba..faf3abaa4bb681618505b5626da7de599c1cc876 100644
--- a/ACSmI/Contracting/config.ru
+++ b/ACSmI/Contracting/config.ru
@@ -1,4 +1,4 @@
-# This file is used by Rack-based servers to start the application.
-
-require ::File.expand_path('../config/environment', __FILE__)
-run Rails.application
+# This file is used by Rack-based servers to start the application.
+
+require ::File.expand_path('../config/environment', __FILE__)
+run Rails.application
diff --git a/ACSmI/Contracting/config/application.rb b/ACSmI/Contracting/config/application.rb
index a4bf8e82b6dcc6fbc8554cf723f8a185994a6209..e1a7247a0c712a3d89c602b066b906bd4aecf4ef 100644
--- a/ACSmI/Contracting/config/application.rb
+++ b/ACSmI/Contracting/config/application.rb
@@ -1,28 +1,28 @@
-require File.expand_path('../boot', __FILE__)
-
-require 'rails/all'
-
-# Require the gems listed in Gemfile, including any gems
-# you've limited to :test, :development, or :production.
-Bundler.require(*Rails.groups)
-
-module ACSmIContracting
-  class Application < Rails::Application
-    # Settings in config/environments/* take precedence over those specified here.
-    # Application configuration should go into files in config/initializers
-    # -- all .rb files in that directory are automatically loaded.
-
-    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
-    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
-    # config.time_zone = 'Central Time (US & Canada)'
-
-    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
-    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
-    # config.i18n.default_locale = :de
-
-    # Do not swallow errors in after_commit/after_rollback callbacks.
-    config.active_record.raise_in_transactional_callbacks = true
-
-    config.autoload_paths << Rails.root.join('lib')
-  end
-end
+require File.expand_path('../boot', __FILE__)
+
+require 'rails/all'
+
+# Require the gems listed in Gemfile, including any gems
+# you've limited to :test, :development, or :production.
+Bundler.require(*Rails.groups)
+
+module ACSmIContracting
+  class Application < Rails::Application
+    # Settings in config/environments/* take precedence over those specified here.
+    # Application configuration should go into files in config/initializers
+    # -- all .rb files in that directory are automatically loaded.
+
+    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
+    # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
+    # config.time_zone = 'Central Time (US & Canada)'
+
+    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
+    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
+    # config.i18n.default_locale = :de
+
+    # Do not swallow errors in after_commit/after_rollback callbacks.
+    config.active_record.raise_in_transactional_callbacks = true
+
+    config.autoload_paths << Rails.root.join('lib')
+  end
+end
diff --git a/ACSmI/Contracting/config/boot.rb b/ACSmI/Contracting/config/boot.rb
index 6b750f00b1dff4d94937b97ae0dbf76784b02164..b3686f38c63e0bbd1828fc0253ee2eabcede6bd1 100644
--- a/ACSmI/Contracting/config/boot.rb
+++ b/ACSmI/Contracting/config/boot.rb
@@ -1,3 +1,3 @@
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
-
-require 'bundler/setup' # Set up gems listed in the Gemfile.
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
+
+require 'bundler/setup' # Set up gems listed in the Gemfile.
diff --git a/ACSmI/Contracting/config/database.yml b/ACSmI/Contracting/config/database.yml
index 04ddebbbe9576ae57905f7f07e157ff0760d0d88..bfcaf8c41d70f6e39112de9d902f902343ab5ac1 100644
--- a/ACSmI/Contracting/config/database.yml
+++ b/ACSmI/Contracting/config/database.yml
@@ -1,25 +1,25 @@
-# SQLite version 3.x
-#   gem install sqlite3
-#
-#   Ensure the SQLite 3 gem is defined in your Gemfile
-#   gem 'sqlite3'
-#
-default: &default
-  adapter: sqlite3
-  pool: 5
-  timeout: 5000
-
-development:
-  <<: *default
-  database: db/development.sqlite3
-
-# Warning: The database defined as "test" will be erased and
-# re-generated from your development database when you run "rake".
-# Do not set this db to the same as development or production.
-test:
-  <<: *default
-  database: db/test.sqlite3
-
-production:
-  <<: *default
-  database: ../acsmi_db/production.sqlite3
+# SQLite version 3.x
+#   gem install sqlite3
+#
+#   Ensure the SQLite 3 gem is defined in your Gemfile
+#   gem 'sqlite3'
+#
+default: &default
+  adapter: sqlite3
+  pool: 5
+  timeout: 5000
+
+development:
+  <<: *default
+  database: db/development.sqlite3
+
+# Warning: The database defined as "test" will be erased and
+# re-generated from your development database when you run "rake".
+# Do not set this db to the same as development or production.
+test:
+  <<: *default
+  database: db/test.sqlite3
+
+production:
+  <<: *default
+  database: ../acsmi_db/production.sqlite3
diff --git a/ACSmI/Contracting/config/environment.rb b/ACSmI/Contracting/config/environment.rb
index ee8d90dc651948269f1b869953ff04774e737307..a925c89e600d5a90cbd3ae6f42e3c1487b4937c7 100644
--- a/ACSmI/Contracting/config/environment.rb
+++ b/ACSmI/Contracting/config/environment.rb
@@ -1,5 +1,5 @@
-# Load the Rails application.
-require File.expand_path('../application', __FILE__)
-
-# Initialize the Rails application.
-Rails.application.initialize!
+# Load the Rails application.
+require File.expand_path('../application', __FILE__)
+
+# Initialize the Rails application.
+Rails.application.initialize!
diff --git a/ACSmI/Contracting/config/environments/development.rb b/ACSmI/Contracting/config/environments/development.rb
index b55e2144b6b9ef10c12c1900302cb24a242ee7d2..e8bd78863c5f43148df1bb2e37bb81841e5ae39a 100644
--- a/ACSmI/Contracting/config/environments/development.rb
+++ b/ACSmI/Contracting/config/environments/development.rb
@@ -1,41 +1,41 @@
-Rails.application.configure do
-  # Settings specified here will take precedence over those in config/application.rb.
-
-  # In the development environment your application's code is reloaded on
-  # every request. This slows down response time but is perfect for development
-  # since you don't have to restart the web server when you make code changes.
-  config.cache_classes = false
-
-  # Do not eager load code on boot.
-  config.eager_load = false
-
-  # Show full error reports and disable caching.
-  config.consider_all_requests_local       = true
-  config.action_controller.perform_caching = false
-
-  # Don't care if the mailer can't send.
-  config.action_mailer.raise_delivery_errors = false
-
-  # Print deprecation notices to the Rails logger.
-  config.active_support.deprecation = :log
-
-  # Raise an error on page load if there are pending migrations.
-  config.active_record.migration_error = :page_load
-
-  # Debug mode disables concatenation and preprocessing of assets.
-  # This option may cause significant delays in view rendering with a large
-  # number of complex assets.
-  config.assets.debug = true
-
-  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
-  # yet still be able to expire them through the digest params.
-  config.assets.digest = true
-
-  # Adds additional error checking when serving assets at runtime.
-  # Checks for improperly declared sprockets dependencies.
-  # Raises helpful error messages.
-  config.assets.raise_runtime_errors = true
-
-  # Raises error for missing translations
-  # config.action_view.raise_on_missing_translations = true
-end
+Rails.application.configure do
+  # Settings specified here will take precedence over those in config/application.rb.
+
+  # In the development environment your application's code is reloaded on
+  # every request. This slows down response time but is perfect for development
+  # since you don't have to restart the web server when you make code changes.
+  config.cache_classes = false
+
+  # Do not eager load code on boot.
+  config.eager_load = false
+
+  # Show full error reports and disable caching.
+  config.consider_all_requests_local       = true
+  config.action_controller.perform_caching = false
+
+  # Don't care if the mailer can't send.
+  config.action_mailer.raise_delivery_errors = false
+
+  # Print deprecation notices to the Rails logger.
+  config.active_support.deprecation = :log
+
+  # Raise an error on page load if there are pending migrations.
+  config.active_record.migration_error = :page_load
+
+  # Debug mode disables concatenation and preprocessing of assets.
+  # This option may cause significant delays in view rendering with a large
+  # number of complex assets.
+  config.assets.debug = true
+
+  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
+  # yet still be able to expire them through the digest params.
+  config.assets.digest = true
+
+  # Adds additional error checking when serving assets at runtime.
+  # Checks for improperly declared sprockets dependencies.
+  # Raises helpful error messages.
+  config.assets.raise_runtime_errors = true
+
+  # Raises error for missing translations
+  # config.action_view.raise_on_missing_translations = true
+end
diff --git a/ACSmI/Contracting/config/environments/production.rb b/ACSmI/Contracting/config/environments/production.rb
index 10a93ddf6ace345a26f0b82f0e0b4d1debb4c8d3..86514bce12b6ff04eb554bb2ea8f900b15df9e61 100644
--- a/ACSmI/Contracting/config/environments/production.rb
+++ b/ACSmI/Contracting/config/environments/production.rb
@@ -1,79 +1,79 @@
-Rails.application.configure do
-  # Settings specified here will take precedence over those in config/application.rb.
-
-  # Code is not reloaded between requests.
-  config.cache_classes = true
-
-  # Eager load code on boot. This eager loads most of Rails and
-  # your application in memory, allowing both threaded web servers
-  # and those relying on copy on write to perform better.
-  # Rake tasks automatically ignore this option for performance.
-  config.eager_load = true
-
-  # Full error reports are disabled and caching is turned on.
-  config.consider_all_requests_local       = false
-  config.action_controller.perform_caching = true
-
-  # Enable Rack::Cache to put a simple HTTP cache in front of your application
-  # Add `rack-cache` to your Gemfile before enabling this.
-  # For large-scale production use, consider using a caching reverse proxy like
-  # NGINX, varnish or squid.
-  # config.action_dispatch.rack_cache = true
-
-  # Disable serving static files from the `/public` folder by default since
-  # Apache or NGINX already handles this.
-  config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
-
-  # Compress JavaScripts and CSS.
-  config.assets.js_compressor = :uglifier
-  # config.assets.css_compressor = :sass
-
-  # Do not fallback to assets pipeline if a precompiled asset is missed.
-  config.assets.compile = true
-
-  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
-  # yet still be able to expire them through the digest params.
-  config.assets.digest = true
-
-  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
-
-  # Specifies the header that your server uses for sending files.
-  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
-  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
-
-  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
-  # config.force_ssl = true
-
-  # Use the lowest log level to ensure availability of diagnostic information
-  # when problems arise.
-  config.log_level = :debug
-
-  # Prepend all log lines with the following tags.
-  # config.log_tags = [ :subdomain, :uuid ]
-
-  # Use a different logger for distributed setups.
-  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
-
-  # Use a different cache store in production.
-  # config.cache_store = :mem_cache_store
-
-  # Enable serving of images, stylesheets, and JavaScripts from an asset server.
-  # config.action_controller.asset_host = 'http://assets.example.com'
-
-  # Ignore bad email addresses and do not raise email delivery errors.
-  # Set this to true and configure the email server for immediate delivery to raise delivery errors.
-  # config.action_mailer.raise_delivery_errors = false
-
-  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
-  # the I18n.default_locale when a translation cannot be found).
-  config.i18n.fallbacks = true
-
-  # Send deprecation notices to registered listeners.
-  config.active_support.deprecation = :notify
-
-  # Use default logging formatter so that PID and timestamp are not suppressed.
-  config.log_formatter = ::Logger::Formatter.new
-
-  # Do not dump schema after migrations.
-  config.active_record.dump_schema_after_migration = false
-end
+Rails.application.configure do
+  # Settings specified here will take precedence over those in config/application.rb.
+
+  # Code is not reloaded between requests.
+  config.cache_classes = true
+
+  # Eager load code on boot. This eager loads most of Rails and
+  # your application in memory, allowing both threaded web servers
+  # and those relying on copy on write to perform better.
+  # Rake tasks automatically ignore this option for performance.
+  config.eager_load = true
+
+  # Full error reports are disabled and caching is turned on.
+  config.consider_all_requests_local       = false
+  config.action_controller.perform_caching = true
+
+  # Enable Rack::Cache to put a simple HTTP cache in front of your application
+  # Add `rack-cache` to your Gemfile before enabling this.
+  # For large-scale production use, consider using a caching reverse proxy like
+  # NGINX, varnish or squid.
+  # config.action_dispatch.rack_cache = true
+
+  # Disable serving static files from the `/public` folder by default since
+  # Apache or NGINX already handles this.
+  config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
+
+  # Compress JavaScripts and CSS.
+  config.assets.js_compressor = :uglifier
+  # config.assets.css_compressor = :sass
+
+  # Do not fallback to assets pipeline if a precompiled asset is missed.
+  config.assets.compile = true
+
+  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
+  # yet still be able to expire them through the digest params.
+  config.assets.digest = true
+
+  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
+
+  # Specifies the header that your server uses for sending files.
+  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
+  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
+
+  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
+  # config.force_ssl = true
+
+  # Use the lowest log level to ensure availability of diagnostic information
+  # when problems arise.
+  config.log_level = :debug
+
+  # Prepend all log lines with the following tags.
+  # config.log_tags = [ :subdomain, :uuid ]
+
+  # Use a different logger for distributed setups.
+  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
+
+  # Use a different cache store in production.
+  # config.cache_store = :mem_cache_store
+
+  # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+  # config.action_controller.asset_host = 'http://assets.example.com'
+
+  # Ignore bad email addresses and do not raise email delivery errors.
+  # Set this to true and configure the email server for immediate delivery to raise delivery errors.
+  # config.action_mailer.raise_delivery_errors = false
+
+  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
+  # the I18n.default_locale when a translation cannot be found).
+  config.i18n.fallbacks = true
+
+  # Send deprecation notices to registered listeners.
+  config.active_support.deprecation = :notify
+
+  # Use default logging formatter so that PID and timestamp are not suppressed.
+  config.log_formatter = ::Logger::Formatter.new
+
+  # Do not dump schema after migrations.
+  config.active_record.dump_schema_after_migration = false
+end
diff --git a/ACSmI/Contracting/config/environments/test.rb b/ACSmI/Contracting/config/environments/test.rb
index 1c19f08b28341c59bd4cfe1834e29f877e5fc22e..d14cf83298b5b80c3cf2ec60715802c38972e345 100644
--- a/ACSmI/Contracting/config/environments/test.rb
+++ b/ACSmI/Contracting/config/environments/test.rb
@@ -1,42 +1,42 @@
-Rails.application.configure do
-  # Settings specified here will take precedence over those in config/application.rb.
-
-  # The test environment is used exclusively to run your application's
-  # test suite. You never need to work with it otherwise. Remember that
-  # your test database is "scratch space" for the test suite and is wiped
-  # and recreated between test runs. Don't rely on the data there!
-  config.cache_classes = true
-
-  # Do not eager load code on boot. This avoids loading your whole application
-  # just for the purpose of running a single test. If you are using a tool that
-  # preloads Rails for running tests, you may have to set it to true.
-  config.eager_load = false
-
-  # Configure static file server for tests with Cache-Control for performance.
-  config.serve_static_files   = true
-  config.static_cache_control = 'public, max-age=3600'
-
-  # Show full error reports and disable caching.
-  config.consider_all_requests_local       = true
-  config.action_controller.perform_caching = false
-
-  # Raise exceptions instead of rendering exception templates.
-  config.action_dispatch.show_exceptions = false
-
-  # Disable request forgery protection in test environment.
-  config.action_controller.allow_forgery_protection = false
-
-  # Tell Action Mailer not to deliver emails to the real world.
-  # The :test delivery method accumulates sent emails in the
-  # ActionMailer::Base.deliveries array.
-  config.action_mailer.delivery_method = :test
-
-  # Randomize the order test cases are executed.
-  config.active_support.test_order = :random
-
-  # Print deprecation notices to the stderr.
-  config.active_support.deprecation = :stderr
-
-  # Raises error for missing translations
-  # config.action_view.raise_on_missing_translations = true
-end
+Rails.application.configure do
+  # Settings specified here will take precedence over those in config/application.rb.
+
+  # The test environment is used exclusively to run your application's
+  # test suite. You never need to work with it otherwise. Remember that
+  # your test database is "scratch space" for the test suite and is wiped
+  # and recreated between test runs. Don't rely on the data there!
+  config.cache_classes = true
+
+  # Do not eager load code on boot. This avoids loading your whole application
+  # just for the purpose of running a single test. If you are using a tool that
+  # preloads Rails for running tests, you may have to set it to true.
+  config.eager_load = false
+
+  # Configure static file server for tests with Cache-Control for performance.
+  config.serve_static_files   = true
+  config.static_cache_control = 'public, max-age=3600'
+
+  # Show full error reports and disable caching.
+  config.consider_all_requests_local       = true
+  config.action_controller.perform_caching = false
+
+  # Raise exceptions instead of rendering exception templates.
+  config.action_dispatch.show_exceptions = false
+
+  # Disable request forgery protection in test environment.
+  config.action_controller.allow_forgery_protection = false
+
+  # Tell Action Mailer not to deliver emails to the real world.
+  # The :test delivery method accumulates sent emails in the
+  # ActionMailer::Base.deliveries array.
+  config.action_mailer.delivery_method = :test
+
+  # Randomize the order test cases are executed.
+  config.active_support.test_order = :random
+
+  # Print deprecation notices to the stderr.
+  config.active_support.deprecation = :stderr
+
+  # Raises error for missing translations
+  # config.action_view.raise_on_missing_translations = true
+end
diff --git a/ACSmI/Contracting/config/initializers/assets.rb b/ACSmI/Contracting/config/initializers/assets.rb
index 01ef3e6630af133b41bd954e220f31231aa281d9..d38f9581d87ec2d58b46622f2bdf7da9f1d5a83d 100644
--- a/ACSmI/Contracting/config/initializers/assets.rb
+++ b/ACSmI/Contracting/config/initializers/assets.rb
@@ -1,11 +1,11 @@
-# Be sure to restart your server when you modify this file.
-
-# Version of your assets, change this if you want to expire all your assets.
-Rails.application.config.assets.version = '1.0'
-
-# Add additional assets to the asset load path
-# Rails.application.config.assets.paths << Emoji.images_path
-
-# Precompile additional assets.
-# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
-# Rails.application.config.assets.precompile += %w( search.js )
+# Be sure to restart your server when you modify this file.
+
+# Version of your assets, change this if you want to expire all your assets.
+Rails.application.config.assets.version = '1.0'
+
+# Add additional assets to the asset load path
+# Rails.application.config.assets.paths << Emoji.images_path
+
+# Precompile additional assets.
+# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
+# Rails.application.config.assets.precompile += %w( search.js )
diff --git a/ACSmI/Contracting/config/initializers/backtrace_silencers.rb b/ACSmI/Contracting/config/initializers/backtrace_silencers.rb
index 59385cdf379bd06a8d2326dcd4de6d5cd5d3f5b0..803738d702a0c721b3e0f5ce22572826899a33a8 100644
--- a/ACSmI/Contracting/config/initializers/backtrace_silencers.rb
+++ b/ACSmI/Contracting/config/initializers/backtrace_silencers.rb
@@ -1,7 +1,7 @@
-# Be sure to restart your server when you modify this file.
-
-# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
-# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
-
-# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
-# Rails.backtrace_cleaner.remove_silencers!
+# Be sure to restart your server when you modify this file.
+
+# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
+# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
+
+# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
+# Rails.backtrace_cleaner.remove_silencers!
diff --git a/ACSmI/Contracting/config/initializers/cookies_serializer.rb b/ACSmI/Contracting/config/initializers/cookies_serializer.rb
index 7f70458dee62b4a0f5233e4be7b8838b8400cbe8..1ea6ed8d86cec7ce2140bcb103709c6daf1f4fb4 100644
--- a/ACSmI/Contracting/config/initializers/cookies_serializer.rb
+++ b/ACSmI/Contracting/config/initializers/cookies_serializer.rb
@@ -1,3 +1,3 @@
-# Be sure to restart your server when you modify this file.
-
-Rails.application.config.action_dispatch.cookies_serializer = :json
+# Be sure to restart your server when you modify this file.
+
+Rails.application.config.action_dispatch.cookies_serializer = :json
diff --git a/ACSmI/Contracting/config/initializers/filter_parameter_logging.rb b/ACSmI/Contracting/config/initializers/filter_parameter_logging.rb
index 4a994e1e7bb7ce28dcec98bad48b9a891d7dec51..180af8a4d54dc1bda143ebb2827e0ccd091a398e 100644
--- a/ACSmI/Contracting/config/initializers/filter_parameter_logging.rb
+++ b/ACSmI/Contracting/config/initializers/filter_parameter_logging.rb
@@ -1,4 +1,4 @@
-# Be sure to restart your server when you modify this file.
-
-# Configure sensitive parameters which will be filtered from the log file.
-Rails.application.config.filter_parameters += [:password]
+# Be sure to restart your server when you modify this file.
+
+# Configure sensitive parameters which will be filtered from the log file.
+Rails.application.config.filter_parameters += [:password]
diff --git a/ACSmI/Contracting/config/initializers/inflections.rb b/ACSmI/Contracting/config/initializers/inflections.rb
index ac033bf9dc846101320c96a5ce8aceb8c96ec098..d173fb9fa24f2c6999e3eae71e4397e622865c86 100644
--- a/ACSmI/Contracting/config/initializers/inflections.rb
+++ b/ACSmI/Contracting/config/initializers/inflections.rb
@@ -1,16 +1,16 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new inflection rules using the following format. Inflections
-# are locale specific, and you may define rules for as many different
-# locales as you wish. All of these examples are active by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-#   inflect.plural /^(ox)$/i, '\1en'
-#   inflect.singular /^(ox)en/i, '\1'
-#   inflect.irregular 'person', 'people'
-#   inflect.uncountable %w( fish sheep )
-# end
-
-# These inflection rules are supported but not enabled by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-#   inflect.acronym 'RESTful'
-# end
+# Be sure to restart your server when you modify this file.
+
+# Add new inflection rules using the following format. Inflections
+# are locale specific, and you may define rules for as many different
+# locales as you wish. All of these examples are active by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+#   inflect.plural /^(ox)$/i, '\1en'
+#   inflect.singular /^(ox)en/i, '\1'
+#   inflect.irregular 'person', 'people'
+#   inflect.uncountable %w( fish sheep )
+# end
+
+# These inflection rules are supported but not enabled by default:
+# ActiveSupport::Inflector.inflections(:en) do |inflect|
+#   inflect.acronym 'RESTful'
+# end
diff --git a/ACSmI/Contracting/config/initializers/mime_types.rb b/ACSmI/Contracting/config/initializers/mime_types.rb
index dc1899682b01c3a6d9673faf746e235fb64fc4d2..b9979aa8a7f29de19af6122c7a6d31d78c29159c 100644
--- a/ACSmI/Contracting/config/initializers/mime_types.rb
+++ b/ACSmI/Contracting/config/initializers/mime_types.rb
@@ -1,4 +1,4 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new mime types for use in respond_to blocks:
-# Mime::Type.register "text/richtext", :rtf
+# Be sure to restart your server when you modify this file.
+
+# Add new mime types for use in respond_to blocks:
+# Mime::Type.register "text/richtext", :rtf
diff --git a/ACSmI/Contracting/config/initializers/to_time_preserves_timezone.rb b/ACSmI/Contracting/config/initializers/to_time_preserves_timezone.rb
index 8674be3227e03b2efd3c599193e14a48a004e9a1..f8cf238f91a18e3e748c89ef60cfca41733916e0 100644
--- a/ACSmI/Contracting/config/initializers/to_time_preserves_timezone.rb
+++ b/ACSmI/Contracting/config/initializers/to_time_preserves_timezone.rb
@@ -1,10 +1,10 @@
-# Be sure to restart your server when you modify this file.
-
-# Preserve the timezone of the receiver when calling to `to_time`.
-# Ruby 2.4 will change the behavior of `to_time` to preserve the timezone
-# when converting to an instance of `Time` instead of the previous behavior
-# of converting to the local system timezone.
-#
-# Rails 5.0 introduced this config option so that apps made with earlier
-# versions of Rails are not affected when upgrading.
-ActiveSupport.to_time_preserves_timezone = true
+# Be sure to restart your server when you modify this file.
+
+# Preserve the timezone of the receiver when calling to `to_time`.
+# Ruby 2.4 will change the behavior of `to_time` to preserve the timezone
+# when converting to an instance of `Time` instead of the previous behavior
+# of converting to the local system timezone.
+#
+# Rails 5.0 introduced this config option so that apps made with earlier
+# versions of Rails are not affected when upgrading.
+ActiveSupport.to_time_preserves_timezone = true
diff --git a/ACSmI/Contracting/config/initializers/wrap_parameters.rb b/ACSmI/Contracting/config/initializers/wrap_parameters.rb
index 33725e95fd22b9053f75ef6626aa1af781ebe947..466d360edeb7a494914a270a8fdc474f6f849e10 100644
--- a/ACSmI/Contracting/config/initializers/wrap_parameters.rb
+++ b/ACSmI/Contracting/config/initializers/wrap_parameters.rb
@@ -1,14 +1,14 @@
-# Be sure to restart your server when you modify this file.
-
-# This file contains settings for ActionController::ParamsWrapper which
-# is enabled by default.
-
-# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
-ActiveSupport.on_load(:action_controller) do
-  wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
-end
-
-# To enable root element in JSON for ActiveRecord objects.
-# ActiveSupport.on_load(:active_record) do
-#  self.include_root_in_json = true
-# end
+# Be sure to restart your server when you modify this file.
+
+# This file contains settings for ActionController::ParamsWrapper which
+# is enabled by default.
+
+# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
+ActiveSupport.on_load(:action_controller) do
+  wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
+end
+
+# To enable root element in JSON for ActiveRecord objects.
+# ActiveSupport.on_load(:active_record) do
+#  self.include_root_in_json = true
+# end
diff --git a/ACSmI/Contracting/config/locales/en.yml b/ACSmI/Contracting/config/locales/en.yml
index 0653957166e8182880bb87b56e36c257c988dd92..374ca54256a74c3d3c24f8baec015d63bfdbff3e 100644
--- a/ACSmI/Contracting/config/locales/en.yml
+++ b/ACSmI/Contracting/config/locales/en.yml
@@ -1,23 +1,23 @@
-# Files in the config/locales directory are used for internationalization
-# and are automatically loaded by Rails. If you want to use locales other
-# than English, add the necessary files in this directory.
-#
-# To use the locales, use `I18n.t`:
-#
-#     I18n.t 'hello'
-#
-# In views, this is aliased to just `t`:
-#
-#     <%= t('hello') %>
-#
-# To use a different locale, set it with `I18n.locale`:
-#
-#     I18n.locale = :es
-#
-# This would use the information in config/locales/es.yml.
-#
-# To learn more, please read the Rails Internationalization guide
-# available at http://guides.rubyonrails.org/i18n.html.
-
-en:
-  hello: "Hello world"
+# Files in the config/locales directory are used for internationalization
+# and are automatically loaded by Rails. If you want to use locales other
+# than English, add the necessary files in this directory.
+#
+# To use the locales, use `I18n.t`:
+#
+#     I18n.t 'hello'
+#
+# In views, this is aliased to just `t`:
+#
+#     <%= t('hello') %>
+#
+# To use a different locale, set it with `I18n.locale`:
+#
+#     I18n.locale = :es
+#
+# This would use the information in config/locales/es.yml.
+#
+# To learn more, please read the Rails Internationalization guide
+# available at http://guides.rubyonrails.org/i18n.html.
+
+en:
+  hello: "Hello world"
diff --git a/ACSmI/Contracting/config/routes.rb b/ACSmI/Contracting/config/routes.rb
index 2da200028c9f35eeae2a71cfccd88f04347964c7..58b16ed4c9ee3e26d89c7516aaa90d6c38d91008 100644
--- a/ACSmI/Contracting/config/routes.rb
+++ b/ACSmI/Contracting/config/routes.rb
@@ -1,46 +1,46 @@
-Rails.application.routes.draw do
-  root to: 'welcome#index'
-
-  resources :sessions, only: [:index] do
-    collection do
-      post :start_demo
-    end
-    member do
-      post :own_creds_or_contract
-      post :use_own_creds
-      get :setup_contracting
-      get :success
-
-      # AJAX
-      post :check_existing_contract
-      post :prepare_new_contract
-    end
-  end
-
-  resources :contracts, only: %i[index show destroy]
-
-  get '/license', to: 'information#license'
-  get '/api_info', to: 'information#api_info'
-  get '/usage_terms', to: 'information#usage_terms'
-
-  delete '/sign_out', to: 'user_sessions#destroy', as: :sign_out
-  post '/sign_in', to: 'user_sessions#create', as: :sign_in
-  get '/sign_in', to: 'user_sessions#new'
-
-  namespace :decide do
-    namespace :acsmi do
-      namespace :contracting do
-        namespace :api, defaults: {format: :json}, constraints: {format: :json} do
-          namespace :v1 do
-            resources :sessions, only: [:create] do
-              member do
-                get :credentials
-              end
-            end
-          end
-        end
-      end
-    end
-  end
-
-end
+Rails.application.routes.draw do
+  root to: 'welcome#index'
+
+  resources :sessions, only: [:index] do
+    collection do
+      post :start_demo
+    end
+    member do
+      post :own_creds_or_contract
+      post :use_own_creds
+      get :setup_contracting
+      get :success
+
+      # AJAX
+      post :check_existing_contract
+      post :prepare_new_contract
+    end
+  end
+
+  resources :contracts, only: %i[index show destroy]
+
+  get '/license', to: 'information#license'
+  get '/api_info', to: 'information#api_info'
+  get '/usage_terms', to: 'information#usage_terms'
+
+  delete '/sign_out', to: 'user_sessions#destroy', as: :sign_out
+  post '/sign_in', to: 'user_sessions#create', as: :sign_in
+  get '/sign_in', to: 'user_sessions#new'
+
+  namespace :decide do
+    namespace :acsmi do
+      namespace :contracting do
+        namespace :api, defaults: {format: :json}, constraints: {format: :json} do
+          namespace :v1 do
+            resources :sessions, only: [:create] do
+              member do
+                get :credentials
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+
+end
diff --git a/ACSmI/Contracting/config/secrets.yml b/ACSmI/Contracting/config/secrets.yml
index e4e8beb59d168975a2f46e93c5a24c01da9b7ce8..44fedf03508464c9e0d43bae208a1de691a91330 100644
--- a/ACSmI/Contracting/config/secrets.yml
+++ b/ACSmI/Contracting/config/secrets.yml
@@ -1,8 +1,8 @@
-development:
-  secret_key_base: 3c4a72436a8d25bd8442a7927b20eb7ffb2e0e7cd3345141a9a83bd44111eb0a32a5cad742a0a032f001a4588d82837072db62339f9e0496529180627d7d6c2a
-
-test:
-  secret_key_base: 3e7a97fe0fd292c1f05adfdc7656eb688982788872a712399b7d64ffff849585481a5be0e12f20db6fa580f85866157683633e610c417b7d924c610b2f706576
-
-production:
-  secret_key_base: b20eb7ffb2e0e7cd3345141a9580f858661576836a83bd44111eb0a32a5cad742a0a585481a5be0e12f20db6fa580f85866157683633e610c417b7d924c610b2f
+development:
+  secret_key_base: 3c4a72436a8d25bd8442a7927b20eb7ffb2e0e7cd3345141a9a83bd44111eb0a32a5cad742a0a032f001a4588d82837072db62339f9e0496529180627d7d6c2a
+
+test:
+  secret_key_base: 3e7a97fe0fd292c1f05adfdc7656eb688982788872a712399b7d64ffff849585481a5be0e12f20db6fa580f85866157683633e610c417b7d924c610b2f706576
+
+production:
+  secret_key_base: b20eb7ffb2e0e7cd3345141a9580f858661576836a83bd44111eb0a32a5cad742a0a585481a5be0e12f20db6fa580f85866157683633e610c417b7d924c610b2f
diff --git a/ACSmI/Contracting/db/migrate/20171117102726_create_users.rb b/ACSmI/Contracting/db/migrate/20171117102726_create_users.rb
index 11211de9fcf62e06f0f0c7f03719a97d60b34471..d5ecd61afadfd7fbe1492a795c3c36a0088a9ab7 100644
--- a/ACSmI/Contracting/db/migrate/20171117102726_create_users.rb
+++ b/ACSmI/Contracting/db/migrate/20171117102726_create_users.rb
@@ -1,25 +1,25 @@
-class CreateUsers < ActiveRecord::Migration
-  def change
-    create_table :users do |t|
-      t.string :email, null: false
-      t.string :crypted_password
-      t.string :password_salt
-      t.string :persistence_token
-
-      t.string :full_name, null: false
-      t.string :organization
-      t.string :address
-      t.string :platform_id
-
-      t.string :encrypted_platform_email
-      t.string :encrypted_platform_email_iv
-      t.string :encrypted_platform_password
-      t.string :encrypted_platform_password_iv
-
-      t.timestamps
-    end
-
-    add_index :users, :email, unique: true
-    add_index :users, :persistence_token, unique: true
-  end
-end
+class CreateUsers < ActiveRecord::Migration
+  def change
+    create_table :users do |t|
+      t.string :email, null: false
+      t.string :crypted_password
+      t.string :password_salt
+      t.string :persistence_token
+
+      t.string :full_name, null: false
+      t.string :organization
+      t.string :address
+      t.string :platform_id
+
+      t.string :encrypted_platform_email
+      t.string :encrypted_platform_email_iv
+      t.string :encrypted_platform_password
+      t.string :encrypted_platform_password_iv
+
+      t.timestamps
+    end
+
+    add_index :users, :email, unique: true
+    add_index :users, :persistence_token, unique: true
+  end
+end
diff --git a/ACSmI/Contracting/db/migrate/20171117102735_create_settings.rb b/ACSmI/Contracting/db/migrate/20171117102735_create_settings.rb
index 1572d35c1a83c97bdf52f16af76db490ceed3c99..34c7bb18b3aff2829d7f297587a9c11020f17455 100644
--- a/ACSmI/Contracting/db/migrate/20171117102735_create_settings.rb
+++ b/ACSmI/Contracting/db/migrate/20171117102735_create_settings.rb
@@ -1,13 +1,13 @@
-class CreateSettings < ActiveRecord::Migration
-  def change
-    create_table :settings do |t|
-      t.string :key, null: false
-      t.string :encrypted_value
-      t.string :encrypted_value_iv
-
-      t.timestamps
-    end
-
-    add_index :settings, :key
-  end
-end
+class CreateSettings < ActiveRecord::Migration
+  def change
+    create_table :settings do |t|
+      t.string :key, null: false
+      t.string :encrypted_value
+      t.string :encrypted_value_iv
+
+      t.timestamps
+    end
+
+    add_index :settings, :key
+  end
+end
diff --git a/ACSmI/Contracting/db/migrate/20171117102747_create_contracts.rb b/ACSmI/Contracting/db/migrate/20171117102747_create_contracts.rb
index cbb08b70f4a24842d464a3db3b3894a40ff809af..282ce4cee69f2a193efff45be06e2c9477e382a0 100644
--- a/ACSmI/Contracting/db/migrate/20171117102747_create_contracts.rb
+++ b/ACSmI/Contracting/db/migrate/20171117102747_create_contracts.rb
@@ -1,11 +1,11 @@
-class CreateContracts < ActiveRecord::Migration
-  def change
-    create_table :contracts do |t|
-      t.references :user
-      t.string :resource_id
-      t.string :resource_name
-
-      t.timestamps
-    end
-  end
-end
+class CreateContracts < ActiveRecord::Migration
+  def change
+    create_table :contracts do |t|
+      t.references :user
+      t.string :resource_id
+      t.string :resource_name
+
+      t.timestamps
+    end
+  end
+end
diff --git a/ACSmI/Contracting/db/migrate/20171117102751_create_sessions.rb b/ACSmI/Contracting/db/migrate/20171117102751_create_sessions.rb
index d295e8f3234bce4750cbfecb2a32507d1ed439df..d694d78a38c4ee5581f4b51f9efe4f9e6cee3a80 100644
--- a/ACSmI/Contracting/db/migrate/20171117102751_create_sessions.rb
+++ b/ACSmI/Contracting/db/migrate/20171117102751_create_sessions.rb
@@ -1,14 +1,14 @@
-class CreateSessions < ActiveRecord::Migration
-  def change
-    create_table :sessions, id: false  do |t|
-      t.primary_key :id, :string, limit: 36
-      t.references :contract
-      t.references :user
-      t.string :resource_id
-      t.string :resource_name
-
-      t.string :aasm_state
-      t.timestamps
-    end
-  end
-end
+class CreateSessions < ActiveRecord::Migration
+  def change
+    create_table :sessions, id: false  do |t|
+      t.primary_key :id, :string, limit: 36
+      t.references :contract
+      t.references :user
+      t.string :resource_id
+      t.string :resource_name
+
+      t.string :aasm_state
+      t.timestamps
+    end
+  end
+end
diff --git a/ACSmI/Contracting/db/migrate/20171117102757_create_credential_fields.rb b/ACSmI/Contracting/db/migrate/20171117102757_create_credential_fields.rb
index 705ddbbf2ce043cef337c09adbb4a7116dcfe131..8fa1e092df6a886c5e800b0f5967c341045db203 100644
--- a/ACSmI/Contracting/db/migrate/20171117102757_create_credential_fields.rb
+++ b/ACSmI/Contracting/db/migrate/20171117102757_create_credential_fields.rb
@@ -1,13 +1,13 @@
-class CreateCredentialFields < ActiveRecord::Migration
-  def change
-    create_table :credential_fields do |t|
-      t.string :session_id, null: false
-
-      t.string :name, null: false
-      t.string :encrypted_value
-      t.string :encrypted_value_iv
-
-      t.timestamps
-    end
-  end
-end
+class CreateCredentialFields < ActiveRecord::Migration
+  def change
+    create_table :credential_fields do |t|
+      t.string :session_id, null: false
+
+      t.string :name, null: false
+      t.string :encrypted_value
+      t.string :encrypted_value_iv
+
+      t.timestamps
+    end
+  end
+end
diff --git a/ACSmI/Contracting/db/schema.rb b/ACSmI/Contracting/db/schema.rb
index 0f406d2b41e13ca06f0defdddffc0061e82c50de..2034458dfb26f25dd992c48dd960f89af6e0fc34 100644
--- a/ACSmI/Contracting/db/schema.rb
+++ b/ACSmI/Contracting/db/schema.rb
@@ -1,74 +1,74 @@
-# encoding: UTF-8
-# This file is auto-generated from the current state of the database. Instead
-# of editing this file, please use the migrations feature of Active Record to
-# incrementally modify your database, and then regenerate this schema definition.
-#
-# Note that this schema.rb definition is the authoritative source for your
-# database schema. If you need to create the application database on another
-# system, you should be using db:schema:load, not running all the migrations
-# from scratch. The latter is a flawed and unsustainable approach (the more migrations
-# you'll amass, the slower it'll run and the greater likelihood for issues).
-#
-# It's strongly recommended that you check this file into your version control system.
-
-ActiveRecord::Schema.define(version: 20171117102757) do
-
-  create_table "contracts", force: :cascade do |t|
-    t.integer  "user_id"
-    t.string   "resource_id"
-    t.string   "resource_name"
-    t.datetime "created_at"
-    t.datetime "updated_at"
-  end
-
-  create_table "credential_fields", force: :cascade do |t|
-    t.string   "session_id",         null: false
-    t.string   "name",               null: false
-    t.string   "encrypted_value"
-    t.string   "encrypted_value_iv"
-    t.datetime "created_at"
-    t.datetime "updated_at"
-  end
-
-  create_table "sessions", id: false, force: :cascade do |t|
-    t.string   "id",            limit: 36
-    t.integer  "contract_id"
-    t.integer  "user_id"
-    t.string   "resource_id"
-    t.string   "resource_name"
-    t.string   "aasm_state"
-    t.datetime "created_at"
-    t.datetime "updated_at"
-  end
-
-  create_table "settings", force: :cascade do |t|
-    t.string   "key",                null: false
-    t.string   "encrypted_value"
-    t.string   "encrypted_value_iv"
-    t.datetime "created_at"
-    t.datetime "updated_at"
-  end
-
-  add_index "settings", ["key"], name: "index_settings_on_key"
-
-  create_table "users", force: :cascade do |t|
-    t.string   "email",                          null: false
-    t.string   "crypted_password"
-    t.string   "password_salt"
-    t.string   "persistence_token"
-    t.string   "full_name",                      null: false
-    t.string   "organization"
-    t.string   "address"
-    t.string   "platform_id"
-    t.string   "encrypted_platform_email"
-    t.string   "encrypted_platform_email_iv"
-    t.string   "encrypted_platform_password"
-    t.string   "encrypted_platform_password_iv"
-    t.datetime "created_at"
-    t.datetime "updated_at"
-  end
-
-  add_index "users", ["email"], name: "index_users_on_email", unique: true
-  add_index "users", ["persistence_token"], name: "index_users_on_persistence_token", unique: true
-
-end
+# encoding: UTF-8
+# This file is auto-generated from the current state of the database. Instead
+# of editing this file, please use the migrations feature of Active Record to
+# incrementally modify your database, and then regenerate this schema definition.
+#
+# Note that this schema.rb definition is the authoritative source for your
+# database schema. If you need to create the application database on another
+# system, you should be using db:schema:load, not running all the migrations
+# from scratch. The latter is a flawed and unsustainable approach (the more migrations
+# you'll amass, the slower it'll run and the greater likelihood for issues).
+#
+# It's strongly recommended that you check this file into your version control system.
+
+ActiveRecord::Schema.define(version: 20171117102757) do
+
+  create_table "contracts", force: :cascade do |t|
+    t.integer  "user_id"
+    t.string   "resource_id"
+    t.string   "resource_name"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  create_table "credential_fields", force: :cascade do |t|
+    t.string   "session_id",         null: false
+    t.string   "name",               null: false
+    t.string   "encrypted_value"
+    t.string   "encrypted_value_iv"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  create_table "sessions", id: false, force: :cascade do |t|
+    t.string   "id",            limit: 36
+    t.integer  "contract_id"
+    t.integer  "user_id"
+    t.string   "resource_id"
+    t.string   "resource_name"
+    t.string   "aasm_state"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  create_table "settings", force: :cascade do |t|
+    t.string   "key",                null: false
+    t.string   "encrypted_value"
+    t.string   "encrypted_value_iv"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  add_index "settings", ["key"], name: "index_settings_on_key"
+
+  create_table "users", force: :cascade do |t|
+    t.string   "email",                          null: false
+    t.string   "crypted_password"
+    t.string   "password_salt"
+    t.string   "persistence_token"
+    t.string   "full_name",                      null: false
+    t.string   "organization"
+    t.string   "address"
+    t.string   "platform_id"
+    t.string   "encrypted_platform_email"
+    t.string   "encrypted_platform_email_iv"
+    t.string   "encrypted_platform_password"
+    t.string   "encrypted_platform_password_iv"
+    t.datetime "created_at"
+    t.datetime "updated_at"
+  end
+
+  add_index "users", ["email"], name: "index_users_on_email", unique: true
+  add_index "users", ["persistence_token"], name: "index_users_on_persistence_token", unique: true
+
+end
diff --git a/ACSmI/Contracting/db/seeds.rb b/ACSmI/Contracting/db/seeds.rb
index e6c4f35b6a3c016d05e6e87ba37f964235d5f40f..cfdc78530633a38bf109e2c28e2b3703d18a1008 100644
--- a/ACSmI/Contracting/db/seeds.rb
+++ b/ACSmI/Contracting/db/seeds.rb
@@ -1,3 +1,3 @@
-Setting.create!(key: 'platform_url', value: 'https://decide-prototype.cloudbroker.com')
-Setting.create!(key: 'platform_email', value: 'PUT_YOUR_PLATFORM_EMAIL_HERE')
+Setting.create!(key: 'platform_url', value: 'https://decide-prototype.cloudbroker.com')
+Setting.create!(key: 'platform_email', value: 'PUT_YOUR_PLATFORM_EMAIL_HERE')
 Setting.create!(key: 'platform_password', value: 'PUT_YOUR_PLATFORM_PASSWORD_HERE')
\ No newline at end of file
diff --git a/ACSmI/Contracting/lib/platform_connector.rb b/ACSmI/Contracting/lib/platform_connector.rb
index c03ab1d83fea05bf08d6dccc5f6711f2cd3bd4a1..dad3bd781b79e8eaf9d1a0bc0f136704230c7fe3 100644
--- a/ACSmI/Contracting/lib/platform_connector.rb
+++ b/ACSmI/Contracting/lib/platform_connector.rb
@@ -1,59 +1,59 @@
-class PlatformConnector
-  require 'rest_client'
-  require 'rexml/document'
-
-  def self.register_user(email, first_name, last_name, password)
-    # use different route for ACSml user registration?
-    response = create_request('user', {email: email, 'first_name' => first_name, 'last_name' => last_name,
-                                       password: password, 'password_confirmation' => password, phone: '+48000000000',
-                                       'user_role_name' => 'standard', limit: 5})
-    response['user']['id']
-  end
-
-  def self.register_access(resource_id, user_id)
-    create_request('access', { resource_id: resource_id, user_id: user_id, use_default_account: 'true', use_default_region: 'true' })
-  end
-
-  def self.fields_for_credentials(resource_id)
-    response_to_hash(platform["/resources/#{resource_id}/fields_for_credentials"].get)['fields']
-  end
-
-  def self.resource_name_by_id(resource_id)
-    begin
-      response_to_hash(platform["/resources/#{resource_id}.xml"].get)['resource']['name']
-    rescue
-      raise "Resource with id #{resource_id} was not found"
-    end
-  end
-
-  class << self
-
-    private
-
-    def platform
-      RestClient::Resource.new(
-          Setting.value('platform_url'),
-          user: Setting.value('platform_email'),
-          password: Setting.value('platform_password'),
-          timeout: 60,
-          open_timeout: 60,
-          verify_ssl: true
-      )
-    end
-
-    def create_request(model_class, attrs = {})
-      begin
-        response = platform["#{model_class.pluralize}/create.xml"].post(attrs.to_xml(root: model_class), content_type: :xml)
-      rescue => e
-        raise "Create #{model_class} failed: #{response} #{response ? response.body : 'no-response'}; exc: #{e.message}"
-      end
-
-      Hash.from_xml(response)
-    end
-
-    def response_to_hash(response)
-      doc = REXML::Document.new(response.to_s)
-      Hash.from_xml(doc.to_s)
-    end
-  end
+class PlatformConnector
+  require 'rest_client'
+  require 'rexml/document'
+
+  def self.register_user(email, first_name, last_name, password)
+    # use different route for ACSml user registration?
+    response = create_request('user', {email: email, 'first_name' => first_name, 'last_name' => last_name,
+                                       password: password, 'password_confirmation' => password, phone: '+48000000000',
+                                       'user_role_name' => 'standard', limit: 5})
+    response['user']['id']
+  end
+
+  def self.register_access(resource_id, user_id)
+    create_request('access', { resource_id: resource_id, user_id: user_id, use_default_account: 'true', use_default_region: 'true' })
+  end
+
+  def self.fields_for_credentials(resource_id)
+    response_to_hash(platform["/resources/#{resource_id}/fields_for_credentials"].get)['fields']
+  end
+
+  def self.resource_name_by_id(resource_id)
+    begin
+      response_to_hash(platform["/resources/#{resource_id}.xml"].get)['resource']['name']
+    rescue
+      raise "Resource with id #{resource_id} was not found"
+    end
+  end
+
+  class << self
+
+    private
+
+    def platform
+      RestClient::Resource.new(
+          Setting.value('platform_url'),
+          user: Setting.value('platform_email'),
+          password: Setting.value('platform_password'),
+          timeout: 60,
+          open_timeout: 60,
+          verify_ssl: true
+      )
+    end
+
+    def create_request(model_class, attrs = {})
+      begin
+        response = platform["#{model_class.pluralize}/create.xml"].post(attrs.to_xml(root: model_class), content_type: :xml)
+      rescue => e
+        raise "Create #{model_class} failed: #{response} #{response ? response.body : 'no-response'}; exc: #{e.message}"
+      end
+
+      Hash.from_xml(response)
+    end
+
+    def response_to_hash(response)
+      doc = REXML::Document.new(response.to_s)
+      Hash.from_xml(doc.to_s)
+    end
+  end
 end
\ No newline at end of file
diff --git a/ACSmI/Contracting/public/400.html b/ACSmI/Contracting/public/400.html
index 9ac2ba09a6192529b3a22b29dfbd3015b674131f..04a7c4033c4a582786b0468b49869a935e7b4379 100644
--- a/ACSmI/Contracting/public/400.html
+++ b/ACSmI/Contracting/public/400.html
@@ -1,66 +1,66 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>We're sorry, but something went wrong (400)</title>
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <style>
-        .rails-default-error-page {
-            background-color: #EFEFEF;
-            color: #2E2F30;
-            text-align: center;
-            font-family: arial, sans-serif;
-            margin: 0;
-        }
-
-        .rails-default-error-page div.dialog {
-            width: 95%;
-            max-width: 33em;
-            margin: 4em auto 0;
-        }
-
-        .rails-default-error-page div.dialog > div {
-            border: 1px solid #CCC;
-            border-right-color: #999;
-            border-left-color: #999;
-            border-bottom-color: #BBB;
-            border-top: #B00100 solid 4px;
-            border-top-left-radius: 9px;
-            border-top-right-radius: 9px;
-            background-color: white;
-            padding: 7px 12% 0;
-            box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-        }
-
-        .rails-default-error-page h1 {
-            font-size: 100%;
-            color: #730E15;
-            line-height: 1.5em;
-        }
-
-        .rails-default-error-page div.dialog > p {
-            margin: 0 0 1em;
-            padding: 1em;
-            background-color: #F7F7F7;
-            border: 1px solid #CCC;
-            border-right-color: #999;
-            border-left-color: #999;
-            border-bottom-color: #999;
-            border-bottom-left-radius: 4px;
-            border-bottom-right-radius: 4px;
-            border-top-color: #DADADA;
-            color: #666;
-            box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-        }
-    </style>
-</head>
-
-<body class="rails-default-error-page">
-<!-- This file lives in public/500.html -->
-<div class="dialog">
-    <div>
-        <h1>We're sorry, but something went wrong.</h1>
-    </div>
-    <p>If you are the application owner check the logs for more information.</p>
-</div>
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+    <title>We're sorry, but something went wrong (400)</title>
+    <meta name="viewport" content="width=device-width,initial-scale=1">
+    <style>
+        .rails-default-error-page {
+            background-color: #EFEFEF;
+            color: #2E2F30;
+            text-align: center;
+            font-family: arial, sans-serif;
+            margin: 0;
+        }
+
+        .rails-default-error-page div.dialog {
+            width: 95%;
+            max-width: 33em;
+            margin: 4em auto 0;
+        }
+
+        .rails-default-error-page div.dialog > div {
+            border: 1px solid #CCC;
+            border-right-color: #999;
+            border-left-color: #999;
+            border-bottom-color: #BBB;
+            border-top: #B00100 solid 4px;
+            border-top-left-radius: 9px;
+            border-top-right-radius: 9px;
+            background-color: white;
+            padding: 7px 12% 0;
+            box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+        }
+
+        .rails-default-error-page h1 {
+            font-size: 100%;
+            color: #730E15;
+            line-height: 1.5em;
+        }
+
+        .rails-default-error-page div.dialog > p {
+            margin: 0 0 1em;
+            padding: 1em;
+            background-color: #F7F7F7;
+            border: 1px solid #CCC;
+            border-right-color: #999;
+            border-left-color: #999;
+            border-bottom-color: #999;
+            border-bottom-left-radius: 4px;
+            border-bottom-right-radius: 4px;
+            border-top-color: #DADADA;
+            color: #666;
+            box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+        }
+    </style>
+</head>
+
+<body class="rails-default-error-page">
+<!-- This file lives in public/500.html -->
+<div class="dialog">
+    <div>
+        <h1>We're sorry, but something went wrong.</h1>
+    </div>
+    <p>If you are the application owner check the logs for more information.</p>
+</div>
+</body>
+</html>
diff --git a/ACSmI/Contracting/public/404.html b/ACSmI/Contracting/public/404.html
index b612547fc21d079889046e65d1fb135ec6921eaa..00431b8878cc60b29dff3c264a17ab68794fc834 100644
--- a/ACSmI/Contracting/public/404.html
+++ b/ACSmI/Contracting/public/404.html
@@ -1,67 +1,67 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>The page you were looking for doesn't exist (404)</title>
-  <meta name="viewport" content="width=device-width,initial-scale=1">
-  <style>
-  body {
-    background-color: #EFEFEF;
-    color: #2E2F30;
-    text-align: center;
-    font-family: arial, sans-serif;
-    margin: 0;
-  }
-
-  div.dialog {
-    width: 95%;
-    max-width: 33em;
-    margin: 4em auto 0;
-  }
-
-  div.dialog > div {
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #BBB;
-    border-top: #B00100 solid 4px;
-    border-top-left-radius: 9px;
-    border-top-right-radius: 9px;
-    background-color: white;
-    padding: 7px 12% 0;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-
-  h1 {
-    font-size: 100%;
-    color: #730E15;
-    line-height: 1.5em;
-  }
-
-  div.dialog > p {
-    margin: 0 0 1em;
-    padding: 1em;
-    background-color: #F7F7F7;
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #999;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px;
-    border-top-color: #DADADA;
-    color: #666;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-  </style>
-</head>
-
-<body>
-  <!-- This file lives in public/404.html -->
-  <div class="dialog">
-    <div>
-      <h1>The page you were looking for doesn't exist.</h1>
-      <p>You may have mistyped the address or the page may have moved.</p>
-    </div>
-    <p>If you are the application owner check the logs for more information.</p>
-  </div>
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+  <title>The page you were looking for doesn't exist (404)</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <style>
+  body {
+    background-color: #EFEFEF;
+    color: #2E2F30;
+    text-align: center;
+    font-family: arial, sans-serif;
+    margin: 0;
+  }
+
+  div.dialog {
+    width: 95%;
+    max-width: 33em;
+    margin: 4em auto 0;
+  }
+
+  div.dialog > div {
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #BBB;
+    border-top: #B00100 solid 4px;
+    border-top-left-radius: 9px;
+    border-top-right-radius: 9px;
+    background-color: white;
+    padding: 7px 12% 0;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+
+  h1 {
+    font-size: 100%;
+    color: #730E15;
+    line-height: 1.5em;
+  }
+
+  div.dialog > p {
+    margin: 0 0 1em;
+    padding: 1em;
+    background-color: #F7F7F7;
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #999;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px;
+    border-top-color: #DADADA;
+    color: #666;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+  </style>
+</head>
+
+<body>
+  <!-- This file lives in public/404.html -->
+  <div class="dialog">
+    <div>
+      <h1>The page you were looking for doesn't exist.</h1>
+      <p>You may have mistyped the address or the page may have moved.</p>
+    </div>
+    <p>If you are the application owner check the logs for more information.</p>
+  </div>
+</body>
+</html>
diff --git a/ACSmI/Contracting/public/422.html b/ACSmI/Contracting/public/422.html
index a21f82b3bdb817ecbc43f74c6fe360300739418a..f31378653b56f8a2c446b1e0f9aae6b148324ba1 100644
--- a/ACSmI/Contracting/public/422.html
+++ b/ACSmI/Contracting/public/422.html
@@ -1,67 +1,67 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>The change you wanted was rejected (422)</title>
-  <meta name="viewport" content="width=device-width,initial-scale=1">
-  <style>
-  body {
-    background-color: #EFEFEF;
-    color: #2E2F30;
-    text-align: center;
-    font-family: arial, sans-serif;
-    margin: 0;
-  }
-
-  div.dialog {
-    width: 95%;
-    max-width: 33em;
-    margin: 4em auto 0;
-  }
-
-  div.dialog > div {
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #BBB;
-    border-top: #B00100 solid 4px;
-    border-top-left-radius: 9px;
-    border-top-right-radius: 9px;
-    background-color: white;
-    padding: 7px 12% 0;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-
-  h1 {
-    font-size: 100%;
-    color: #730E15;
-    line-height: 1.5em;
-  }
-
-  div.dialog > p {
-    margin: 0 0 1em;
-    padding: 1em;
-    background-color: #F7F7F7;
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #999;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px;
-    border-top-color: #DADADA;
-    color: #666;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-  </style>
-</head>
-
-<body>
-  <!-- This file lives in public/422.html -->
-  <div class="dialog">
-    <div>
-      <h1>The change you wanted was rejected.</h1>
-      <p>Maybe you tried to change something you didn't have access to.</p>
-    </div>
-    <p>If you are the application owner check the logs for more information.</p>
-  </div>
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+  <title>The change you wanted was rejected (422)</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <style>
+  body {
+    background-color: #EFEFEF;
+    color: #2E2F30;
+    text-align: center;
+    font-family: arial, sans-serif;
+    margin: 0;
+  }
+
+  div.dialog {
+    width: 95%;
+    max-width: 33em;
+    margin: 4em auto 0;
+  }
+
+  div.dialog > div {
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #BBB;
+    border-top: #B00100 solid 4px;
+    border-top-left-radius: 9px;
+    border-top-right-radius: 9px;
+    background-color: white;
+    padding: 7px 12% 0;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+
+  h1 {
+    font-size: 100%;
+    color: #730E15;
+    line-height: 1.5em;
+  }
+
+  div.dialog > p {
+    margin: 0 0 1em;
+    padding: 1em;
+    background-color: #F7F7F7;
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #999;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px;
+    border-top-color: #DADADA;
+    color: #666;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+  </style>
+</head>
+
+<body>
+  <!-- This file lives in public/422.html -->
+  <div class="dialog">
+    <div>
+      <h1>The change you wanted was rejected.</h1>
+      <p>Maybe you tried to change something you didn't have access to.</p>
+    </div>
+    <p>If you are the application owner check the logs for more information.</p>
+  </div>
+</body>
+</html>
diff --git a/ACSmI/Contracting/public/500.html b/ACSmI/Contracting/public/500.html
index 061abc587dcac4cdb1d62a890e4fd4bb20b8cb61..860aefd95e68a1cbb1a312730d5195c72213600c 100644
--- a/ACSmI/Contracting/public/500.html
+++ b/ACSmI/Contracting/public/500.html
@@ -1,66 +1,66 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <title>We're sorry, but something went wrong (500)</title>
-  <meta name="viewport" content="width=device-width,initial-scale=1">
-  <style>
-  body {
-    background-color: #EFEFEF;
-    color: #2E2F30;
-    text-align: center;
-    font-family: arial, sans-serif;
-    margin: 0;
-  }
-
-  div.dialog {
-    width: 95%;
-    max-width: 33em;
-    margin: 4em auto 0;
-  }
-
-  div.dialog > div {
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #BBB;
-    border-top: #B00100 solid 4px;
-    border-top-left-radius: 9px;
-    border-top-right-radius: 9px;
-    background-color: white;
-    padding: 7px 12% 0;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-
-  h1 {
-    font-size: 100%;
-    color: #730E15;
-    line-height: 1.5em;
-  }
-
-  div.dialog > p {
-    margin: 0 0 1em;
-    padding: 1em;
-    background-color: #F7F7F7;
-    border: 1px solid #CCC;
-    border-right-color: #999;
-    border-left-color: #999;
-    border-bottom-color: #999;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px;
-    border-top-color: #DADADA;
-    color: #666;
-    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
-  }
-  </style>
-</head>
-
-<body>
-  <!-- This file lives in public/500.html -->
-  <div class="dialog">
-    <div>
-      <h1>We're sorry, but something went wrong.</h1>
-    </div>
-    <p>If you are the application owner check the logs for more information.</p>
-  </div>
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+<head>
+  <title>We're sorry, but something went wrong (500)</title>
+  <meta name="viewport" content="width=device-width,initial-scale=1">
+  <style>
+  body {
+    background-color: #EFEFEF;
+    color: #2E2F30;
+    text-align: center;
+    font-family: arial, sans-serif;
+    margin: 0;
+  }
+
+  div.dialog {
+    width: 95%;
+    max-width: 33em;
+    margin: 4em auto 0;
+  }
+
+  div.dialog > div {
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #BBB;
+    border-top: #B00100 solid 4px;
+    border-top-left-radius: 9px;
+    border-top-right-radius: 9px;
+    background-color: white;
+    padding: 7px 12% 0;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+
+  h1 {
+    font-size: 100%;
+    color: #730E15;
+    line-height: 1.5em;
+  }
+
+  div.dialog > p {
+    margin: 0 0 1em;
+    padding: 1em;
+    background-color: #F7F7F7;
+    border: 1px solid #CCC;
+    border-right-color: #999;
+    border-left-color: #999;
+    border-bottom-color: #999;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px;
+    border-top-color: #DADADA;
+    color: #666;
+    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
+  }
+  </style>
+</head>
+
+<body>
+  <!-- This file lives in public/500.html -->
+  <div class="dialog">
+    <div>
+      <h1>We're sorry, but something went wrong.</h1>
+    </div>
+    <p>If you are the application owner check the logs for more information.</p>
+  </div>
+</body>
+</html>
diff --git a/ACSmI/Contracting/public/robots.txt b/ACSmI/Contracting/public/robots.txt
index 3c9c7c01f30b90e009de2d15952ae83230f8e37a..33838cdf1b1e6ecd6fcba86dc2aa925d8a5d0ace 100644
--- a/ACSmI/Contracting/public/robots.txt
+++ b/ACSmI/Contracting/public/robots.txt
@@ -1,5 +1,5 @@
-# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
-#
-# To ban all spiders from the entire site uncomment the next two lines:
-# User-agent: *
-# Disallow: /
+# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
+#
+# To ban all spiders from the entire site uncomment the next two lines:
+# User-agent: *
+# Disallow: /
diff --git a/ACSmI/Contracting/spec/rails_helper.rb b/ACSmI/Contracting/spec/rails_helper.rb
index 7fd785914403d81df201b7c89a59fd5ab7640416..97fb6e74c72e9cec1d4cfe11eb6a3c455f3f956f 100644
--- a/ACSmI/Contracting/spec/rails_helper.rb
+++ b/ACSmI/Contracting/spec/rails_helper.rb
@@ -1,55 +1,55 @@
-# This file is copied to spec/ when you run 'rails generate rspec:install'
-Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
-require 'spec_helper'
-ENV['RAILS_ENV'] ||= 'test'
-require File.expand_path('../../config/environment', __FILE__)
-# Prevent database truncation if the environment is production
-abort("The Rails environment is running in production mode!") if Rails.env.production?
-require 'rspec/rails'
-# Add additional requires below this line. Rails is not loaded until this point!
-
-# Requires supporting ruby files with custom matchers and macros, etc, in
-# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
-# run as spec files by default. This means that files in spec/support that end
-# in _spec.rb will both be required and run as specs, causing the specs to be
-# run twice. It is recommended that you do not name files matching this glob to
-# end with _spec.rb. You can configure this pattern with the --pattern
-# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
-#
-# The following line is provided for convenience purposes. It has the downside
-# of increasing the boot-up time by auto-requiring all files in the support
-# directory. Alternatively, in the individual `*_spec.rb` files, manually
-# require only the support files necessary.
-#
-# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
-
-# Checks for pending migration and applies them before tests are run.
-# If you are not using ActiveRecord, you can remove this line.
-ActiveRecord::Migration.maintain_test_schema!
-
-RSpec.configure do |config|
-  # If you're not using ActiveRecord, or you'd prefer not to run each of your
-  # examples within a transaction, remove the following line or assign false
-  # instead of true.
-  config.use_transactional_fixtures = true
-
-  # RSpec Rails can automatically mix in different behaviours to your tests
-  # based on their file location, for example enabling you to call `get` and
-  # `post` in specs under `spec/controllers`.
-  #
-  # You can disable this behaviour by removing the line below, and instead
-  # explicitly tag your specs with their type, e.g.:
-  #
-  #     RSpec.describe UsersController, :type => :controller do
-  #       # ...
-  #     end
-  #
-  # The different available types are documented in the features, such as in
-  # https://relishapp.com/rspec/rspec-rails/docs
-  config.infer_spec_type_from_file_location!
-
-  # Filter lines from Rails gems in backtraces.
-  config.filter_rails_from_backtrace!
-  # arbitrary gems may also be filtered via:
-  # config.filter_gems_from_backtrace("gem name")
-end
+# This file is copied to spec/ when you run 'rails generate rspec:install'
+Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
+require 'spec_helper'
+ENV['RAILS_ENV'] ||= 'test'
+require File.expand_path('../../config/environment', __FILE__)
+# Prevent database truncation if the environment is production
+abort("The Rails environment is running in production mode!") if Rails.env.production?
+require 'rspec/rails'
+# Add additional requires below this line. Rails is not loaded until this point!
+
+# Requires supporting ruby files with custom matchers and macros, etc, in
+# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
+# run as spec files by default. This means that files in spec/support that end
+# in _spec.rb will both be required and run as specs, causing the specs to be
+# run twice. It is recommended that you do not name files matching this glob to
+# end with _spec.rb. You can configure this pattern with the --pattern
+# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
+#
+# The following line is provided for convenience purposes. It has the downside
+# of increasing the boot-up time by auto-requiring all files in the support
+# directory. Alternatively, in the individual `*_spec.rb` files, manually
+# require only the support files necessary.
+#
+# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
+
+# Checks for pending migration and applies them before tests are run.
+# If you are not using ActiveRecord, you can remove this line.
+ActiveRecord::Migration.maintain_test_schema!
+
+RSpec.configure do |config|
+  # If you're not using ActiveRecord, or you'd prefer not to run each of your
+  # examples within a transaction, remove the following line or assign false
+  # instead of true.
+  config.use_transactional_fixtures = true
+
+  # RSpec Rails can automatically mix in different behaviours to your tests
+  # based on their file location, for example enabling you to call `get` and
+  # `post` in specs under `spec/controllers`.
+  #
+  # You can disable this behaviour by removing the line below, and instead
+  # explicitly tag your specs with their type, e.g.:
+  #
+  #     RSpec.describe UsersController, :type => :controller do
+  #       # ...
+  #     end
+  #
+  # The different available types are documented in the features, such as in
+  # https://relishapp.com/rspec/rspec-rails/docs
+  config.infer_spec_type_from_file_location!
+
+  # Filter lines from Rails gems in backtraces.
+  config.filter_rails_from_backtrace!
+  # arbitrary gems may also be filtered via:
+  # config.filter_gems_from_backtrace("gem name")
+end
diff --git a/ACSmI/Contracting/spec/spec_helper.rb b/ACSmI/Contracting/spec/spec_helper.rb
index ce33d66df6929946abe9cfb7d5824010ae09fb35..d2d8936be472fab6a8fd77ed96c9258ad07b0f4f 100644
--- a/ACSmI/Contracting/spec/spec_helper.rb
+++ b/ACSmI/Contracting/spec/spec_helper.rb
@@ -1,96 +1,96 @@
-# This file was generated by the `rails generate rspec:install` command. Conventionally, all
-# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
-# The generated `.rspec` file contains `--require spec_helper` which will cause
-# this file to always be loaded, without a need to explicitly require it in any
-# files.
-#
-# Given that it is always loaded, you are encouraged to keep this file as
-# light-weight as possible. Requiring heavyweight dependencies from this file
-# will add to the boot time of your test suite on EVERY test run, even for an
-# individual file that may not need all of that loaded. Instead, consider making
-# a separate helper file that requires the additional dependencies and performs
-# the additional setup, and require it from the spec files that actually need
-# it.
-#
-# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
-RSpec.configure do |config|
-  # rspec-expectations config goes here. You can use an alternate
-  # assertion/expectation library such as wrong or the stdlib/minitest
-  # assertions if you prefer.
-  config.expect_with :rspec do |expectations|
-    # This option will default to `true` in RSpec 4. It makes the `description`
-    # and `failure_message` of custom matchers include text for helper methods
-    # defined using `chain`, e.g.:
-    #     be_bigger_than(2).and_smaller_than(4).description
-    #     # => "be bigger than 2 and smaller than 4"
-    # ...rather than:
-    #     # => "be bigger than 2"
-    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
-  end
-
-  # rspec-mocks config goes here. You can use an alternate test double
-  # library (such as bogus or mocha) by changing the `mock_with` option here.
-  config.mock_with :rspec do |mocks|
-    # Prevents you from mocking or stubbing a method that does not exist on
-    # a real object. This is generally recommended, and will default to
-    # `true` in RSpec 4.
-    mocks.verify_partial_doubles = true
-  end
-
-  # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
-  # have no way to turn it off -- the option exists only for backwards
-  # compatibility in RSpec 3). It causes shared context metadata to be
-  # inherited by the metadata hash of host groups and examples, rather than
-  # triggering implicit auto-inclusion in groups with matching metadata.
-  config.shared_context_metadata_behavior = :apply_to_host_groups
-
-# The settings below are suggested to provide a good initial experience
-# with RSpec, but feel free to customize to your heart's content.
-=begin
-  # This allows you to limit a spec run to individual examples or groups
-  # you care about by tagging them with `:focus` metadata. When nothing
-  # is tagged with `:focus`, all examples get run. RSpec also provides
-  # aliases for `it`, `describe`, and `context` that include `:focus`
-  # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
-  config.filter_run_when_matching :focus
-
-  # Allows RSpec to persist some state between runs in order to support
-  # the `--only-failures` and `--next-failure` CLI options. We recommend
-  # you configure your source control system to ignore this file.
-  config.example_status_persistence_file_path = "spec/examples.txt"
-
-  # Limits the available syntax to the non-monkey patched syntax that is
-  # recommended. For more details, see:
-  #   - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
-  #   - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
-  #   - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
-  config.disable_monkey_patching!
-
-  # Many RSpec users commonly either run the entire suite or an individual
-  # file, and it's useful to allow more verbose output when running an
-  # individual spec file.
-  if config.files_to_run.one?
-    # Use the documentation formatter for detailed output,
-    # unless a formatter has already been configured
-    # (e.g. via a command-line flag).
-    config.default_formatter = "doc"
-  end
-
-  # Print the 10 slowest examples and example groups at the
-  # end of the spec run, to help surface which specs are running
-  # particularly slow.
-  config.profile_examples = 10
-
-  # Run specs in random order to surface order dependencies. If you find an
-  # order dependency and want to debug it, you can fix the order by providing
-  # the seed, which is printed after each run.
-  #     --seed 1234
-  config.order = :random
-
-  # Seed global randomization in this process using the `--seed` CLI option.
-  # Setting this allows you to use `--seed` to deterministically reproduce
-  # test failures related to randomization by passing the same `--seed` value
-  # as the one that triggered the failure.
-  Kernel.srand config.seed
-=end
-end
+# This file was generated by the `rails generate rspec:install` command. Conventionally, all
+# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
+# The generated `.rspec` file contains `--require spec_helper` which will cause
+# this file to always be loaded, without a need to explicitly require it in any
+# files.
+#
+# Given that it is always loaded, you are encouraged to keep this file as
+# light-weight as possible. Requiring heavyweight dependencies from this file
+# will add to the boot time of your test suite on EVERY test run, even for an
+# individual file that may not need all of that loaded. Instead, consider making
+# a separate helper file that requires the additional dependencies and performs
+# the additional setup, and require it from the spec files that actually need
+# it.
+#
+# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
+RSpec.configure do |config|
+  # rspec-expectations config goes here. You can use an alternate
+  # assertion/expectation library such as wrong or the stdlib/minitest
+  # assertions if you prefer.
+  config.expect_with :rspec do |expectations|
+    # This option will default to `true` in RSpec 4. It makes the `description`
+    # and `failure_message` of custom matchers include text for helper methods
+    # defined using `chain`, e.g.:
+    #     be_bigger_than(2).and_smaller_than(4).description
+    #     # => "be bigger than 2 and smaller than 4"
+    # ...rather than:
+    #     # => "be bigger than 2"
+    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
+  end
+
+  # rspec-mocks config goes here. You can use an alternate test double
+  # library (such as bogus or mocha) by changing the `mock_with` option here.
+  config.mock_with :rspec do |mocks|
+    # Prevents you from mocking or stubbing a method that does not exist on
+    # a real object. This is generally recommended, and will default to
+    # `true` in RSpec 4.
+    mocks.verify_partial_doubles = true
+  end
+
+  # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
+  # have no way to turn it off -- the option exists only for backwards
+  # compatibility in RSpec 3). It causes shared context metadata to be
+  # inherited by the metadata hash of host groups and examples, rather than
+  # triggering implicit auto-inclusion in groups with matching metadata.
+  config.shared_context_metadata_behavior = :apply_to_host_groups
+
+# The settings below are suggested to provide a good initial experience
+# with RSpec, but feel free to customize to your heart's content.
+=begin
+  # This allows you to limit a spec run to individual examples or groups
+  # you care about by tagging them with `:focus` metadata. When nothing
+  # is tagged with `:focus`, all examples get run. RSpec also provides
+  # aliases for `it`, `describe`, and `context` that include `:focus`
+  # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
+  config.filter_run_when_matching :focus
+
+  # Allows RSpec to persist some state between runs in order to support
+  # the `--only-failures` and `--next-failure` CLI options. We recommend
+  # you configure your source control system to ignore this file.
+  config.example_status_persistence_file_path = "spec/examples.txt"
+
+  # Limits the available syntax to the non-monkey patched syntax that is
+  # recommended. For more details, see:
+  #   - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
+  #   - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
+  #   - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
+  config.disable_monkey_patching!
+
+  # Many RSpec users commonly either run the entire suite or an individual
+  # file, and it's useful to allow more verbose output when running an
+  # individual spec file.
+  if config.files_to_run.one?
+    # Use the documentation formatter for detailed output,
+    # unless a formatter has already been configured
+    # (e.g. via a command-line flag).
+    config.default_formatter = "doc"
+  end
+
+  # Print the 10 slowest examples and example groups at the
+  # end of the spec run, to help surface which specs are running
+  # particularly slow.
+  config.profile_examples = 10
+
+  # Run specs in random order to surface order dependencies. If you find an
+  # order dependency and want to debug it, you can fix the order by providing
+  # the seed, which is printed after each run.
+  #     --seed 1234
+  config.order = :random
+
+  # Seed global randomization in this process using the `--seed` CLI option.
+  # Setting this allows you to use `--seed` to deterministically reproduce
+  # test failures related to randomization by passing the same `--seed` value
+  # as the one that triggered the failure.
+  Kernel.srand config.seed
+=end
+end
diff --git a/ACSmI/Contracting/spec/support/factory_girl.rb b/ACSmI/Contracting/spec/support/factory_girl.rb
index 00debe60384fb4eeb1e8b9eb888737afa7482403..2b4e81cec2fc215a5952114e18b6bea05af078f0 100644
--- a/ACSmI/Contracting/spec/support/factory_girl.rb
+++ b/ACSmI/Contracting/spec/support/factory_girl.rb
@@ -1,4 +1,4 @@
-# spec/support/factory_girl.rb
-RSpec.configure do |config|
-  config.include FactoryGirl::Syntax::Methods
+# spec/support/factory_girl.rb
+RSpec.configure do |config|
+  config.include FactoryGirl::Syntax::Methods
 end
\ No newline at end of file
diff --git a/ACSmI/Discovery/.gitignore b/ACSmI/Discovery/.gitignore
deleted file mode 100644
index e08c16999dbc57bd72f1637bb7f614d15a1f36b7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-**/bin/
-**/sources/
-**/target/
-**/generated/
-**/.classpath
-**/.settings/
-**/node_modules/
-jhipster-jdl.jh
-**/*.log
diff --git a/ACSmI/Discovery/.gitkeep b/ACSmI/Discovery/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.editorconfig b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.editorconfig
deleted file mode 100644
index a03599dd0422f3688a5a5cf5a747ed4301c49281..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.editorconfig
+++ /dev/null
@@ -1,24 +0,0 @@
-# EditorConfig helps developers define and maintain consistent
-# coding styles between different editors and IDEs
-# editorconfig.org
-
-root = true
-
-[*]
-
-# Change these settings to your own preference
-indent_style = space
-indent_size = 4
-
-# We recommend you to keep these unchanged
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
-
-[{package,bower}.json]
-indent_style = space
-indent_size = 2
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitattributes b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitattributes
deleted file mode 100644
index 266b4f52e816dfd9f9e661c0878ec0c860b600e0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitattributes
+++ /dev/null
@@ -1,149 +0,0 @@
-# This file is inspired by https://github.com/alexkaratarakis/gitattributes
-#
-# Auto detect text files and perform LF normalization
-# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
-* text=auto
-
-# The above will handle all files NOT found below
-# These files are text and should be normalized (Convert crlf => lf)
-
-*.bat           text eol=crlf
-*.coffee        text
-*.css           text
-*.cql           text
-*.df            text
-*.ejs           text
-*.html          text
-*.java          text
-*.js            text
-*.json          text
-*.less          text
-*.properties    text
-*.sass          text
-*.scss          text
-*.sh            text
-*.sql           text
-*.txt           text
-*.ts            text
-*.xml           text
-*.yaml          text
-*.yml           text
-
-# Documents
-*.doc           diff=astextplain
-*.DOC           diff=astextplain
-*.docx          diff=astextplain
-*.DOCX          diff=astextplain
-*.dot           diff=astextplain
-*.DOT           diff=astextplain
-*.pdf           diff=astextplain
-*.PDF           diff=astextplain
-*.rtf           diff=astextplain
-*.RTF           diff=astextplain
-*.markdown      text
-*.md            text
-*.adoc          text
-*.textile       text
-*.mustache      text
-*.csv           text
-*.tab           text
-*.tsv           text
-*.txt           text
-AUTHORS         text
-CHANGELOG       text
-CHANGES         text
-CONTRIBUTING    text
-COPYING         text
-copyright       text
-*COPYRIGHT*     text
-INSTALL         text
-license         text
-LICENSE         text
-NEWS            text
-readme          text
-*README*        text
-TODO            text
-
-# Graphics
-*.png           binary
-*.jpg           binary
-*.jpeg          binary
-*.gif           binary
-*.tif           binary
-*.tiff          binary
-*.ico           binary
-# SVG treated as an asset (binary) by default. If you want to treat it as text,
-# comment-out the following line and uncomment the line after.
-*.svg           binary
-#*.svg          text
-*.eps           binary
-
-# These files are binary and should be left untouched
-# (binary is a macro for -text -diff)
-*.class         binary
-*.jar           binary
-*.war           binary
-
-## LINTERS
-.csslintrc      text
-.eslintrc       text
-.jscsrc         text
-.jshintrc       text
-.jshintignore   text
-.stylelintrc    text
-
-## CONFIGS
-*.bowerrc       text
-*.conf          text
-*.config        text
-.editorconfig   text
-.gitattributes  text
-.gitconfig      text
-.gitignore      text
-.htaccess       text
-*.npmignore     text
-
-## HEROKU
-Procfile        text
-.slugignore     text
-
-## AUDIO
-*.kar           binary
-*.m4a           binary
-*.mid           binary
-*.midi          binary
-*.mp3           binary
-*.ogg           binary
-*.ra            binary
-
-## VIDEO
-*.3gpp          binary
-*.3gp           binary
-*.as            binary
-*.asf           binary
-*.asx           binary
-*.fla           binary
-*.flv           binary
-*.m4v           binary
-*.mng           binary
-*.mov           binary
-*.mp4           binary
-*.mpeg          binary
-*.mpg           binary
-*.swc           binary
-*.swf           binary
-*.webm          binary
-
-## ARCHIVES
-*.7z            binary
-*.gz            binary
-*.rar           binary
-*.tar           binary
-*.zip           binary
-
-## FONTS
-*.ttf           binary
-*.eot           binary
-*.otf           binary
-*.woff          binary
-*.woff2         binary
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitignore b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitignore
deleted file mode 100644
index e37d3e4ded016863c8aba558c609c34a5c0fe7d9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.gitignore
+++ /dev/null
@@ -1,142 +0,0 @@
-######################
-# Project Specific
-######################
-/target/www/**
-/src/test/javascript/coverage/
-/src/test/javascript/PhantomJS*/
-
-######################
-# Node
-######################
-/node/
-node_tmp/
-node_modules/
-npm-debug.log.*
-
-######################
-# SASS
-######################
-.sass-cache/
-
-######################
-# Eclipse
-######################
-*.pydevproject
-.project
-.metadata
-tmp/
-tmp/**/*
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.classpath
-.settings/
-.loadpath
-.factorypath
-/src/main/resources/rebel.xml
-
-# External tool builders
-.externalToolBuilders/**
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# CDT-specific
-.cproject
-
-# PDT-specific
-.buildpath
-
-######################
-# Intellij
-######################
-.idea/
-*.iml
-*.iws
-*.ipr
-*.ids
-*.orig
-classes/
-
-######################
-# Visual Studio Code
-######################
-.vscode/
-
-######################
-# Maven
-######################
-/log/
-/target/
-
-######################
-# Gradle
-######################
-.gradle/
-/build/
-
-######################
-# Package Files
-######################
-*.jar
-*.war
-*.ear
-*.db
-
-######################
-# Windows
-######################
-# Windows image file caches
-Thumbs.db
-
-# Folder config file
-Desktop.ini
-
-######################
-# Mac OSX
-######################
-.DS_Store
-.svn
-
-# Thumbnails
-._*
-
-# Files that might appear on external disk
-.Spotlight-V100
-.Trashes
-
-######################
-# Directories
-######################
-/bin/
-/deploy/
-
-######################
-# Logs
-######################
-*.log
-
-######################
-# Others
-######################
-*.class
-*.*~
-*~
-.merge_file*
-
-######################
-# Gradle Wrapper
-######################
-!gradle/wrapper/gradle-wrapper.jar
-
-######################
-# Maven Wrapper
-######################
-!.mvn/wrapper/maven-wrapper.jar
-
-######################
-# ESLint
-######################
-.eslintcache
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.jhipster/Service.json b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.jhipster/Service.json
deleted file mode 100644
index 8ed6ce1b7927cb0c303343c19974188458a8d815..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.jhipster/Service.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-    "fluentMethods": true,
-    "relationships": [
-        {
-            "relationshipType": "one-to-many",
-            "relationshipName": "ddbbservice",
-            "otherEntityName": "databaseService",
-            "otherEntityRelationshipName": "service"
-        },
-        {
-            "relationshipType": "one-to-many",
-            "relationshipName": "storageservice",
-            "otherEntityName": "storageService",
-            "otherEntityRelationshipName": "service"
-        },
-        {
-            "relationshipType": "one-to-many",
-            "relationshipName": "contract",
-            "otherEntityName": "contract",
-            "otherEntityRelationshipName": "service"
-        }
-    ],
-    "fields": [
-        {
-            "fieldName": "servicedescription",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required",
-                "maxlength"
-            ],
-            "fieldValidateRulesMaxlength": 255
-        },
-        {
-            "fieldName": "serviceclass",
-            "fieldType": "ServiceClass",
-            "fieldValues": "DDBB,STOR",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "deleteddate",
-            "fieldType": "ZonedDateTime"
-        }
-    ],
-    "changelogDate": "20170523072708",
-    "entityTableName": "service",
-    "dto": "no",
-    "pagination": "no",
-    "service": "no",
-    "microserviceName": "acsmiservices"
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.jar b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 5fd4d5023f1463b5ba3970e33c460c1eb26d748d..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index c315043703752ef4d11cf7d93f2c324852b2ebff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.yo-rc.json b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.yo-rc.json
deleted file mode 100644
index c576df01ad1c5e7edf5aefed6c4190fffdf58031..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/.yo-rc.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "generator-jhipster": {
-    "promptValues": {
-      "packageName": "eu.decideh2020.acsmi.backend.services.server",
-      "nativeLanguage": "en"
-    },
-    "jhipsterVersion": "4.5.1",
-    "baseName": "acsmiservices",
-    "packageName": "eu.decideh2020.acsmi.backend.services.server",
-    "packageFolder": "com/tecnalia/acsmi/backend/services/server",
-    "serverPort": "8081",
-    "authenticationType": "jwt",
-    "hibernateCache": "hazelcast",
-    "clusteredHttpSession": false,
-    "websocket": false,
-    "databaseType": "sql",
-    "devDatabaseType": "mysql",
-    "prodDatabaseType": "mysql",
-    "searchEngine": false,
-    "messageBroker": false,
-    "serviceDiscoveryType": "eureka",
-    "buildTool": "maven",
-    "enableSocialSignIn": false,
-    "jwtSecretKey": "38b9cc1a1fccdd77db647dcb9717c340fafdea06",
-    "enableTranslation": true,
-    "applicationType": "microservice",
-    "testFrameworks": [],
-    "jhiPrefix": "jhi",
-    "skipClient": true,
-    "skipUserManagement": true,
-    "nativeLanguage": "en",
-    "languages": [
-      "en",
-      "es",
-      "it"
-    ],
-    "clientPackageManager": "yarn"
-  }
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/README.md b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/README.md
deleted file mode 100644
index 90094a0642add6cf351ef5e8caa1d2085b45dbb9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/README.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# acsmiservices
-This application was generated using JHipster 4.5.1, you can find documentation and help at [https://jhipster.github.io/documentation-archive/v4.5.1](https://jhipster.github.io/documentation-archive/v4.5.1).
-
-This is a "microservice" application intended to be part of a microservice architecture, please refer to the [Doing microservices with JHipster][] page of the documentation for more information.
-
-This application is configured for Service Discovery and Configuration with the JHipster-Registry. On launch, it will refuse to start if it is not able to connect to the JHipster-Registry at [http://localhost:8761](http://localhost:8761). For more information, read our documentation on [Service Discovery and Configuration with the JHipster-Registry][].
-
-## Development
-
-To start your application in the dev profile, simply run:
-
-    ./mvnw
-
-
-For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
-
-### Using angular-cli
-
-You can also use [Angular CLI][] to generate some custom client code.
-
-For example, the following command:
-
-    ng generate component my-component
-
-will generate few files:
-
-    create src/main/webapp/app/my-component/my-component.component.html
-    create src/main/webapp/app/my-component/my-component.component.ts
-    update src/main/webapp/app/app.module.ts
-
-## Building for production
-
-To optimize the acsmiservices application for production, run:
-
-    ./mvnw -Pprod clean package
-
-To ensure everything worked, run:
-
-    java -jar target/*.war
-
-
-Refer to [Using JHipster in production][] for more details.
-
-## Testing
-
-To launch your application's tests, run:
-
-    ./mvnw clean test
-
-For more information, refer to the [Running tests page][].
-
-## Using Docker to simplify development (optional)
-
-You can use Docker to improve your JHipster development experience. A number of docker-compose configuration are available in the [src/main/docker](src/main/docker) folder to launch required third party services.
-For example, to start a mysql database in a docker container, run:
-
-    docker-compose -f src/main/docker/mysql.yml up -d
-
-To stop it and remove the container, run:
-
-    docker-compose -f src/main/docker/mysql.yml down
-
-You can also fully dockerize your application and all the services that it depends on.
-To achieve this, first build a docker image of your app by running:
-
-    ./mvnw package -Pprod docker:build
-
-Then run:
-
-    docker-compose -f src/main/docker/app.yml up -d
-
-For more information refer to [Using Docker and Docker-Compose][], this page also contains information on the docker-compose sub-generator (`jhipster docker-compose`), which is able to generate docker configurations for one or several JHipster applications.
-
-## Continuous Integration (optional)
-
-To configure CI for your project, run the ci-cd sub-generator (`jhipster ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration][] page for more information.
-
-[JHipster Homepage and latest documentation]: https://jhipster.github.io
-[JHipster 4.5.1 archive]: https://jhipster.github.io/documentation-archive/v4.5.1
-[Doing microservices with JHipster]: https://jhipster.github.io/documentation-archive/v4.5.1/microservices-architecture/
-[Using JHipster in development]: https://jhipster.github.io/documentation-archive/v4.5.1/development/
-[Service Discovery and Configuration with the JHipster-Registry]: https://jhipster.github.io/documentation-archive/v4.5.1/microservices-architecture/#jhipster-registry
-[Using Docker and Docker-Compose]: https://jhipster.github.io/documentation-archive/v4.5.1/docker-compose
-[Using JHipster in production]: https://jhipster.github.io/documentation-archive/v4.5.1/production/
-[Running tests page]: https://jhipster.github.io/documentation-archive/v4.5.1/running-tests/
-[Setting up Continuous Integration]: https://jhipster.github.io/documentation-archive/v4.5.1/setting-up-ci/
-
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw
deleted file mode 100644
index a1ba1bf554bb63c401f90c6a472c21470ed4e164..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven2 Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
-  if [ -f /etc/mavenrc ] ; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ] ; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-  MINGW*) mingw=true;;
-  Darwin*) darwin=true
-           #
-           # Look for the Apple JDKs first to preserve the existing behaviour, and then look
-           # for the new JDKs provided by Oracle.
-           #
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
-             #
-             # Oracle JDKs
-             #
-             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=`/usr/libexec/java_home`
-           fi
-           ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
-  if [ -r /etc/gentoo-release ] ; then
-    JAVA_HOME=`java-config --jre-home`
-  fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Migwn, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-  # TODO classpath?
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="`which javac`"
-  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=`which readlink`
-    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
-      if $darwin ; then
-        javaHome="`dirname \"$javaExecutable\"`"
-        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
-      else
-        javaExecutable="`readlink -f \"$javaExecutable\"`"
-      fi
-      javaHome="`dirname \"$javaExecutable\"`"
-      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
-  if [ -n "$JAVA_HOME"  ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="`which java`"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
-fi
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-  local basedir=$(pwd)
-  local wdir=$(pwd)
-  while [ "$wdir" != '/' ] ; do
-    if [ -d "$wdir"/.mvn ] ; then
-      basedir=$wdir
-      break
-    fi
-    wdir=$(cd "$wdir/.."; pwd)
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' < "$1")"
-  fi
-}
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} "$@"
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw.cmd b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw.cmd
deleted file mode 100644
index 2b934e89dd1d9872b747047fa696477264a86ad8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/mvnw.cmd
+++ /dev/null
@@ -1,145 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements.  See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership.  The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License.  You may obtain a copy of the License at
-@REM
-@REM    http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied.  See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven2 Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-set MAVEN_CMD_LINE_ARGS=%*
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-
-set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/package.json b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/package.json
deleted file mode 100644
index f4cc6837910d4c624c03089f6afb25ffd0ddad9c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "devDependencies": {
-    "generator-jhipster": "4.5.1"
-  }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/pom.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/pom.xml
deleted file mode 100644
index 70561e4b7c142e5e20079a9e5a9e42919725c8b1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/pom.xml
+++ /dev/null
@@ -1,899 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <groupId>org.springframework.boot</groupId>
-        <version>1.5.3.RELEASE</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>eu.decideh2020.acsmi.backend.services.server</groupId>
-    <artifactId>acsmiservices</artifactId>
-    <version>1.0.0</version>
-    <packaging>war</packaging>
-    <name>acsmiservices</name>
-
-    <properties>
-        <argLine>-Djava.security.egd=file:/dev/./urandom -Xmx256m</argLine>
-        <assertj.version>3.6.2</assertj.version>
-        <awaitility.version>2.0.0</awaitility.version>
-        <commons-io.version>2.5</commons-io.version>
-        <commons-lang.version>3.5</commons-lang.version>
-        <docker-maven-plugin.version>0.4.13</docker-maven-plugin.version>
-        <!-- Overridden to get metrics-jcache -->
-        <dropwizard-metrics.version>3.2.2</dropwizard-metrics.version>
-        <hazelcast-hibernate52.version>1.2</hazelcast-hibernate52.version>
-        <hibernate.version>5.2.8.Final</hibernate.version>
-        <hikaricp.version>2.6.0</hikaricp.version>
-        <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
-        <java.version>1.8</java.version>
-        <jcache.version>1.0.0</jcache.version>
-        <jhipster.server.version>1.1.3</jhipster.server.version>
-        <jjwt.version>0.7.0</jjwt.version>
-        <liquibase-hibernate5.version>3.6</liquibase-hibernate5.version>
-        <liquibase-slf4j.version>2.0.0</liquibase-slf4j.version>
-        <logstash-logback-encoder.version>4.9</logstash-logback-encoder.version>
-        <m2e.apt.activation>jdt_apt</m2e.apt.activation>
-        <mapstruct.version>1.1.0.Final</mapstruct.version>
-        <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
-        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
-        <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
-        <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
-        <maven.compiler.source>${java.version}</maven.compiler.source>
-        <maven.compiler.target>${java.version}</maven.compiler.target>
-        <maven.version>3.0.0</maven.version>
-        <metrics-spring.version>3.1.3</metrics-spring.version>
-        <node.version>v6.10.3</node.version>
-        <!-- These remain empty unless the corresponding profile is active -->
-        <profile.no-liquibase />
-        <profile.swagger />
-        <prometheus-simpleclient.version>0.0.20</prometheus-simpleclient.version>
-        <!-- Sonar properties -->
-        <project.testresult.directory>${project.build.directory}/test-results</project.testresult.directory>
-        <run.addResources>false</run.addResources>
-        <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
-        <scala.version>2.12.1</scala.version>
-        <sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
-
-        <sonar.exclusions>src/main/webapp/content/**/*.*, src/main/webapp/bower_components/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.*</sonar.exclusions>
-
-        <sonar.issue.ignore.multicriteria>S3437,UndocumentedApi,BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria>
-
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is recommended by http://fontawesome.io/examples/ -->
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>src/main/webapp/app/**/*.*</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>Web:BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient -->
-        <sonar.issue.ignore.multicriteria.S3437.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.S3437.resourceKey>
-        <sonar.issue.ignore.multicriteria.S3437.ruleKey>squid:S3437</sonar.issue.ignore.multicriteria.S3437.ruleKey>
-        <!-- Rule http://sonarqube.com/coding_rules#rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory -->
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>squid:UndocumentedApi</sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>
-
-        <sonar.jacoco.itReportPath>${project.testresult.directory}/coverage/jacoco/jacoco-it.exec</sonar.jacoco.itReportPath>
-        <sonar.jacoco.reportPath>${project.testresult.directory}/coverage/jacoco/jacoco.exec</sonar.jacoco.reportPath>
-        <sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
-
-        <sonar.javascript.jstestdriver.reportsPath>${project.testresult.directory}/karma</sonar.javascript.jstestdriver.reportsPath>
-        <!-- For Sonar < 6.2 -->
-        <sonar.javascript.lcov.reportPath>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPath>
-        <!-- For Sonar >= 6.2 -->
-        <sonar.javascript.lcov.reportPaths>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPaths>
-
-        <sonar.sources>${project.basedir}/src/main/</sonar.sources>
-        <sonar.surefire.reportsPath>${project.testresult.directory}/surefire-reports</sonar.surefire.reportsPath>
-        <sonar.tests>${project.basedir}/src/test/</sonar.tests>
-
-        <!-- Spring properties -->
-        <spring-cloud.version>Dalston.RELEASE</spring-cloud.version>
-        <springfox.version>2.6.1</springfox.version>
-        <validation-api.version>1.1.0.Final</validation-api.version>
-        <yarn.version>v0.24.4</yarn.version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.cloud</groupId>
-                <artifactId>spring-cloud-dependencies</artifactId>
-                <version>${spring-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.github.jhipster</groupId>
-            <artifactId>jhipster</artifactId>
-            <version>${jhipster.server.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-annotation</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-json</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-jvm</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlet</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlets</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hibernate5</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hppc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-json-org</artifactId>
-        </dependency>
-        <dependency>
-        	<groupId>com.fasterxml.jackson.dataformat</groupId>
-        	<artifactId>jackson-dataformat-yaml</artifactId>
-    	</dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast-hibernate52</artifactId>
-            <version>${hazelcast-hibernate52.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast-spring</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <version>${awaitility.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.jayway.jsonpath</groupId>
-            <artifactId>json-path</artifactId>
-            <scope>test</scope>
-            <!-- parent POM declares this dependency in default (compile) scope -->
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>${springfox.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.mapstruct</groupId>
-                    <artifactId>mapstruct</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-bean-validators</artifactId>
-            <version>${springfox.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.mattbertolini</groupId>
-            <artifactId>liquibase-slf4j</artifactId>
-            <version>${liquibase-slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.ryantenney.metrics</groupId>
-            <artifactId>metrics-spring</artifactId>
-            <version>${metrics-spring.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons-io.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>${commons-lang.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.cache</groupId>
-            <artifactId>cache-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-envers</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.liquibase</groupId>
-            <artifactId>liquibase-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-jdk8</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-loader-tools</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-aop</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-mail</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-            <version>${jjwt.version}</version>
-        </dependency>
-        <!-- Spring Cloud -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-ribbon</artifactId>
-            <!-- netty's native is pulled, but is useless unless you explicitly add the native binary dependency.
-                 Having it in the classpath without the binary can cause warnings -->
-            <exclusions>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty-transport-native-epoll</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-hystrix</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-spectator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.retry</groupId>
-            <artifactId>spring-retry</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-eureka</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-config</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>${logstash-logback-encoder.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-classic</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-access</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cloud-connectors</artifactId>
-        </dependency>
-        <!-- security -->
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-data</artifactId>
-        </dependency>
-        <!-- jhipster-needle-maven-add-dependency -->
-    </dependencies>
-    <build>
-        <defaultGoal>spring-boot:run</defaultGoal>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>${maven-compiler-plugin.version}</version>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${mapstruct.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-eclipse-plugin</artifactId>
-                <configuration>
-                    <downloadSources>true</downloadSources>
-                    <downloadJavadocs>true</downloadJavadocs>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>${maven-enforcer-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>enforce-versions</id>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <rules>
-                        <requireMavenVersion>
-                            <message>You are running an older version of Maven. JHipster requires at least Maven ${maven.version}</message>
-                            <version>[${maven.version},)</version>
-                        </requireMavenVersion>
-                        <requireJavaVersion>
-                            <message>You are running an older version of Java. JHipster requires at least JDK ${java.version}</message>
-                            <version>[${java.version}.0,)</version>
-                        </requireJavaVersion>
-                    </rules>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven-resources-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>default-resources</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>target/classes</outputDirectory>
-                            <useDefaultDelimiters>false</useDefaultDelimiters>
-                            <delimiters>
-                                <delimiter>#</delimiter>
-                            </delimiters>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>true</filtering>
-                                    <includes>
-                                        <include>**/*.xml</include>
-                                        <include>**/*.yml</include>
-                                    </includes>
-                                </resource>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>false</filtering>
-                                    <excludes>
-                                        <exclude>**/*.xml</exclude>
-                                        <exclude>**/*.yml</exclude>
-                                    </excludes>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <!-- Force alphabetical order to have a reproducible build -->
-                    <runOrder>alphabetical</runOrder>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco-maven-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>pre-unit-tests</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Sets the path to the file which contains the execution data. -->
-                            <destFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</destFile>
-                        </configuration>
-                    </execution>
-                    <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
-                    <execution>
-                        <id>post-unit-test</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                        <configuration>
-                            <dataFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</dataFile>
-                            <outputDirectory>${project.testresult.directory}/coverage/jacoco</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.sonarsource.scanner.maven</groupId>
-                <artifactId>sonar-maven-plugin</artifactId>
-                <version>${sonar-maven-plugin.version}</version>
-            </plugin>
-            <plugin>
-                <groupId>org.liquibase</groupId>
-                <artifactId>liquibase-maven-plugin</artifactId>
-                <version>${liquibase.version}</version>
-                <configuration>
-                    <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
-                    <diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
-                    <driver>com.mysql.jdbc.Driver</driver>
-                    <url>jdbc:mysql://localhost:3306/acsmiservices</url>
-                    <defaultSchemaName>acsmiservices</defaultSchemaName>
-                    <username>root</username>
-                    <password></password>
-                    <referenceUrl>hibernate:spring:eu.decideh2020.acsmi.backend.services.server.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
-                    <verbose>true</verbose>
-                    <logging>debug</logging>
-                </configuration>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.javassist</groupId>
-                        <artifactId>javassist</artifactId>
-                        <version>${javassist.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.liquibase.ext</groupId>
-                        <artifactId>liquibase-hibernate5</artifactId>
-                        <version>${liquibase-hibernate5.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-starter-data-jpa</artifactId>
-                        <version>${project.parent.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>javax.validation</groupId>
-                        <artifactId>validation-api</artifactId>
-                        <version>${validation-api.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <executable>true</executable>
-                    <fork>true</fork>
-                    <!--
-                    Enable the line below to have remote debugging of your application on port 5005
-                    <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                    -->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>com.spotify</groupId>
-                <artifactId>docker-maven-plugin</artifactId>
-                <version>${docker-maven-plugin.version}</version>
-                <configuration>
-                    <imageName>acsmiservices</imageName>
-                    <dockerDirectory>src/main/docker</dockerDirectory>
-                    <resources>
-                        <resource>
-                            <targetPath>/</targetPath>
-                            <directory>${project.build.directory}</directory>
-                            <include>${project.build.finalName}.war</include>
-                        </resource>
-                    </resources>
-                </configuration>
-            </plugin>
-            <!-- jhipster-needle-maven-add-plugin -->
-        </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--
-                    This plugin's configuration is used to store Eclipse m2e settings only.
-                    It has no influence on the Maven build itself.
-                    Remove when the m2e plugin can correctly bind to Maven lifecycle
-                -->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.jacoco</groupId>
-                                        <artifactId>
-                                            jacoco-maven-plugin
-                                        </artifactId>
-                                        <versionRange>
-                                            ${jacoco-maven-plugin.version}
-                                        </versionRange>
-                                        <goals>
-                                            <goal>prepare-agent</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-    <profiles>
-        <profile>
-            <id>no-liquibase</id>
-            <properties>
-                <profile.no-liquibase>,no-liquibase</profile.no-liquibase>
-            </properties>
-        </profile>
-        <profile>
-            <id>swagger</id>
-            <properties>
-                <profile.swagger>,swagger</profile.swagger>
-            </properties>
-        </profile>
-        <profile>
-            <id>dev</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev${profile.no-liquibase}</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <id>prod</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-clean-plugin</artifactId>
-                        <configuration>
-                            <filesets>
-                                <fileset>
-                                    <directory>target/www/</directory>
-                                </fileset>
-                            </filesets>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>build-info</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>INFO</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>prod${profile.swagger}${profile.no-liquibase}</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for doing "continuous compilation" with the Scala Maven plugin.
-                It allows automatic compilation of Java classes as soon as they are saved.
-                To use it, run in 3 terminals:
-                - './mvnw -Pcc scala:cc' for continous compilation of your classes
-                - './mvnw -Pcc' for hot reload of Spring boot
-                - 'gulp' for hot reload of the HTML/JavaScript assets
-                Everything should hot reload automatically!
-            -->
-            <id>cc</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>src/main/webapp/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                            <fork>true</fork>
-                            <addResources>true</addResources>
-                            <!--
-                            Enable the line below to have remote debugging of your application on port 5005
-                            <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                            -->
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>default-compile</id>
-                                <phase>none</phase>
-                            </execution>
-                            <execution>
-                                <id>default-testCompile</id>
-                                <phase>none</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>net.alchim31.maven</groupId>
-                        <artifactId>scala-maven-plugin</artifactId>
-                        <version>${scala-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>compile</id>
-                                <phase>compile</phase>
-                                <goals>
-                                    <goal>add-source</goal>
-                                    <goal>compile</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>test-compile</id>
-                                <phase>test-compile</phase>
-                                <goals>
-                                    <goal>add-source</goal>
-                                    <goal>testCompile</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <recompileMode>incremental</recompileMode>
-                            <verbose>true</verbose>
-                            <scalaVersion>${scala.version}</scalaVersion>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev,swagger</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Graphite.
-            -->
-            <id>graphite</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.dropwizard.metrics</groupId>
-                    <artifactId>metrics-graphite</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Prometheus.
-            -->
-            <id>prometheus</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_servlet</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_dropwizard</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for tracing requests with Zipkin.
-            -->
-            <id>zipkin</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    <artifactId>spring-cloud-starter-zipkin</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for applying IDE-specific configuration.
-                At the moment it only configures MapStruct, which you need when working
-                with DTOs.
-            -->
-            <id>IDE</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.mapstruct</groupId>
-                    <artifactId>mapstruct-processor</artifactId>
-                    <version>${mapstruct.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-</project>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/Dockerfile b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/Dockerfile
deleted file mode 100644
index f74eff51b19786bfab7205baa8fa3d79e09718fa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/Dockerfile
+++ /dev/null
@@ -1,13 +0,0 @@
-FROM openjdk:8-jre-alpine
-
-ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
-    JHIPSTER_SLEEP=0 \
-    JAVA_OPTS=""
-
-# add directly the war
-ADD *.war /app.war
-
-EXPOSE 8081 5701/udp
-CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
-    sleep ${JHIPSTER_SLEEP} && \
-    java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/app.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/app.yml
deleted file mode 100644
index add99cbb2bacfbcb1a8dc3b57f3be637e1d5208c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/app.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-version: '2'
-services:
-    acsmiservices-app:
-        image: acsmiservices
-        environment:
-            - SPRING_PROFILES_ACTIVE=prod,swagger
-            - EUREKA_CLIENT_SERVICE-URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
-            - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
-            - SPRING_DATASOURCE_URL=jdbc:mysql://acsmiservices-mysql:3306/acsmiservices?useUnicode=true&characterEncoding=utf8&useSSL=false
-            - JHIPSTER_SLEEP=30 # gives time for the JHipster Registry to boot before the application
-    acsmiservices-mysql:
-        extends:
-            file: mysql.yml
-            service: acsmiservices-mysql
-    jhipster-registry:
-        extends:
-            file: jhipster-registry.yml
-            service: jhipster-registry
-        environment:
-            - SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:./central-config/docker-config/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/README.md b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/README.md
deleted file mode 100644
index 022a152863489166b7aa7c23c9e00c0e175e2ca2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Central configuration sources details
-
-The JHipster-Registry will use the following directories as its configuration source :
-- localhost-config : when running the registry in docker with the jhipster-registry.yml docker-compose file
-- docker-config : when running the registry and the app both in docker with the app.yml docker-compose file
-
-For more info, refer to http://jhipster.github.io/microservices-architecture/#registry_app_configuration
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/docker-config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/docker-config/application.yml
deleted file mode 100644
index d95847f6a2d65dddc1ce68da91c7757035b0fe69..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/docker-config/application.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Common configuration shared between all applications
-configserver:
-    name: Docker JHipster Registry
-    status: Connected to the JHipster Registry running in Docker
-
-jhipster:
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-
-eureka:
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@jhipster-registry:8761/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/localhost-config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/localhost-config/application.yml
deleted file mode 100644
index 2c8a0dea779ef33fe40f6a394d5155405a2df38c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/central-server-config/localhost-config/application.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Common configuration shared between all applications
-configserver:
-    name: Docker JHipster Registry
-    status: Connected to the JHipster Registry running in Docker
-
-jhipster:
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-
-eureka:
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/jhipster-registry.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/jhipster-registry.yml
deleted file mode 100644
index 25772b0d51c8f21d0cb1f1ccc40131e518b1391b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/jhipster-registry.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-version: '2'
-services:
-    jhipster-registry:
-        image: jhipster/jhipster-registry:v3.0.1
-        volumes:
-            - ./central-server-config:/central-config
-        # When run with the "dev" Spring profile, the JHipster Registry will
-        # read the config from the local filesystem (central-server-config directory)
-        # When run with the "prod" Spring profile, it will read the config from a git repository
-        # See http://jhipster.github.io/microservices-architecture/#registry_app_configuration
-        environment:
-            - SPRING_PROFILES_ACTIVE=dev
-            - SECURITY_USER_PASSWORD=admin
-            - SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:./central-config/localhost-config/
-            # - GIT_URI=https://github.com/jhipster/jhipster-registry/
-            # - GIT_SEARCH_PATHS=central-config
-        ports:
-            - 8761:8761
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/mysql.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/mysql.yml
deleted file mode 100644
index ab85707f0ddae91c0ecbb285daac7a269a7dbf55..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/mysql.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: '2'
-services:
-    acsmiservices-mysql:
-        image: mysql:5.7.18
-        # volumes:
-        #     - ~/volumes/jhipster/acsmiservices/mysql/:/var/lib/mysql/
-        environment:
-            - MYSQL_USER=root
-            - MYSQL_ALLOW_EMPTY_PASSWORD=yes
-            - MYSQL_DATABASE=acsmiservices
-        ports:
-            - 3306:3306
-        command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8 --explicit_defaults_for_timestamp
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/sonar.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/sonar.yml
deleted file mode 100644
index bdd296e8e49844c2dadbbbcfb41684b2ebab02d2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/docker/sonar.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: '2'
-services:
-    acsmiservices-sonar:
-        image: sonarqube:6.2-alpine
-        ports:
-            - 9000:9000
-            - 9092:9092
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/AcsmiservicesApp.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/AcsmiservicesApp.java
deleted file mode 100644
index b036edecc38a1e07628e612db68beb3720fe92e7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/AcsmiservicesApp.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server;
-
-import eu.decideh2020.acsmi.backend.services.server.config.ApplicationProperties;
-import eu.decideh2020.acsmi.backend.services.server.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.actuate.autoconfigure.*;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.core.env.Environment;
-
-import javax.annotation.PostConstruct;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collection;
-
-@ComponentScan
-@EnableAutoConfiguration(exclude = {MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class})
-@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
-@EnableDiscoveryClient
-public class AcsmiservicesApp {
-
-    private static final Logger log = LoggerFactory.getLogger(AcsmiservicesApp.class);
-
-    private final Environment env;
-
-    public AcsmiservicesApp(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Initializes acsmiservices.
-     * <p>
-     * Spring profiles can be configured with a program arguments --spring.profiles.active=your-active-profile
-     * <p>
-     * You can find more information on how profiles work with JHipster on <a href="http://jhipster.github.io/profiles/">http://jhipster.github.io/profiles/</a>.
-     */
-    @PostConstruct
-    public void initApplication() {
-        Collection<String> activeProfiles = Arrays.asList(env.getActiveProfiles());
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            log.error("You have misconfigured your application! It should not run " +
-                "with both the 'dev' and 'prod' profiles at the same time.");
-        }
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_CLOUD)) {
-            log.error("You have misconfigured your application! It should not" +
-                "run with both the 'dev' and 'cloud' profiles at the same time.");
-        }
-    }
-
-    /**
-     * Main method, used to run the application.
-     *
-     * @param args the command line arguments
-     * @throws UnknownHostException if the local host name could not be resolved into an address
-     */
-    public static void main(String[] args) throws UnknownHostException {
-        SpringApplication app = new SpringApplication(AcsmiservicesApp.class);
-        DefaultProfileUtil.addDefaultProfile(app);
-        Environment env = app.run(args).getEnvironment();
-        String protocol = "http";
-        if (env.getProperty("server.ssl.key-store") != null) {
-            protocol = "https";
-        }
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Application '{}' is running! Access URLs:\n\t" +
-                "Local: \t\t{}://localhost:{}\n\t" +
-                "External: \t{}://{}:{}\n\t" +
-                "Profile(s): \t{}\n----------------------------------------------------------",
-            env.getProperty("spring.application.name"),
-            protocol,
-            env.getProperty("server.port"),
-            protocol,
-            InetAddress.getLocalHost().getHostAddress(),
-            env.getProperty("server.port"),
-            env.getActiveProfiles());
-
-        String configServerStatus = env.getProperty("configserver.status");
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Config Server: \t{}\n----------------------------------------------------------",
-            configServerStatus == null ? "Not found or not setup for this application" : configServerStatus);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/ApplicationWebXml.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/ApplicationWebXml.java
deleted file mode 100644
index 1eff140286e55dc52b3c2b63d4a748a26cea1797..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/ApplicationWebXml.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server;
-
-import eu.decideh2020.acsmi.backend.services.server.config.DefaultProfileUtil;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-/**
- * This is a helper Java class that provides an alternative to creating a web.xml.
- * This will be invoked only when the application is deployed to a servlet container like Tomcat, JBoss etc.
- */
-public class ApplicationWebXml extends SpringBootServletInitializer {
-
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
-        /**
-         * set a default to use when no profile is configured.
-         */
-        DefaultProfileUtil.addDefaultProfile(application.application());
-        return application.sources(AcsmiservicesApp.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/aop/logging/LoggingAspect.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/aop/logging/LoggingAspect.java
deleted file mode 100644
index 3149589cccb408ae43f51587b8e4db779efdab28..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/aop/logging/LoggingAspect.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.aop.logging;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.env.Environment;
-
-import java.util.Arrays;
-
-/**
- * Aspect for logging execution of service and repository Spring components.
- *
- * By default, it only runs with the "dev" profile.
- */
-@Aspect
-public class LoggingAspect {
-
-    private final Logger log = LoggerFactory.getLogger(this.getClass());
-
-    private final Environment env;
-
-    public LoggingAspect(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Pointcut that matches all repositories, services and Web REST endpoints.
-     */
-    @Pointcut("(within(eu.decideh2020.acsmi.backend.services.server.repository..*) && @annotation(org.springframework.stereotype.Repository))"+
-        " || (within(eu.decideh2020.acsmi.backend.services.server.service..*) && @annotation(org.springframework.stereotype.Service))"+
-        " || (within(eu.decideh2020.acsmi.backend.services.server.web.rest..*) && @annotation(org.springframework.web.bind.annotation.RestController))")
-    public void loggingPointcut() {
-        // Method is empty as this is just a Pointcut, the implementations are in the advices.
-    }
-
-    /**
-     * Advice that logs methods throwing exceptions.
-     *
-     * @param joinPoint join point for advice
-     * @param e exception
-     */
-    @AfterThrowing(pointcut = "loggingPointcut()", throwing = "e")
-    public void logAfterThrowing(JoinPoint joinPoint, Throwable e) {
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) {
-            log.error("Exception in {}.{}() with cause = \'{}\' and exception = \'{}\'", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL", e.getMessage(), e);
-
-        } else {
-            log.error("Exception in {}.{}() with cause = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL");
-        }
-    }
-
-    /**
-     * Advice that logs when a method is entered and exited.
-     *
-     * @param joinPoint join point for advice
-     * @return result
-     * @throws Throwable throws IllegalArgumentException
-     */
-    @Around("loggingPointcut()")
-    public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {
-        if (log.isDebugEnabled()) {
-            log.debug("Enter: {}.{}() with argument[s] = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), Arrays.toString(joinPoint.getArgs()));
-        }
-        try {
-            Object result = joinPoint.proceed();
-            if (log.isDebugEnabled()) {
-                log.debug("Exit: {}.{}() with result = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                    joinPoint.getSignature().getName(), result);
-            }
-            return result;
-        } catch (IllegalArgumentException e) {
-            log.error("Illegal argument: {} in {}.{}()", Arrays.toString(joinPoint.getArgs()),
-                joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName());
-
-            throw e;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ApplicationProperties.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ApplicationProperties.java
deleted file mode 100644
index 5061dc3e179aedea4166b128af7b87acb6bef880..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ApplicationProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Properties specific to JHipster.
- *
- * <p>
- *     Properties are configured in the application.yml file.
- * </p>
- */
-@ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
-public class ApplicationProperties {
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/AsyncConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/AsyncConfiguration.java
deleted file mode 100644
index 3c73ff7dd758ee69f50d2a9a32ddfcd990ac0b4a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/AsyncConfiguration.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor;
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
-import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.*;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-
-import java.util.concurrent.Executor;
-
-@Configuration
-@EnableAsync
-@EnableScheduling
-public class AsyncConfiguration implements AsyncConfigurer {
-
-    private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class);
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public AsyncConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    @Bean(name = "taskExecutor")
-    public Executor getAsyncExecutor() {
-        log.debug("Creating Async Task Executor");
-        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        executor.setCorePoolSize(jHipsterProperties.getAsync().getCorePoolSize());
-        executor.setMaxPoolSize(jHipsterProperties.getAsync().getMaxPoolSize());
-        executor.setQueueCapacity(jHipsterProperties.getAsync().getQueueCapacity());
-        executor.setThreadNamePrefix("acsmiservices-Executor-");
-        return new ExceptionHandlingAsyncTaskExecutor(executor);
-    }
-
-    @Override
-    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
-        return new SimpleAsyncUncaughtExceptionHandler();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CacheConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CacheConfiguration.java
deleted file mode 100644
index bc7ad5dac3c6b7f2a4c2db6116f14c1138eb9df9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CacheConfiguration.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-
-import com.hazelcast.config.Config;
-import com.hazelcast.core.HazelcastInstance;
-import com.hazelcast.core.Hazelcast;
-import com.hazelcast.config.MapConfig;
-import com.hazelcast.config.EvictionPolicy;
-import com.hazelcast.config.MaxSizeConfig;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.web.ServerProperties;
-
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.cloud.client.ServiceInstance;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.cloud.client.serviceregistry.Registration;
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-
-import javax.annotation.PreDestroy;
-
-@Configuration
-@EnableCaching
-@AutoConfigureAfter(value = { MetricsConfiguration.class })
-@AutoConfigureBefore(value = { WebConfigurer.class, DatabaseConfiguration.class })
-public class CacheConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
-
-    private final Environment env;
-
-    private final ServerProperties serverProperties;
-
-    private final DiscoveryClient discoveryClient;
-
-    private Registration registration;
-
-    public CacheConfiguration(Environment env, ServerProperties serverProperties, DiscoveryClient discoveryClient) {
-        this.env = env;
-        this.serverProperties = serverProperties;
-        this.discoveryClient = discoveryClient;
-    }
-
-    @Autowired(required = false)
-    public void setRegistration(Registration registration) {
-        this.registration = registration;
-    }
-
-    @PreDestroy
-    public void destroy() {
-        log.info("Closing Cache Manager");
-        Hazelcast.shutdownAll();
-    }
-
-    @Bean
-    public CacheManager cacheManager(HazelcastInstance hazelcastInstance) {
-        log.debug("Starting HazelcastCacheManager");
-        CacheManager cacheManager = new com.hazelcast.spring.cache.HazelcastCacheManager(hazelcastInstance);
-        return cacheManager;
-    }
-
-    @Bean
-    public HazelcastInstance hazelcastInstance(JHipsterProperties jHipsterProperties) {
-        log.debug("Configuring Hazelcast");
-        HazelcastInstance hazelCastInstance = Hazelcast.getHazelcastInstanceByName("acsmiservices");
-        if (hazelCastInstance != null) {
-            log.debug("Hazelcast already initialized");
-            return hazelCastInstance;
-        }
-        Config config = new Config();
-        config.setInstanceName("acsmiservices");
-        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
-        if (this.registration == null) {
-            log.warn("No discovery service is set up, Hazelcast cannot create a cluster.");
-        } else {
-            // The serviceId is by default the application's name, see Spring Boot's eureka.instance.appname property
-            String serviceId = registration.getServiceId();
-            log.debug("Configuring Hazelcast clustering for instanceId: {}", serviceId);
-            // In development, everything goes through 127.0.0.1, with a different port
-            if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) {
-                log.debug("Application is running with the \"dev\" profile, Hazelcast " +
-                          "cluster will only work with localhost instances");
-
-                System.setProperty("hazelcast.local.localAddress", "127.0.0.1");
-                config.getNetworkConfig().setPort(serverProperties.getPort() + 5701);
-                config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
-                for (ServiceInstance instance : discoveryClient.getInstances(serviceId)) {
-                    String clusterMember = "127.0.0.1:" + (instance.getPort() + 5701);
-                    log.debug("Adding Hazelcast (dev) cluster member " + clusterMember);
-                    config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(clusterMember);
-                }
-            } else { // Production configuration, one host per instance all using port 5701
-                config.getNetworkConfig().setPort(5701);
-                config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
-                for (ServiceInstance instance : discoveryClient.getInstances(serviceId)) {
-                    String clusterMember = instance.getHost() + ":5701";
-                    log.debug("Adding Hazelcast (prod) cluster member " + clusterMember);
-                    config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(clusterMember);
-                }
-            }
-        }
-        config.getMapConfigs().put("default", initializeDefaultMapConfig());
-        config.getMapConfigs().put("eu.decideh2020.acsmi.backend.services.server.domain.*", initializeDomainMapConfig(jHipsterProperties));
-        return Hazelcast.newHazelcastInstance(config);
-    }
-
-    private MapConfig initializeDefaultMapConfig() {
-        MapConfig mapConfig = new MapConfig();
-
-    /*
-        Number of backups. If 1 is set as the backup-count for example,
-        then all entries of the map will be copied to another JVM for
-        fail-safety. Valid numbers are 0 (no backup), 1, 2, 3.
-     */
-        mapConfig.setBackupCount(0);
-
-    /*
-        Valid values are:
-        NONE (no eviction),
-        LRU (Least Recently Used),
-        LFU (Least Frequently Used).
-        NONE is the default.
-     */
-        mapConfig.setEvictionPolicy(EvictionPolicy.LRU);
-
-    /*
-        Maximum size of the map. When max size is reached,
-        map is evicted based on the policy defined.
-        Any integer between 0 and Integer.MAX_VALUE. 0 means
-        Integer.MAX_VALUE. Default is 0.
-     */
-        mapConfig.setMaxSizeConfig(new MaxSizeConfig(0, MaxSizeConfig.MaxSizePolicy.USED_HEAP_SIZE));
-
-        return mapConfig;
-    }
-
-    private MapConfig initializeDomainMapConfig(JHipsterProperties jHipsterProperties) {
-        MapConfig mapConfig = new MapConfig();
-        mapConfig.setTimeToLiveSeconds(jHipsterProperties.getCache().getHazelcast().getTimeToLiveSeconds());
-        return mapConfig;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CloudDatabaseConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CloudDatabaseConfiguration.java
deleted file mode 100644
index fedbcdb2b0084bf4136c8184ddf550cb106c8747..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/CloudDatabaseConfiguration.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cache.CacheManager;
-import org.springframework.cloud.config.java.AbstractCloudConfig;
-import org.springframework.context.annotation.*;
-
-import javax.sql.DataSource;
-
-@Configuration
-@Profile(JHipsterConstants.SPRING_PROFILE_CLOUD)
-public class CloudDatabaseConfiguration extends AbstractCloudConfig {
-
-    private final Logger log = LoggerFactory.getLogger(CloudDatabaseConfiguration.class);
-
-    @Bean
-    public DataSource dataSource(CacheManager cacheManager) {
-        log.info("Configuring JDBC datasource from a cloud provider");
-        return connectionFactory().dataSource();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/Constants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/Constants.java
deleted file mode 100644
index 12d0d5be3faad4649c19dcc8158de6bb71165889..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/Constants.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-/**
- * Application constants.
- */
-public final class Constants {
-
-    //Regex for acceptable logins
-    public static final String LOGIN_REGEX = "^[_'.@A-Za-z0-9-]*$";
-
-    public static final String SYSTEM_ACCOUNT = "system";
-    public static final String ANONYMOUS_USER = "anonymoususer";
-
-    private Constants() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DatabaseConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DatabaseConfiguration.java
deleted file mode 100644
index bda6f570d5aee4de3e4d5ea76cdc95e40c36f3bf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DatabaseConfiguration.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.liquibase.AsyncSpringLiquibase;
-
-import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
-import liquibase.integration.spring.SpringLiquibase;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import javax.sql.DataSource;
-
-@Configuration
-@EnableJpaRepositories("eu.decideh2020.acsmi.backend.services.server.repository")
-@EnableJpaAuditing(auditorAwareRef = "springSecurityAuditorAware")
-@EnableTransactionManagement
-public class DatabaseConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
-
-    private final Environment env;
-
-    public DatabaseConfiguration(Environment env) {
-        this.env = env;
-    }
-
-    @Bean
-    public SpringLiquibase liquibase(@Qualifier("taskExecutor") TaskExecutor taskExecutor,
-            DataSource dataSource, LiquibaseProperties liquibaseProperties) {
-
-        // Use liquibase.integration.spring.SpringLiquibase if you don't want Liquibase to start asynchronously
-        SpringLiquibase liquibase = new AsyncSpringLiquibase(taskExecutor, env);
-        liquibase.setDataSource(dataSource);
-        liquibase.setChangeLog("classpath:config/liquibase/master.xml");
-        liquibase.setContexts(liquibaseProperties.getContexts());
-        liquibase.setDefaultSchema(liquibaseProperties.getDefaultSchema());
-        liquibase.setDropFirst(liquibaseProperties.isDropFirst());
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_NO_LIQUIBASE)) {
-            liquibase.setShouldRun(false);
-        } else {
-            liquibase.setShouldRun(liquibaseProperties.isEnabled());
-            log.debug("Configuring Liquibase");
-        }
-        return liquibase;
-    }
-
-    @Bean
-    public Hibernate5Module hibernate5Module() {
-        return new Hibernate5Module();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DateTimeFormatConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DateTimeFormatConfiguration.java
deleted file mode 100644
index c3e3e729977a823bd1e78284e35502e74d1be280..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DateTimeFormatConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.format.FormatterRegistry;
-import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class DateTimeFormatConfiguration extends WebMvcConfigurerAdapter {
-
-    @Override
-    public void addFormatters(FormatterRegistry registry) {
-        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
-        registrar.setUseIsoFormat(true);
-        registrar.registerFormatters(registry);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DefaultProfileUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DefaultProfileUtil.java
deleted file mode 100644
index 1bdb7b2b5c72d86a3a4be95b8e9fbb4b06df69ed..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/DefaultProfileUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.core.env.Environment;
-
-import java.util.*;
-
-/**
- * Utility class to load a Spring profile to be used as default
- * when there is no <code>spring.profiles.active</code> set in the environment or as command line argument.
- * If the value is not available in <code>application.yml</code> then <code>dev</code> profile will be used as default.
- */
-public final class DefaultProfileUtil {
-
-    private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default";
-
-    private DefaultProfileUtil() {
-    }
-
-    /**
-     * Set a default to use when no profile is configured.
-     *
-     * @param app the Spring application
-     */
-    public static void addDefaultProfile(SpringApplication app) {
-        Map<String, Object> defProperties =  new HashMap<>();
-        /*
-        * The default profile to use when no other profiles are defined
-        * This cannot be set in the <code>application.yml</code> file.
-        * See https://github.com/spring-projects/spring-boot/issues/1219
-        */
-        defProperties.put(SPRING_PROFILE_DEFAULT, JHipsterConstants.SPRING_PROFILE_DEVELOPMENT);
-        app.setDefaultProperties(defProperties);
-    }
-
-    /**
-     * Get the profiles that are applied else get default profiles.
-     *
-     * @param env spring environment
-     * @return profiles
-     */
-    public static String[] getActiveProfiles(Environment env) {
-        String[] profiles = env.getActiveProfiles();
-        if (profiles.length == 0) {
-            return env.getDefaultProfiles();
-        }
-        return profiles;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LocaleConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LocaleConfiguration.java
deleted file mode 100644
index 572a5bf044790c42ebd0956d59023fb374896b62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LocaleConfiguration.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.locale.AngularCookieLocaleResolver;
-
-import org.springframework.context.EnvironmentAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.servlet.LocaleResolver;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
-
-@Configuration
-public class LocaleConfiguration extends WebMvcConfigurerAdapter implements EnvironmentAware {
-
-    @Override
-    public void setEnvironment(Environment environment) {
-        // unused
-    }
-
-    @Bean(name = "localeResolver")
-    public LocaleResolver localeResolver() {
-        AngularCookieLocaleResolver cookieLocaleResolver = new AngularCookieLocaleResolver();
-        cookieLocaleResolver.setCookieName("NG_TRANSLATE_LANG_KEY");
-        return cookieLocaleResolver;
-    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
-        localeChangeInterceptor.setParamName("language");
-        registry.addInterceptor(localeChangeInterceptor);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingAspectConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingAspectConfiguration.java
deleted file mode 100644
index 1de323b79e5525cd61a600011f1b94f40f974a82..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingAspectConfiguration.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import eu.decideh2020.acsmi.backend.services.server.aop.logging.LoggingAspect;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-
-@Configuration
-@EnableAspectJAutoProxy
-public class LoggingAspectConfiguration {
-
-    @Bean
-    @Profile(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)
-    public LoggingAspect loggingAspect(Environment env) {
-        return new LoggingAspect(env);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingConfiguration.java
deleted file mode 100644
index 69134a3960ee0d60665346cf42092c19fe9c1853..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/LoggingConfiguration.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import ch.qos.logback.classic.AsyncAppender;
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.spi.LoggerContextListener;
-import ch.qos.logback.core.spi.ContextAwareBase;
-import net.logstash.logback.appender.LogstashSocketAppender;
-import net.logstash.logback.stacktrace.ShortenedThrowableConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class LoggingConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(LoggingConfiguration.class);
-
-    private LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-
-    private final String appName;
-
-    private final String serverPort;
-
-    private final String instanceId;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public LoggingConfiguration(@Value("${spring.application.name}") String appName, @Value("${server.port}") String serverPort,
-        @Value("${eureka.instance.instanceId}") String instanceId, JHipsterProperties jHipsterProperties) {
-        this.appName = appName;
-        this.serverPort = serverPort;
-        this.instanceId = instanceId;
-        this.jHipsterProperties = jHipsterProperties;
-        if (jHipsterProperties.getLogging().getLogstash().isEnabled()) {
-            addLogstashAppender(context);
-
-            // Add context listener
-            LogbackLoggerContextListener loggerContextListener = new LogbackLoggerContextListener();
-            loggerContextListener.setContext(context);
-            context.addListener(loggerContextListener);
-        }
-    }
-
-    public void addLogstashAppender(LoggerContext context) {
-        log.info("Initializing Logstash logging");
-
-        LogstashSocketAppender logstashAppender = new LogstashSocketAppender();
-        logstashAppender.setName("LOGSTASH");
-        logstashAppender.setContext(context);
-        String customFields = "{\"app_name\":\"" + appName + "\",\"app_port\":\"" + serverPort + "\"," +
-            "\"instance_id\":\"" + instanceId + "\"}";
-
-        // Set the Logstash appender config from JHipster properties
-        logstashAppender.setSyslogHost(jHipsterProperties.getLogging().getLogstash().getHost());
-        logstashAppender.setPort(jHipsterProperties.getLogging().getLogstash().getPort());
-        logstashAppender.setCustomFields(customFields);
-
-        // Limit the maximum length of the forwarded stacktrace so that it won't exceed the 8KB UDP limit of logstash
-        ShortenedThrowableConverter throwableConverter = new ShortenedThrowableConverter();
-        throwableConverter.setMaxLength(7500);
-        throwableConverter.setRootCauseFirst(true);
-        logstashAppender.setThrowableConverter(throwableConverter);
-
-        logstashAppender.start();
-
-        // Wrap the appender in an Async appender for performance
-        AsyncAppender asyncLogstashAppender = new AsyncAppender();
-        asyncLogstashAppender.setContext(context);
-        asyncLogstashAppender.setName("ASYNC_LOGSTASH");
-        asyncLogstashAppender.setQueueSize(jHipsterProperties.getLogging().getLogstash().getQueueSize());
-        asyncLogstashAppender.addAppender(logstashAppender);
-        asyncLogstashAppender.start();
-
-        context.getLogger("ROOT").addAppender(asyncLogstashAppender);
-    }
-
-    /**
-     * Logback configuration is achieved by configuration file and API.
-     * When configuration file change is detected, the configuration is reset.
-     * This listener ensures that the programmatic configuration is also re-applied after reset.
-     */
-    class LogbackLoggerContextListener extends ContextAwareBase implements LoggerContextListener {
-
-        @Override
-        public boolean isResetResistant() {
-            return true;
-        }
-
-        @Override
-        public void onStart(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onReset(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onStop(LoggerContext context) {
-            // Nothing to do.
-        }
-
-        @Override
-        public void onLevelChange(ch.qos.logback.classic.Logger logger, Level level) {
-            // Nothing to do.
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MetricsConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MetricsConfiguration.java
deleted file mode 100644
index 47600b449e249c2f04567a0ee070fb72b9163f2b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MetricsConfiguration.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.config.metrics.SpectatorLogMetricWriter;
-
-import com.netflix.spectator.api.Registry;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricReader;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricWriter;
-import org.springframework.boot.actuate.metrics.writer.MetricWriter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.netflix.metrics.spectator.SpectatorMetricReader;
-
-import com.codahale.metrics.JmxReporter;
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.Slf4jReporter;
-import com.codahale.metrics.health.HealthCheckRegistry;
-import com.codahale.metrics.jvm.*;
-import com.ryantenney.metrics.spring.config.annotation.EnableMetrics;
-import com.ryantenney.metrics.spring.config.annotation.MetricsConfigurerAdapter;
-import com.zaxxer.hikari.HikariDataSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.*;
-
-import javax.annotation.PostConstruct;
-import java.lang.management.ManagementFactory;
-import java.util.concurrent.TimeUnit;
-
-@Configuration
-@EnableMetrics(proxyTargetClass = true)
-public class MetricsConfiguration extends MetricsConfigurerAdapter {
-
-    private static final String PROP_METRIC_REG_JVM_MEMORY = "jvm.memory";
-    private static final String PROP_METRIC_REG_JVM_GARBAGE = "jvm.garbage";
-    private static final String PROP_METRIC_REG_JVM_THREADS = "jvm.threads";
-    private static final String PROP_METRIC_REG_JVM_FILES = "jvm.files";
-    private static final String PROP_METRIC_REG_JVM_BUFFERS = "jvm.buffers";
-    private final Logger log = LoggerFactory.getLogger(MetricsConfiguration.class);
-
-    private MetricRegistry metricRegistry = new MetricRegistry();
-
-    private HealthCheckRegistry healthCheckRegistry = new HealthCheckRegistry();
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private HikariDataSource hikariDataSource;
-
-    public MetricsConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Autowired(required = false)
-    public void setHikariDataSource(HikariDataSource hikariDataSource) {
-        this.hikariDataSource = hikariDataSource;
-    }
-
-    @Override
-    @Bean
-    public MetricRegistry getMetricRegistry() {
-        return metricRegistry;
-    }
-
-    @Override
-    @Bean
-    public HealthCheckRegistry getHealthCheckRegistry() {
-        return healthCheckRegistry;
-    }
-
-    @PostConstruct
-    public void init() {
-        log.debug("Registering JVM gauges");
-        metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge());
-        metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()));
-        if (hikariDataSource != null) {
-            log.debug("Monitoring the datasource");
-            hikariDataSource.setMetricRegistry(metricRegistry);
-        }
-        if (jHipsterProperties.getMetrics().getJmx().isEnabled()) {
-            log.debug("Initializing Metrics JMX reporting");
-            JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build();
-            jmxReporter.start();
-        }
-        if (jHipsterProperties.getMetrics().getLogs().isEnabled()) {
-            log.info("Initializing Metrics Log reporting");
-            final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry)
-                .outputTo(LoggerFactory.getLogger("metrics"))
-                .convertRatesTo(TimeUnit.SECONDS)
-                .convertDurationsTo(TimeUnit.MILLISECONDS)
-                .build();
-            reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS);
-        }
-    }
-
-    /* Spectator metrics log reporting */
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricReader
-    public SpectatorMetricReader SpectatorMetricReader(Registry registry) {
-        log.info("Initializing Spectator Metrics Log reporting");
-        return new SpectatorMetricReader(registry);
-    }
-
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricWriter
-    MetricWriter metricWriter() {
-        return new SpectatorLogMetricWriter();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MicroserviceSecurityConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MicroserviceSecurityConfiguration.java
deleted file mode 100644
index 8f25ec0deee1ba588f1ac47bfde5d2caadae3f62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/MicroserviceSecurityConfiguration.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import eu.decideh2020.acsmi.backend.services.server.security.AuthoritiesConstants;
-import eu.decideh2020.acsmi.backend.services.server.security.jwt.JWTConfigurer;
-import eu.decideh2020.acsmi.backend.services.server.security.jwt.TokenProvider;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.data.repository.query.SecurityEvaluationContextExtension;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
-public class MicroserviceSecurityConfiguration extends WebSecurityConfigurerAdapter {
-
-    private final TokenProvider tokenProvider;
-
-    public MicroserviceSecurityConfiguration(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void configure(WebSecurity web) throws Exception {
-        web.ignoring()
-            .antMatchers(HttpMethod.OPTIONS, "/**")
-            .antMatchers("/app/**/*.{js,html}")
-            .antMatchers("/bower_components/**")
-            .antMatchers("/i18n/**")
-            .antMatchers("/content/**")
-            .antMatchers("/swagger-ui/index.html")
-            .antMatchers("/test/**")
-            .antMatchers("/h2-console/**");
-    }
-
-    @Override
-    protected void configure(HttpSecurity http) throws Exception {
-        http
-            .csrf()
-            .disable()
-            .headers()
-            .frameOptions()
-            .disable()
-        .and()
-            .sessionManagement()
-            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-        .and()
-            .authorizeRequests()
-            .antMatchers("/api/**").authenticated()
-            .antMatchers("/management/health").permitAll()
-            .antMatchers("/management/**").hasAuthority(AuthoritiesConstants.ADMIN)
-            .antMatchers("/swagger-resources/configuration/ui").permitAll()
-        .and()
-            .apply(securityConfigurerAdapter());
-    }
-
-    private JWTConfigurer securityConfigurerAdapter() {
-        return new JWTConfigurer(tokenProvider);
-    }
-
-    @Bean
-    public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
-        return new SecurityEvaluationContextExtension();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ThymeleafConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ThymeleafConfiguration.java
deleted file mode 100644
index 3cc0dafc4f7767a27ecc8270963526e8fc4f2818..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/ThymeleafConfiguration.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import org.apache.commons.lang3.CharEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.*;
-import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
-
-@Configuration
-public class ThymeleafConfiguration {
-
-    @SuppressWarnings("unused")
-    private final Logger log = LoggerFactory.getLogger(ThymeleafConfiguration.class);
-
-    @Bean
-    @Description("Thymeleaf template resolver serving HTML 5 emails")
-    public ClassLoaderTemplateResolver emailTemplateResolver() {
-        ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
-        emailTemplateResolver.setPrefix("mails/");
-        emailTemplateResolver.setSuffix(".html");
-        emailTemplateResolver.setTemplateMode("HTML5");
-        emailTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
-        emailTemplateResolver.setOrder(1);
-        return emailTemplateResolver;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/WebConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/WebConfigurer.java
deleted file mode 100644
index 605392b05fa30c4c52e8a964d3ad11bcd53b268e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/WebConfigurer.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilter;
-import com.codahale.metrics.servlets.MetricsServlet;
-import com.hazelcast.core.HazelcastInstance;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.embedded.*;
-import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
-import io.undertow.UndertowOptions;
-import org.springframework.boot.web.servlet.ServletContextInitializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import java.util.*;
-import javax.servlet.*;
-
-/**
- * Configuration of web application with Servlet 3.0 APIs.
- */
-@Configuration
-public class WebConfigurer implements ServletContextInitializer, EmbeddedServletContainerCustomizer {
-
-    private final Logger log = LoggerFactory.getLogger(WebConfigurer.class);
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private final HazelcastInstance hazelcastInstance;
-
-    private MetricRegistry metricRegistry;
-
-    public WebConfigurer(Environment env, JHipsterProperties jHipsterProperties, HazelcastInstance hazelcastInstance) {
-
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-        this.hazelcastInstance = hazelcastInstance;
-    }
-
-    @Override
-    public void onStartup(ServletContext servletContext) throws ServletException {
-        if (env.getActiveProfiles().length != 0) {
-            log.info("Web application configuration, using profiles: {}", (Object[]) env.getActiveProfiles());
-        }
-        EnumSet<DispatcherType> disps = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC);
-        initMetrics(servletContext, disps);
-        log.info("Web application fully configured");
-    }
-
-    /**
-     * Customize the Servlet engine: Mime types, the document root, the cache.
-     */
-    @Override
-    public void customize(ConfigurableEmbeddedServletContainer container) {
-        MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
-        // IE issue, see https://github.com/jhipster/generator-jhipster/pull/711
-        mappings.add("html", "text/html;charset=utf-8");
-        // CloudFoundry issue, see https://github.com/cloudfoundry/gorouter/issues/64
-        mappings.add("json", "text/html;charset=utf-8");
-        container.setMimeMappings(mappings);
-
-        /*
-         * Enable HTTP/2 for Undertow - https://twitter.com/ankinson/status/829256167700492288
-         * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1.
-         * See the JHipsterProperties class and your application-*.yml configuration files
-         * for more information.
-         */
-        if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0) &&
-            container instanceof UndertowEmbeddedServletContainerFactory) {
-
-            ((UndertowEmbeddedServletContainerFactory) container)
-                .addBuilderCustomizers(builder ->
-                    builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
-        }
-    }
-
-    /**
-     * Initializes Metrics.
-     */
-    private void initMetrics(ServletContext servletContext, EnumSet<DispatcherType> disps) {
-        log.debug("Initializing Metrics registries");
-        servletContext.setAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE,
-            metricRegistry);
-        servletContext.setAttribute(MetricsServlet.METRICS_REGISTRY,
-            metricRegistry);
-
-        log.debug("Registering Metrics Filter");
-        FilterRegistration.Dynamic metricsFilter = servletContext.addFilter("webappMetricsFilter",
-            new InstrumentedFilter());
-
-        metricsFilter.addMappingForUrlPatterns(disps, true, "/*");
-        metricsFilter.setAsyncSupported(true);
-
-        log.debug("Registering Metrics Servlet");
-        ServletRegistration.Dynamic metricsAdminServlet =
-            servletContext.addServlet("metricsServlet", new MetricsServlet());
-
-        metricsAdminServlet.addMapping("/management/metrics/*");
-        metricsAdminServlet.setAsyncSupported(true);
-        metricsAdminServlet.setLoadOnStartup(2);
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        CorsConfiguration config = jHipsterProperties.getCors();
-        if (config.getAllowedOrigins() != null && !config.getAllowedOrigins().isEmpty()) {
-            log.debug("Registering CORS filter");
-            source.registerCorsConfiguration("/api/**", config);
-            source.registerCorsConfiguration("/v2/api-docs", config);
-        }
-        return new CorsFilter(source);
-    }
-
-    @Autowired(required = false)
-    public void setMetricRegistry(MetricRegistry metricRegistry) {
-        this.metricRegistry = metricRegistry;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/AuditEventConverter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/AuditEventConverter.java
deleted file mode 100644
index ca3f3bf352df81fbffe2b8ed912fcf85da9b624f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/AuditEventConverter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config.audit;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.PersistentAuditEvent;
-
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.security.web.authentication.WebAuthenticationDetails;
-import org.springframework.stereotype.Component;
-
-import java.util.*;
-
-@Component
-public class AuditEventConverter {
-
-    /**
-     * Convert a list of PersistentAuditEvent to a list of AuditEvent
-     *
-     * @param persistentAuditEvents the list to convert
-     * @return the converted list.
-     */
-    public List<AuditEvent> convertToAuditEvent(Iterable<PersistentAuditEvent> persistentAuditEvents) {
-        if (persistentAuditEvents == null) {
-            return Collections.emptyList();
-        }
-        List<AuditEvent> auditEvents = new ArrayList<>();
-        for (PersistentAuditEvent persistentAuditEvent : persistentAuditEvents) {
-            auditEvents.add(convertToAuditEvent(persistentAuditEvent));
-        }
-        return auditEvents;
-    }
-
-    /**
-     * Convert a PersistentAuditEvent to an AuditEvent
-     *
-     * @param persistentAuditEvent the event to convert
-     * @return the converted list.
-     */
-    public AuditEvent convertToAuditEvent(PersistentAuditEvent persistentAuditEvent) {
-        return new AuditEvent(Date.from(persistentAuditEvent.getAuditEventDate()), persistentAuditEvent.getPrincipal(),
-            persistentAuditEvent.getAuditEventType(), convertDataToObjects(persistentAuditEvent.getData()));
-    }
-
-    /**
-     * Internal conversion. This is needed to support the current SpringBoot actuator AuditEventRepository interface
-     *
-     * @param data the data to convert
-     * @return a map of String, Object
-     */
-    public Map<String, Object> convertDataToObjects(Map<String, String> data) {
-        Map<String, Object> results = new HashMap<>();
-
-        if (data != null) {
-            for (Map.Entry<String, String> entry : data.entrySet()) {
-                results.put(entry.getKey(), entry.getValue());
-            }
-        }
-        return results;
-    }
-
-    /**
-     * Internal conversion. This method will allow to save additional data.
-     * By default, it will save the object as string
-     *
-     * @param data the data to convert
-     * @return a map of String, String
-     */
-    public Map<String, String> convertDataToStrings(Map<String, Object> data) {
-        Map<String, String> results = new HashMap<>();
-
-        if (data != null) {
-            for (Map.Entry<String, Object> entry : data.entrySet()) {
-                Object object = entry.getValue();
-
-                // Extract the data that will be saved.
-                if (object instanceof WebAuthenticationDetails) {
-                    WebAuthenticationDetails authenticationDetails = (WebAuthenticationDetails) object;
-                    results.put("remoteAddress", authenticationDetails.getRemoteAddress());
-                    results.put("sessionId", authenticationDetails.getSessionId());
-                } else if (object != null) {
-                    results.put(entry.getKey(), object.toString());
-                } else {
-                    results.put(entry.getKey(), "null");
-                }
-            }
-        }
-
-        return results;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/package-info.java
deleted file mode 100644
index f91ba284dbad4045694e0a1b90bdb45950629086..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/audit/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Audit specific code.
- */
-package eu.decideh2020.acsmi.backend.services.server.config.audit;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/package-info.java
deleted file mode 100644
index 1e560e0a07e07de52de6bb52d1191ebd911ec5f1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/config/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring Framework configuration files.
- */
-package eu.decideh2020.acsmi.backend.services.server.config;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/AbstractAuditingEntity.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/AbstractAuditingEntity.java
deleted file mode 100644
index 1d4037139515d7b25c615376aea3c65e72f3645e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/AbstractAuditingEntity.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.Instant;
-
-import javax.persistence.Column;
-import javax.persistence.EntityListeners;
-import javax.persistence.MappedSuperclass;
-
-import org.hibernate.envers.Audited;
-import org.springframework.data.annotation.CreatedDate;
-import org.springframework.data.annotation.LastModifiedDate;
-import org.springframework.data.jpa.domain.support.AuditingEntityListener;
-
-/**
- * Base abstract class for entities which will hold definitions for created, last modified by and created,
- * last modified by date.
- */
-@MappedSuperclass
-@Audited
-@EntityListeners(AuditingEntityListener.class)
-public abstract class AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @CreatedDate
-    @Column(name = "created_date", nullable = false)
-    private Instant createdDate = Instant.now();
-
-    @LastModifiedDate
-    @Column(name = "last_modified_date")
-    private Instant lastModifiedDate = Instant.now();
-
-    public Instant getCreatedDate() {
-        return createdDate;
-    }
-
-    public void setCreatedDate(Instant createdDate) {
-        this.createdDate = createdDate;
-    }
-
-    public Instant getLastModifiedDate() {
-        return lastModifiedDate;
-    }
-
-    public void setLastModifiedDate(Instant lastModifiedDate) {
-        this.lastModifiedDate = lastModifiedDate;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/PersistentAuditEvent.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/PersistentAuditEvent.java
deleted file mode 100644
index 830104dea805d8dc5e9e26571bfe86d9396c662b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/PersistentAuditEvent.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.time.Instant;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Persist AuditEvent managed by the Spring Boot actuator
- * @see org.springframework.boot.actuate.audit.AuditEvent
- */
-@Entity
-@Table(name = "jhi_persistent_audit_event")
-public class PersistentAuditEvent implements Serializable {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "event_id")
-    private Long id;
-
-    @NotNull
-    @Column(nullable = false)
-    private String principal;
-
-    @Column(name = "event_date")
-    private Instant auditEventDate;
-    @Column(name = "event_type")
-    private String auditEventType;
-
-    @ElementCollection
-    @MapKeyColumn(name = "name")
-    @Column(name = "value")
-    @CollectionTable(name = "jhi_persistent_audit_evt_data", joinColumns=@JoinColumn(name="event_id"))
-    private Map<String, String> data = new HashMap<>();
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getPrincipal() {
-        return principal;
-    }
-
-    public void setPrincipal(String principal) {
-        this.principal = principal;
-    }
-
-    public Instant getAuditEventDate() {
-        return auditEventDate;
-    }
-
-    public void setAuditEventDate(Instant auditEventDate) {
-        this.auditEventDate = auditEventDate;
-    }
-
-    public String getAuditEventType() {
-        return auditEventType;
-    }
-
-    public void setAuditEventType(String auditEventType) {
-        this.auditEventType = auditEventType;
-    }
-
-    public Map<String, String> getData() {
-        return data;
-    }
-
-    public void setData(Map<String, String> data) {
-        this.data = data;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/Service.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/Service.java
deleted file mode 100644
index e4cb44e4aafc662c71c6a724faa69805af6c2743..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/Service.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.Objects;
-
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-/**
- * A Service.
- */
-@Entity
-@Table(name = "service")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class Service extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Size(max = 70)
-    @Column(name = "servicename", length = 70, nullable = false)
-    private String servicename;    
-
-    @Column(name = "deleted_date")
-    private ZonedDateTime deleteddate;
-    
-    /*
-    @OneToMany(mappedBy = "service", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
-    @JsonIgnoreProperties({"service"})
-    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-    private Set<ServiceInstance> serviceinstances = new HashSet<>();
-    */
-    
-    @ManyToOne(cascade = CascadeType.MERGE)
-    private ServiceClass serviceclass;
-    
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getServicename() {
-        return servicename;
-    }
-
-    public Service servicename(String servicename) {
-        this.servicename = servicename;
-        return this;
-    }
-
-    public void setServicename(String servicename) {
-        this.servicename = servicename;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public Service deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-    
-    
-    /*
-    public Set<ServiceInstance> getServiceinstances() {
-        return serviceinstances;
-    }
-
-    public Service serviceinstances(Set<ServiceInstance> serviceinstances) {
-        this.serviceinstances = serviceinstances;
-        return this;
-    }
-
-    public Service addServiceInstance(ServiceInstance serviceinstance) {
-        this.serviceinstances.add(serviceinstance);
-        serviceinstance.setService(this);
-        return this;
-    }
-
-    public Service removeServiceInstance(ServiceInstance serviceinstance) {
-        this.serviceinstances.remove(serviceinstance);
-        serviceinstance.setService(null);
-        return this;
-    }
-
-    public void setServiceinstances(Set<ServiceInstance> serviceinstances) {
-        this.serviceinstances = serviceinstances;
-    }
-    */
-    
-    public ServiceClass getServiceclass() {
-        return serviceclass;
-    }
-
-    public Service serviceclass(ServiceClass serviceclass) {
-        this.serviceclass = serviceclass;
-        return this;
-    }
-
-    public void setServiceclass(ServiceClass serviceclass) {
-        this.serviceclass = serviceclass;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        Service service = (Service) o;
-        if (service.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), service.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "Service{" +
-            "id=" + getId() +
-            ", servicename='" + getServicename() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeType.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeType.java
deleted file mode 100644
index 244468c910591451dca389ca11332de1349cc835..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeType.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.Objects;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-/**
- * A Service.
- */
-@Entity
-@Table(name = "service_attribute_type")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class ServiceAttributeType extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Size(max = 50)
-    @Column(name = "serviceattributetypename", length = 50, nullable = false)
-    private String serviceattributetypename;
-    
-    @NotNull
-    @Size(max = 50)
-    @Column(name = "datatype", length = 50, nullable = false)
-    private String datatype;
-    
-    @NotNull
-    @Column(name = "mandatoryenumeration", nullable = false)
-    private Boolean mandatoryenumeration;
-    
-    @Column(name = "enumerationvalues", nullable = true)
-    private String enumerationvalues;
-
-    @Column(name = "deleted_date")
-    private ZonedDateTime deleteddate;
-    
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getServiceattributetypename() {
-        return serviceattributetypename;
-    }
-
-    public ServiceAttributeType serviceattributetypename(String serviceattributetypename) {
-        this.serviceattributetypename = serviceattributetypename;
-        return this;
-    }
-
-    public void setServiceattributetypename(String serviceattributetypename) {
-        this.serviceattributetypename = serviceattributetypename;
-    }
-    
-    public String getDatatype() {
-        return datatype;
-    }
-
-    public ServiceAttributeType datatype(String datatype) {
-        this.datatype = datatype;
-        return this;
-    }
-
-    public void setDatatype(String datatype) {
-        this.datatype = datatype;
-    }
-    
-    public boolean isMandatoryenumeration() {
-        return mandatoryenumeration;
-    }
-
-    public ServiceAttributeType mandatoryenumeration(boolean mandatoryenumeration) {
-        this.mandatoryenumeration = mandatoryenumeration;
-        return this;
-    }
-
-    public void setMandatoryenumeration(boolean mandatoryenumeration) {
-        this.mandatoryenumeration = mandatoryenumeration;
-    }
-    
-    public String getEnumerationvalues() {
-        return enumerationvalues;
-    }
-
-    public ServiceAttributeType enumerationvalues(String enumerationvalues) {
-        this.enumerationvalues = enumerationvalues;
-        return this;
-    }
-
-    public void setEnumerationvalues(String enumerationvalues) {
-        this.enumerationvalues = enumerationvalues;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public ServiceAttributeType deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceAttributeType serviceAttributeType = (ServiceAttributeType) o;
-        if (serviceAttributeType.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), serviceAttributeType.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "Service{" +
-            "id=" + getId() +
-            ", serviceattributetypename='" + getServiceattributetypename() + "'" +
-            ", datatype='" + getDatatype() + "'" +
-            ", mandatoryenumeration='" + isMandatoryenumeration() + "'" +
-            ", enumerationvalues='" + getEnumerationvalues() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeValue.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeValue.java
deleted file mode 100644
index fbc23bdf7af2529d3d557c67511e27a39de5f784..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceAttributeValue.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.Objects;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-/**
- * A Service.
- */
-@Entity
-@Table(name = "service_attribute_value")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class ServiceAttributeValue extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Size(max = 50)
-    @Column(name = "serviceattributevalue", length = 50, nullable = false)
-    private String serviceattributevalue;
-
-    @Column(name = "deleted_date")
-    private ZonedDateTime deleteddate;
-    
-    @NotNull
-    @Column(name = "service_id", nullable = false)
-    private Long serviceid;
-    
-    @NotNull
-    @Column(name = "serviceattributetype_id", nullable = false)
-    private Long serviceattributetypeid;
-    
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getServiceattributevalue() {
-        return serviceattributevalue;
-    }
-
-    public ServiceAttributeValue serviceattributevalue(String serviceattributevalue) {
-        this.serviceattributevalue = serviceattributevalue;
-        return this;
-    }
-
-    public void setServiceattributevalue(String serviceattributevalue) {
-        this.serviceattributevalue = serviceattributevalue;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public ServiceAttributeValue deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-    
-    public Long getServiceid() {
-        return serviceid;
-    }
-
-    public ServiceAttributeValue serviceid(Long serviceid) {
-        this.serviceid = serviceid;
-        return this;
-    }
-
-    public void setServiceid(Long serviceid) {
-        this.serviceid = serviceid;
-    }
-    
-    public Long getServiceattributetypeid() {
-        return serviceattributetypeid;
-    }
-
-    public ServiceAttributeValue serviceattributetypeid(Long serviceattributetypeid) {
-        this.serviceattributetypeid = serviceattributetypeid;
-        return this;
-    }
-
-    public void setServiceattributetypeid(Long serviceattributetypeid) {
-        this.serviceattributetypeid = serviceattributetypeid;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceAttributeValue serviceattributevalue = (ServiceAttributeValue) o;
-        if (serviceattributevalue.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), serviceattributevalue.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "Service{" +
-            "id=" + getId() +
-            ", serviceattributevalue='" + getServiceattributevalue() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            ", serviceid='" + getServiceid() + "'" +
-            ", serviceattributetypeid='" + getServiceattributetypeid() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClass.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClass.java
deleted file mode 100644
index 903658bdaf1dbb92116327b894632e4ba83ccfba..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClass.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.HashSet;
-import java.util.Objects;
-import java.util.Set;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-/**
- * A ServiceClass.
- */
-@Entity
-@Table(name = "service_class")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class ServiceClass extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Size(max = 50)
-    @Column(name = "serviceclassname", length = 50, nullable = false)
-    private String serviceclassname;
-    
-    @NotNull
-    @Column(name = "editable", nullable = false)
-    private Boolean editable;
-
-    @Column(name = "deleted_date")
-    private ZonedDateTime deleteddate;
-    
-    @OneToMany(mappedBy = "serviceclass", fetch = FetchType.LAZY)
-    @JsonIgnoreProperties({"serviceclass"})
-    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-    private Set<Service> services = new HashSet<>();
-    
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getServiceclassname() {
-        return serviceclassname;
-    }
-
-    public ServiceClass serviceclassname(String serviceclassname) {
-        this.serviceclassname = serviceclassname;
-        return this;
-    }
-
-    public void setServiceclassname(String serviceclassname) {
-        this.serviceclassname = serviceclassname;
-    }
-    
-    public Boolean isEditable() {
-        return editable;
-    }
-    
-    public void setEditable(boolean editable) {
-    	this.editable = editable;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public ServiceClass deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-    
-    public Set<Service> getServices() {
-        return services;
-    }
-
-    public ServiceClass services(Set<Service> services) {
-        this.services = services;
-        return this;
-    }
-
-    public ServiceClass addService(Service service) {
-        this.services.add(service);
-        service.setServiceclass(this);
-        return this;
-    }
-
-    public ServiceClass removeService(Service service) {
-        this.services.remove(service);
-        service.setServiceclass(null);
-        return this;
-    }
-
-    public void setServices(Set<Service> services) {
-        this.services.clear();
-        if (services != null) {        
-            this.services.addAll(services);
-        } 
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceClass serviceClass = (ServiceClass) o;
-        if (serviceClass.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), serviceClass.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "ServiceClass{" +
-            "id=" + getId() +
-            ", serviceclassname='" + getServiceclassname() + "'" +
-            ", editable='" + isEditable() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClassTypicalAttribute.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClassTypicalAttribute.java
deleted file mode 100644
index badb47340d8325671c025d55bc97d427e112fae9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/ServiceClassTypicalAttribute.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.Objects;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.validation.constraints.NotNull;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-/**
- * A ServiceClassTypicalAttribute.
- */
-@Entity
-@Table(name = "service_class_typical_attribute")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class ServiceClassTypicalAttribute extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Column(name = "weight", nullable = false)
-    private Integer weight;
-    
-    @NotNull
-    @Column(name = "mandatory", nullable = false)
-    private Boolean mandatory;
-
-    @Column(name = "deleted_date")
-    private ZonedDateTime deleteddate;
-    
-    @NotNull
-    @Column(name = "serviceclass_id", nullable = false)
-    private Long serviceclassid;
-    
-    @NotNull
-    @Column(name = "serviceattributetype_id", nullable = false)
-    private Long serviceattributetypeid;
-    
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-    
-    public Integer getWeight() {
-        return weight;
-    }
-
-    public ServiceClassTypicalAttribute weight(Integer weight) {
-        this.weight = weight;
-        return this;
-    }
-
-    public void setWeight(Integer weight) {
-        this.weight = weight;
-    }
-    
-    public boolean isMandatory() {
-        return mandatory;
-    }
-
-    public ServiceClassTypicalAttribute mandatory(boolean mandatory) {
-        this.mandatory = mandatory;
-        return this;
-    }
-
-    public void setMandatory(boolean mandatory) {
-        this.mandatory = mandatory;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public ServiceClassTypicalAttribute deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-    
-    public Long getServiceclassid() {
-        return serviceclassid;
-    }
-
-    public ServiceClassTypicalAttribute serviceclassid(Long serviceclassid) {
-        this.serviceclassid = serviceclassid;
-        return this;
-    }
-
-    public void setServiceclassid(Long serviceclassid) {
-        this.serviceclassid = serviceclassid;
-    }
-    
-    public Long getServiceattributetypeid() {
-        return serviceattributetypeid;
-    }
-
-    public ServiceClassTypicalAttribute serviceattributetypeid(Long serviceattributetypeid) {
-        this.serviceattributetypeid = serviceattributetypeid;
-        return this;
-    }
-
-    public void setServiceattributetypeid(Long serviceattributetypeid) {
-        this.serviceattributetypeid = serviceattributetypeid;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceClassTypicalAttribute serviceClassTypicalAttribute = (ServiceClassTypicalAttribute) o;
-        if (serviceClassTypicalAttribute.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), serviceClassTypicalAttribute.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "ServiceClassTypicalAttribute{" +
-            "id=" + getId() +
-            ", weight='" + getWeight() + "'" +
-            ", mandatory='" + isMandatory() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            ", serviceclassid='" + getServiceclassid() + "'" +
-            ", serviceattributetypeid='" + getServiceattributetypeid() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/User.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/User.java
deleted file mode 100644
index d430c6123cd076cecbaef1a65782d6662a22d38d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/User.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import eu.decideh2020.acsmi.backend.services.server.config.Constants;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-import org.hibernate.validator.constraints.Email;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-import java.io.Serializable;
-import java.util.Locale;
-import java.time.Instant;
-
-/**
- * A user.
- */
-@Entity
-@Table(name = "jhi_user")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class User extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Pattern(regexp = Constants.LOGIN_REGEX)
-    @Size(min = 1, max = 50)
-    @Column(length = 50, unique = true, nullable = false)
-    private String login;
-
-    @JsonIgnore
-    @NotNull
-    @Size(min = 60, max = 60)
-    @Column(name = "password_hash",length = 60)
-    private String password;
-
-    @Size(max = 50)
-    @Column(name = "first_name", length = 50)
-    private String firstName;
-
-    @Size(max = 50)
-    @Column(name = "last_name", length = 50)
-    private String lastName;
-
-    @Email
-    @Size(min = 5, max = 100)
-    @Column(length = 100, unique = true)
-    private String email;
-
-    @Size(max = 100)
-    @Column(name = "company", length = 100)
-    private String company;
-
-    @Size(min = 1, max = 50)
-    @Column(name = "users_group", length = 50)
-    private String usersGroup;
-
-    @Size(min = 2, max = 3)
-    @Column(name = "user_type", length = 3)
-    private String userType;
-
-    @Size(max = 30)
-    @Column(name = "credit_card_type", length = 30)
-    private String creditCardType;
-
-    @Size(min = 13, max = 16)
-    @Column(name = "credit_card", length = 16)
-    private String creditCard;
-
-    @Size(min = 13, max = 16)
-    @Column(name = "contract_reference", length = 16)
-    private String contractReference;
-
-    @Size(min = 8, max = 12)
-    @Column(name = "cif_or_vat", length = 12)
-    private String cifOrVat;
-
-    @NotNull
-    @Column(nullable = false)
-    private boolean activated = false;
-
-    @Size(min = 2, max = 5)
-    @Column(name = "lang_key", length = 5)
-    private String langKey;
-
-    @Size(max = 256)
-    @Column(name = "image_url", length = 256)
-    private String imageUrl;
-
-    @Size(max = 20)
-    @Column(name = "activation_key", length = 20)
-    @JsonIgnore
-    private String activationKey;
-
-    @Size(max = 20)
-    @Column(name = "reset_key", length = 20)
-    @JsonIgnore
-    private String resetKey;
-
-    @Column(name = "reset_date")
-    private Instant resetDate = null;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getLogin() {
-        return login;
-    }
-
-    //Lowercase the login before saving it in database
-    public void setLogin(String login) {
-        this.login = login.toLowerCase(Locale.ENGLISH);
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = email;
-    }
-
-    public String getCompany() {
-        return company;
-    }
-
-    public void setCompany(String company) {
-        this.company = company;
-    }
-
-    public String getUsersGroup() {
-        return usersGroup;
-    }
-
-    public void setUsersGroup(String usersGroup) {
-        this.usersGroup = usersGroup;
-    }
-
-    public String getUserType() {
-        return userType;
-    }
-
-    public void setUserType(String userType) {
-        this.userType = userType;
-    }
-
-    public String getCreditCardType() {
-        return creditCardType;
-    }
-
-    public void setCreditCardType(String creditCardType) {
-        this.creditCardType = creditCardType;
-    }
-
-    public String getCreditCard() {
-        return creditCard;
-    }
-
-    public void setCreditCard(String creditCard) {
-        this.creditCard = creditCard;
-    }
-
-    public String getContractReference() {
-        return contractReference;
-    }
-
-    public void setContractReference(String contractReference) {
-        this.contractReference = contractReference;
-    }
-
-    public String getCifOrVat() {
-        return cifOrVat;
-    }
-
-    public void setCifOrVat(String cifOrVat) {
-        this.cifOrVat = cifOrVat;
-    }
-
-    public String getImageUrl() {
-        return imageUrl;
-    }
-
-    public void setImageUrl(String imageUrl) {
-        this.imageUrl = imageUrl;
-    }
-
-    public boolean getActivated() {
-        return activated;
-    }
-
-    public void setActivated(boolean activated) {
-        this.activated = activated;
-    }
-
-    public String getActivationKey() {
-        return activationKey;
-    }
-
-    public void setActivationKey(String activationKey) {
-        this.activationKey = activationKey;
-    }
-
-    public String getResetKey() {
-        return resetKey;
-    }
-
-    public void setResetKey(String resetKey) {
-        this.resetKey = resetKey;
-    }
-
-    public Instant getResetDate() {
-       return resetDate;
-    }
-
-    public void setResetDate(Instant resetDate) {
-       this.resetDate = resetDate;
-    }
-    public String getLangKey() {
-        return langKey;
-    }
-
-    public void setLangKey(String langKey) {
-        this.langKey = langKey;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        User user = (User) o;
-
-        return login.equals(user.login);
-    }
-
-    @Override
-    public int hashCode() {
-        return login.hashCode();
-    }
-
-    @Override
-    public String toString() {
-        return "User{" +
-            "login='" + login + '\'' +
-            ", firstName='" + firstName + '\'' +
-            ", lastName='" + lastName + '\'' +
-            ", email='" + email + '\'' +
-            ", company='" + company + '\'' +
-            ", usersGroup='" + usersGroup + '\'' +
-            ", userType='" + userType + '\'' +
-            ", creditCardType='" + creditCardType + '\'' +
-            ", creditCard='" + creditCard + '\'' +
-            ", contractReference='" + contractReference + '\'' +
-            ", cifOrVat='" + cifOrVat + '\'' +
-            ", imageUrl='" + imageUrl + '\'' +
-            ", activated='" + activated + '\'' +
-            ", langKey='" + langKey + '\'' +
-            ", activationKey='" + activationKey + '\'' +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/Contractor.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/Contractor.java
deleted file mode 100644
index 577e881a0921f94ed1071b628872995207dd7c45..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/Contractor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The Contractor enumeration.
- */
-public enum Contractor {
-	FCSB,CSP,PA
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceClass.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceClass.java
deleted file mode 100644
index a5e150807637e088e069f200924dff718a54849e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceClass.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The ServiceClass enumeration.
- */
-public enum ServiceClass {
-    DDBB,STOR
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceDatabaseType.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceDatabaseType.java
deleted file mode 100644
index f0b075c38955cc8daf09a37db7c4d250df0bebe7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceDatabaseType.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The ServiceDatabaseType enumeration.
- */
-public enum ServiceDatabaseType {
-    DDBB
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceProvider.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceProvider.java
deleted file mode 100644
index 4d590c55f6a275e88ffd712d3dbbd528d3276a0f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The ServiceDatabaseProvider enumeration.
- */
-public enum ServiceProvider {
-    AMDB,MSAD,AMS3,MSAS
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceSubtype.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceSubtype.java
deleted file mode 100644
index ef246a511f04a449f5cf65a29dfecbe39124a5a0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceSubtype.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The ServiceDatabaseSubtype enumeration.
- */
-public enum ServiceSubtype {
-	DISK,FILE,OBJS,QUEU,TABL,DATM,ELST,NREL,RELA
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceType.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceType.java
deleted file mode 100644
index b66d62b791a0862889a55bc2e5a33d38bdfb62dd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/enumeration/ServiceType.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.enumeration;
-
-/**
- * The ServiceStorageType enumeration.
- */
-public enum ServiceType {
-    BACK,GENR,DDBB
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/package-info.java
deleted file mode 100644
index cb67994ea73da699277a997ae99086fdb3d58322..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * JPA domain objects.
- */
-package eu.decideh2020.acsmi.backend.services.server.domain;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/FieldValueVO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/FieldValueVO.java
deleted file mode 100644
index 58a71029f2627f12c1489e948a81a12cfc44895d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/FieldValueVO.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.vo;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/**
- * A FieldValueVO.
- */
-public class FieldValueVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    
-    private String name;
-    private String value;
-    
-    
-    public FieldValueVO() {
-    	name = null;
-    	value = null;
-    }
-    
-    public FieldValueVO(String name, String value) {
-    	this.name = name;
-    	this.value = value;
-    }
-    
-    
-    public String getName() {
-        return name;
-    }
-   
-    public void setName(final String name) {
-        this.name = name;
-    }
-    
-    public String getValue() {
-        return value;
-    }
-   
-    public void setValue(final String value) {
-        this.value = value;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        FieldValueVO fieldValueVO = (FieldValueVO) o;
-        if (fieldValueVO.getName() == null || getName() == null) {
-            return false;
-        }
-        return Objects.equals(getName(), fieldValueVO.getName());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getName());
-    }
-
-    @Override
-    public String toString() {
-    	return "FieldValueVO{" +
-                "name=" + getValue() +
-                ", value='" + getValue() + "'" +
-                "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/InfluxDBConfigVO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/InfluxDBConfigVO.java
deleted file mode 100644
index b5bf695fe7a0687a7da784381f656a5c8d208e66..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/InfluxDBConfigVO.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.vo;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/**
- * A InfluxDBConfigVO.
- */
-public class InfluxDBConfigVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    
-    private String url;
-    private String database;
-    private Integer repeat;
-    private Long delay;
-    private Long interval;
-    
-    
-    public InfluxDBConfigVO() {
-    	this.url = null;
-    	this.database = null;
-    	this.repeat = null;
-    	this.delay = null;
-    	this.interval = null;
-    }
-    
-    public InfluxDBConfigVO(String url, String database, Integer repeat, Long delay, Long interval) {
-    	this.url = url;
-    	this.database = database;
-    	this.repeat = repeat;
-    	this.delay = delay;
-    	this.interval = interval;
-    }
-    
-    
-    public String getUrl() {
-        return url;
-    }
-   
-    public void setUrl(final String url) {
-        this.url = url;
-    }
-    
-    public String getDatabase() {
-        return database;
-    }
-   
-    public void setDatabase(final String database) {
-        this.database = database;
-    }
-    
-    public Integer getRepeat() {
-        return repeat;
-    }
-
-    public void setRepeat(final Integer repeat) {
-        this.repeat = repeat;
-    }
-    
-    public Long getDelay() {
-        return delay;
-    }
-
-    public void setDelay(final Long delay) {
-        this.delay = delay;
-    }
-    
-    public Long getInterval() {
-        return interval;
-    }
-
-    public void setInterval(final Long interval) {
-        this.interval = interval;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        InfluxDBConfigVO influxDBConfigVO = (InfluxDBConfigVO) o;
-        if (influxDBConfigVO.getUrl() == null || getUrl() == null) {
-            return false;
-        }
-        return Objects.equals(getUrl(), influxDBConfigVO.getUrl());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getUrl());
-    }
-
-    @Override
-    public String toString() {
-    	return "InfluxDBConfigVO{" +
-                "url=" + getUrl() +
-                ", database='" + getDatabase() + "'" +
-                ", repeat='" + getRepeat() + "'" +
-                ", delay='" + getDelay() + "'" +
-                ", interval='" + getInterval() + "'" +
-                "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceAttributeVO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceAttributeVO.java
deleted file mode 100644
index 6f7a4439d9e13418edd6eb81adb318e3c68966e4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceAttributeVO.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.vo;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/**
- * A ServiceAttributeVO.
- */
-public class ServiceAttributeVO implements Serializable, Comparable<ServiceAttributeVO> {
-
-    private static final long serialVersionUID = 1L;
-    
-    private Long serviceid;
-    
-    private Long attributetypeid;
-    
-    private String attributetypevalue;
-    
-    
-    public ServiceAttributeVO() {
-    	this.serviceid = null;
-    	this.attributetypeid = null;
-    	this.attributetypevalue = null;
-    }
-    		
-    public ServiceAttributeVO(Long serviceid, Long attributetypeid, String attributetypevalue) {
-    	this.serviceid = serviceid;
-    	this.attributetypeid = attributetypeid;
-    	this.attributetypevalue = attributetypevalue;
-    }
-    
-    
-    public Long getServiceid() {
-        return serviceid;
-    }
-
-    public void setServiceid(final Long serviceid) {
-        this.serviceid = serviceid;
-    }
-    
-    public Long getAttributetypeid() {
-        return attributetypeid;
-    }
-
-    public void setAttributetypeid(final Long attributetypeid) {
-        this.attributetypeid = attributetypeid;
-    }
-
-    public String getAttributetypevalue() {
-        return attributetypevalue;
-    }
-   
-    public void setAttributetypevalue(final String attributetypevalue) {
-        this.attributetypevalue = attributetypevalue;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceAttributeVO serviceAttributeVO = (ServiceAttributeVO) o;
-        if (serviceAttributeVO.getServiceid() == null || getServiceid() == null) {
-            return false;
-        }
-        return Objects.equals(getServiceid(), serviceAttributeVO.getServiceid());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getServiceid());
-    }
-
-    @Override
-    public String toString() {
-    	return "ServiceAttributeVO{" +
-                "serviceid='" + getServiceid() + "'" +
-                ", attributetypeid='" + getAttributetypeid() + "'" +
-                ", attributetypevalue='" + getAttributetypevalue() + "'" +
-                "}";
-    }
-    
-    public int compareTo(ServiceAttributeVO vo) {
-    	return this.getServiceid().compareTo(vo.getServiceid());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceFilterVO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceFilterVO.java
deleted file mode 100644
index b8cb583f0a025705bb1ceb3627bdc4ac1a2135de..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServiceFilterVO.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.vo;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * A ServiceFilterVO.
- */
-public class ServiceFilterVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    
-    // Propiedades de entrada
-    private Long classid;
-    
-    private List<Long> attributetypeids;
-    
-    private List<String> attributetypevalues;
-
-    // Propiedades de salida
-    private Long serviceid;
-
-    private String servicename;
-    
-    private Long valueid;
-    
-    private String value;
-    
-    private Long typeid;
-    
-    private String type;
-    
-    private String enumeration;
-    
-    
-    public ServiceFilterVO() {
-    	this.classid = null;
-    	this.attributetypeids = new ArrayList<Long>();
-    	this.attributetypevalues = new ArrayList<String>();
-    	
-    	this.serviceid = null;
-    	this.servicename = null;
-    	this.valueid = null;
-    	this.value = null;
-    	this.typeid = null;
-    	this.type = null;
-    	this.enumeration = null;
-    }
-    
-    public ServiceFilterVO(Long classid) {
-    	this.classid = classid;
-    	this.attributetypeids = new ArrayList<Long>();
-    	this.attributetypevalues = new ArrayList<String>();
-    	
-    	this.serviceid = null;
-    	this.servicename = null;
-    	this.valueid = null;
-    	this.value = null;
-    	this.typeid = null;
-    	this.type = null;
-    	this.enumeration = null;
-    }
-    		
-    public ServiceFilterVO(Long serviceid, String servicename, Long valueid, String value,
-    		Long typeid, String type, String enumeration) {
-    	this.classid = null;
-    	this.attributetypeids = new ArrayList<Long>();
-    	this.attributetypevalues = new ArrayList<String>();
-    	
-    	this.serviceid = serviceid;
-    	this.servicename = servicename;
-    	this.valueid = valueid;
-    	this.value = value;
-    	this.typeid = typeid;
-    	this.type = type;
-    	this.enumeration = enumeration;
-    }
-    
-    
-    public Long getClassid() {
-        return classid;
-    }
-
-    public void setClassid(final Long classid) {
-        this.classid = classid;
-    }
-    
-    public List<Long> getAttributetypeids() {
-    	return attributetypeids;
-    }
-    
-    public void setAttributeTypeids(final List<Long> attributetypeids) {
-    	this.attributetypeids = attributetypeids;
-    }
-    
-    public List<String> getAttributetypevalues() {
-    	return attributetypevalues;
-    }
-    
-    public void setAttributeTypevalues(final List<String> attributetypevalues) {
-    	this.attributetypevalues = attributetypevalues;
-    }
-    
-    public Long getServiceid() {
-        return serviceid;
-    }
-
-    public void setServiceid(final Long serviceid) {
-        this.serviceid = serviceid;
-    }
-
-    public String getServicename() {
-        return servicename;
-    }
-   
-    public void setServicename(final String servicename) {
-        this.servicename = servicename;
-    }
-    
-    public Long getValueid() {
-        return valueid;
-    }
-
-    public void setValueid(final Long valueid) {
-        this.valueid = valueid;
-    }
-    
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(final String value) {
-        this.value = value;
-    }
-    
-    public Long getTypeid() {
-        return typeid;
-    }
-
-    public void setTypeid(final Long typeid) {
-        this.typeid = typeid;
-    }
-    
-    public String getType() {
-        return type;
-    }
-
-    public void setType(final String type) {
-        this.type = type;
-    }
-    
-    public String getEnumeration() {
-        return enumeration;
-    }
-
-    public void setEnumeration(final String enumeration) {
-        this.enumeration = enumeration;
-    }
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServiceFilterVO serviceFilterVO = (ServiceFilterVO) o;
-        if (serviceFilterVO.getServiceid() == null || getServiceid() == null) {
-            return false;
-        }
-        return Objects.equals(getServiceid(), serviceFilterVO.getServiceid());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getServiceid());
-    }
-
-    @Override
-    public String toString() {
-    	StringBuffer ret = new StringBuffer();
-    	ret.append("ServiceFilterVO{");
-    	ret.append("classid=").append(getClassid());
-    	ret.append(", attributetypeids=[");
-    	for (Long l : attributetypeids) {
-    		ret.append(l).append(",");
-    	}
-    	ret.append("]");
-    	ret.append(", attributetypevalues=[");
-    	for (String s : attributetypevalues) {
-    		ret.append(s).append(",");
-    	}
-    	ret.append("]");
-    	ret.append(", serviceid=").append(getServiceid());
-    	ret.append(", servicename=").append(getServicename());
-    	ret.append(", valueid=").append(getValueid());
-    	ret.append(", value=").append(getValue());
-    	ret.append(", typeid=").append(getTypeid());
-    	ret.append(", type=").append(getType());
-    	ret.append(", enumeration=").append(getEnumeration());
-    	ret.append("}");
-
-    	return ret.toString();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServicesCompositionsVO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServicesCompositionsVO.java
deleted file mode 100644
index d3a46c7fa78a95c83ae635d725b3eccf16a223bb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/domain/vo/ServicesCompositionsVO.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.domain.vo;
-
-import java.io.Serializable;
-import java.time.ZonedDateTime;
-import java.util.Objects;
-
-/**
- * A ServicesCompositionsVO.
- */
-public class ServicesCompositionsVO implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private Long id;
-    private Long idservice;
-    private Long idcomposition;
-    private ZonedDateTime deleteddate;
-    private String servicename;
-    
-    
-    public ServicesCompositionsVO() {
-    	id = null;
-    	idservice = null;
-    	idcomposition = null;
-    	deleteddate = null;
-    	servicename = null;
-    }
-    
-    public ServicesCompositionsVO(Long id, Long idservice, Long idcomposition, ZonedDateTime deleteddate, String servicename) {
-    	this.id = id;
-    	this.idservice = idservice;
-    	this.idcomposition = idcomposition;
-    	this.deleteddate = deleteddate;
-    	this.servicename = servicename;
-    }
-    
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-    
-    public Long getIdservice() {
-        return idservice;
-    }
-
-    public void setIdservice(Long idservice) {
-        this.idservice = idservice;
-    }
-    
-    public Long getIdcomposition() {
-        return idcomposition;
-    }
-
-    public void setIdcomposition(Long idcomposition) {
-        this.idcomposition = idcomposition;
-    }
-
-    public ZonedDateTime getDeleteddate() {
-        return deleteddate;
-    }
-
-    public ServicesCompositionsVO deleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-        return this;
-    }
-
-    public void setDeleteddate(ZonedDateTime deleteddate) {
-        this.deleteddate = deleteddate;
-    }
-    
-    public String getServicename() {
-    	return servicename;
-    }
-    
-    public void setServicename(String servicename) {
-    	this.servicename = servicename;
-    }
-    
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        ServicesCompositionsVO servicesCompositionsVO = (ServicesCompositionsVO) o;
-        if (servicesCompositionsVO.getId() == null || getId() == null) {
-            return false;
-        }
-        return Objects.equals(getId(), servicesCompositionsVO.getId());
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(getId());
-    }
-
-    @Override
-    public String toString() {
-        return "ServicesCompositionsVO{" +
-            "id=" + getId() +
-            ", idservice='" + getIdservice() + "'" +
-            ", idcomposition='" + getIdcomposition() + "'" +
-            ", deleteddate='" + getDeleteddate() + "'" +
-            ", servicename='" + getServicename() + "'" +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/DatasourceConfig.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/DatasourceConfig.java
deleted file mode 100644
index b37de1399d1a2e518dce234051d0b142cd718a81..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/DatasourceConfig.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import org.springframework.web.util.UriComponents;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.vo.InfluxDBConfigVO;
-
-public interface DatasourceConfig {
-    public String setup(UriComponents uriBuilder);
-    public InfluxDBConfigVO setupInfluxDB();
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeTypeRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeTypeRepository.java
deleted file mode 100644
index f58bdbcf6e3e685a7931c0bfd50fbd7c35da6a09..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeTypeRepository.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceAttributeType;
-
-
-/**
- * Spring Data JPA repository for the ServiceAttributeType entity.
- */
-@Repository
-public interface ServiceAttributeTypeRepository extends JpaRepository<ServiceAttributeType,Long> {
-	
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeValueRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeValueRepository.java
deleted file mode 100644
index 7b2f8ce7f0029fa92e747df4dafd4cc6c5e7f974..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceAttributeValueRepository.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import java.time.ZonedDateTime;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceAttributeValue;
-
-
-/**
- * Spring Data JPA repository for the ServiceAttributeValue entity.
- */
-@Repository
-public interface ServiceAttributeValueRepository extends JpaRepository<ServiceAttributeValue,Long> {
-	@Modifying
-	@Query("delete from ServiceAttributeValue as s where s.serviceid = ?1")
-	public void deleteServiceAttributeValueByIdService(Long idservice);
-	
-	@Modifying
-	@Query("update ServiceAttributeValue as s set deleteddate = ?1  where s.serviceid = ?2")
-	public void updateDeletedDateServiceAttributeValueByIdService(ZonedDateTime deletedDate, Long idservice);
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassRepository.java
deleted file mode 100644
index ff749991d35e7c10facf66e17d7c7fd18273a6a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassRepository.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceClass;
-
-
-/**
- * Spring Data JPA repository for the ServiceClass entity.
- */
-@Repository
-public interface ServiceClassRepository extends JpaRepository<ServiceClass,Long> {
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassTypicalAttributeRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassTypicalAttributeRepository.java
deleted file mode 100644
index 466f9fb068c46736bfa125d5221eb2c9fcf9e1c4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceClassTypicalAttributeRepository.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceClassTypicalAttribute;
-
-
-/**
- * Spring Data JPA repository for the ServiceClassTypicalAttribute entity.
- */
-@Repository
-public interface ServiceClassTypicalAttributeRepository extends JpaRepository<ServiceClassTypicalAttribute,Long> {
-	
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceRepository.java
deleted file mode 100644
index cd431255d4d050d13c1056030f730839fb7d7eae..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/ServiceRepository.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import java.util.List;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.Service;
-import eu.decideh2020.acsmi.backend.services.server.domain.vo.ServiceFilterVO;
-
-
-/**
- * Spring Data JPA repository for the Service entity.
- */
-@Repository
-public interface ServiceRepository extends JpaRepository<Service,Long> {
-	@Query("select new eu.decideh2020.acsmi.backend.services.server.domain.vo.ServiceFilterVO(s.id, s.servicename, v.id, v.serviceattributevalue, t.id, t.serviceattributetypename, t.enumerationvalues) from Service s join ServiceAttributeValue v on s.id = v.serviceid join ServiceAttributeType t on v.serviceattributetypeid = t.id where s.serviceclass.id = ?1")
-	public List<ServiceFilterVO> filterQuery(Long classid);
-	
-	@Query("select new eu.decideh2020.acsmi.backend.services.server.domain.vo.ServiceFilterVO(s.id, s.servicename, v.id, v.serviceattributevalue, t.id, t.serviceattributetypename, t.enumerationvalues) from Service s join ServiceAttributeValue v on s.id = v.serviceid join ServiceAttributeType t on v.serviceattributetypeid = t.id where s.serviceclass.id = ?1 and t.id in (?2)")
-	public List<ServiceFilterVO> filterQuery(Long classid, List<Long> attributetypeids);
-	
-	@Query("select s from Service s where s.id in (?1)")
-	public List<Service> findByMultipleIds(List<Long> ids);
-	
-	public List<Service> findByServiceclass_id(Long classid);
-	
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/UserRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/UserRepository.java
deleted file mode 100644
index 7cb0adb5cdf1a6d5ed1069850badc5e69761b2e5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/UserRepository.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.User;
-
-/**
- * Spring Data JPA repository for the User entity.
- */
-public interface UserRepository extends JpaRepository<User, Long> {
-	
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/package-info.java
deleted file mode 100644
index 672c84f58abbea5101647834d5fa6105a9484a54..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/repository/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring Data JPA repositories.
- */
-package eu.decideh2020.acsmi.backend.services.server.repository;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/AuthoritiesConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/AuthoritiesConstants.java
deleted file mode 100644
index 2a1c112c663f31a8c3657575908ff7d2821e14d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/AuthoritiesConstants.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security;
-
-/**
- * Constants for Spring Security authorities.
- */
-public final class AuthoritiesConstants {
-
-    public static final String ADMIN = "ROLE_ADMIN";
-
-    public static final String USER = "ROLE_USER";
-
-    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
-
-    private AuthoritiesConstants() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SecurityUtils.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SecurityUtils.java
deleted file mode 100644
index a095a2c745bf285efbfbe4227d45a1a58cff5d53..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SecurityUtils.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-
-/**
- * Utility class for Spring Security.
- */
-public final class SecurityUtils {
-
-    private SecurityUtils() {
-    }
-
-    /**
-     * Get the login of the current user.
-     *
-     * @return the login of the current user
-     */
-    public static String getCurrentUserLogin() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        String userName = null;
-        if (authentication != null) {
-            if (authentication.getPrincipal() instanceof UserDetails) {
-                UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal();
-                userName = springSecurityUser.getUsername();
-            } else if (authentication.getPrincipal() instanceof String) {
-                userName = (String) authentication.getPrincipal();
-            }
-        }
-        return userName;
-    }
-
-    /**
-     * Get the JWT of the current user.
-     *
-     * @return the JWT of the current user
-     */
-    public static String getCurrentUserJWT() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null && authentication.getCredentials() instanceof String) {
-            return (String) authentication.getCredentials();
-        }
-        return null;
-    }
-
-    /**
-     * Check if a user is authenticated.
-     *
-     * @return true if the user is authenticated, false otherwise
-     */
-    public static boolean isAuthenticated() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null) {
-            return authentication.getAuthorities().stream()
-                .noneMatch(grantedAuthority -> grantedAuthority.getAuthority().equals(AuthoritiesConstants.ANONYMOUS));
-        }
-        return false;
-    }
-
-    /**
-     * If the current user has a specific authority (security role).
-     *
-     * <p>The name of this method comes from the isUserInRole() method in the Servlet API</p>
-     *
-     * @param authority the authority to check
-     * @return true if the current user has the authority, false otherwise
-     */
-    public static boolean isCurrentUserInRole(String authority) {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null) {
-            return authentication.getAuthorities().stream()
-                .anyMatch(grantedAuthority -> grantedAuthority.getAuthority().equals(authority));
-        }
-        return false;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SpringSecurityAuditorAware.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SpringSecurityAuditorAware.java
deleted file mode 100644
index 9be06c074eb5b23e021b6101c73508dfe943f48f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/SpringSecurityAuditorAware.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security;
-
-import eu.decideh2020.acsmi.backend.services.server.config.Constants;
-
-import org.springframework.data.domain.AuditorAware;
-import org.springframework.stereotype.Component;
-
-/**
- * Implementation of AuditorAware based on Spring Security.
- */
-@Component
-public class SpringSecurityAuditorAware implements AuditorAware<String> {
-
-    @Override
-    public String getCurrentAuditor() {
-        String userName = SecurityUtils.getCurrentUserLogin();
-        return userName != null ? userName : Constants.SYSTEM_ACCOUNT;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTConfigurer.java
deleted file mode 100644
index 3ffcc91b15e8e623556089bcda19ab92aa70d275..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTConfigurer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security.jwt;
-
-import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.web.DefaultSecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-
-public class JWTConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
-
-    public static final String AUTHORIZATION_HEADER = "Authorization";
-
-    private TokenProvider tokenProvider;
-
-    public JWTConfigurer(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void configure(HttpSecurity http) throws Exception {
-        JWTFilter customFilter = new JWTFilter(tokenProvider);
-        http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTFilter.java
deleted file mode 100644
index a400d207afb40a3b57e8822c25c9d9f9c66824c4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/JWTFilter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security.jwt;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.GenericFilterBean;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-
-/**
- * Filters incoming requests and installs a Spring Security principal if a header corresponding to a valid user is
- * found.
- */
-public class JWTFilter extends GenericFilterBean {
-
-    private TokenProvider tokenProvider;
-
-    public JWTFilter(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
-        throws IOException, ServletException {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
-        String jwt = resolveToken(httpServletRequest);
-        if (StringUtils.hasText(jwt) && this.tokenProvider.validateToken(jwt)) {
-            Authentication authentication = this.tokenProvider.getAuthentication(jwt);
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-        }
-        filterChain.doFilter(servletRequest, servletResponse);
-    }
-
-    private String resolveToken(HttpServletRequest request){
-        String bearerToken = request.getHeader(JWTConfigurer.AUTHORIZATION_HEADER);
-        if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) {
-            return bearerToken.substring(7, bearerToken.length());
-        }
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/TokenProvider.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/TokenProvider.java
deleted file mode 100644
index b24f8af89edae0b41311ce58b5a98879d9ce172b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/security/jwt/TokenProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.security.jwt;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import java.util.*;
-import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.stereotype.Component;
-
-import io.jsonwebtoken.*;
-
-@Component
-public class TokenProvider {
-
-    private final Logger log = LoggerFactory.getLogger(TokenProvider.class);
-
-    private static final String AUTHORITIES_KEY = "auth";
-
-    private String secretKey;
-
-    private long tokenValidityInMilliseconds;
-
-    private long tokenValidityInMillisecondsForRememberMe;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public TokenProvider(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @PostConstruct
-    public void init() {
-        this.secretKey =
-            jHipsterProperties.getSecurity().getAuthentication().getJwt().getSecret();
-
-        this.tokenValidityInMilliseconds =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSeconds();
-        this.tokenValidityInMillisecondsForRememberMe =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSecondsForRememberMe();
-    }
-
-    public String createToken(Authentication authentication, Boolean rememberMe) {
-        String authorities = authentication.getAuthorities().stream()
-            .map(GrantedAuthority::getAuthority)
-            .collect(Collectors.joining(","));
-
-        long now = (new Date()).getTime();
-        Date validity;
-        if (rememberMe) {
-            validity = new Date(now + this.tokenValidityInMillisecondsForRememberMe);
-        } else {
-            validity = new Date(now + this.tokenValidityInMilliseconds);
-        }
-
-        return Jwts.builder()
-            .setSubject(authentication.getName())
-            .claim(AUTHORITIES_KEY, authorities)
-            .signWith(SignatureAlgorithm.HS512, secretKey)
-            .setExpiration(validity)
-            .compact();
-    }
-
-    public Authentication getAuthentication(String token) {
-        Claims claims = Jwts.parser()
-            .setSigningKey(secretKey)
-            .parseClaimsJws(token)
-            .getBody();
-
-        Collection<? extends GrantedAuthority> authorities =
-            Arrays.stream(claims.get(AUTHORITIES_KEY).toString().split(","))
-                .map(SimpleGrantedAuthority::new)
-                .collect(Collectors.toList());
-
-        User principal = new User(claims.getSubject(), "", authorities);
-
-        return new UsernamePasswordAuthenticationToken(principal, token, authorities);
-    }
-
-    public boolean validateToken(String authToken) {
-        try {
-            Jwts.parser().setSigningKey(secretKey).parseClaimsJws(authToken);
-            return true;
-        } catch (SignatureException e) {
-            log.info("Invalid JWT signature.");
-            log.trace("Invalid JWT signature trace: {}", e);
-        } catch (MalformedJwtException e) {
-            log.info("Invalid JWT token.");
-            log.trace("Invalid JWT token trace: {}", e);
-        } catch (ExpiredJwtException e) {
-            log.info("Expired JWT token.");
-            log.trace("Expired JWT token trace: {}", e);
-        } catch (UnsupportedJwtException e) {
-            log.info("Unsupported JWT token.");
-            log.trace("Unsupported JWT token trace: {}", e);
-        } catch (IllegalArgumentException e) {
-            log.info("JWT token compact of handler are invalid.");
-            log.trace("JWT token compact of handler are invalid trace: {}", e);
-        }
-        return false;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/MailService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/MailService.java
deleted file mode 100644
index fe19cb20027543b9d8941c93f59c0aafeadf0f0a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/MailService.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.service;
-
-import java.util.Locale;
-
-import javax.mail.internet.MimeMessage;
-
-import org.apache.commons.lang3.CharEncoding;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.MessageSource;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.MediaType;
-import org.springframework.mail.javamail.JavaMailSender;
-import org.springframework.mail.javamail.MimeMessageHelper;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.UriComponents;
-import org.thymeleaf.context.Context;
-import org.thymeleaf.spring4.SpringTemplateEngine;
-
-import eu.decideh2020.acsmi.backend.services.server.domain.User;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceRepository;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-/**
- * Service for sending emails.
- * <p>
- * We use the @Async annotation to send emails asynchronously.
- * </p>
- */
-@Service
-public class MailService {
-
-    private final Logger log = LoggerFactory.getLogger(MailService.class);
-
-    private static final String USER = "user";
-
-	private static final String SERVICE = "service";
-
-    private JHipsterProperties jHipsterProperties;
-
-    private JavaMailSender javaMailSender;
-
-    private MessageSource messageSource;
-
-    private SpringTemplateEngine templateEngine;
-    
-    private ServiceRepository serviceRepository;
-    
-    public MailService(JHipsterProperties jHipsterProperties, JavaMailSender javaMailSender,
-            MessageSource messageSource, SpringTemplateEngine templateEngine,
-            ServiceRepository serviceRepository) {
-
-        this.jHipsterProperties = jHipsterProperties;
-        this.javaMailSender = javaMailSender;
-        this.messageSource = messageSource;
-        this.templateEngine = templateEngine;
-        this.serviceRepository = serviceRepository;
-    }
-
-    @Async
-    public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
-        log.debug("Send email[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
-            isMultipart, isHtml, to, subject, content);
-
-        // Prepare message using a Spring helper
-        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
-        try {
-            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);
-            message.setTo(to);
-            message.setFrom(jHipsterProperties.getMail().getFrom());
-            message.setSubject(subject);
-            message.setText(content, isHtml);
-            javaMailSender.send(mimeMessage);
-            log.debug("Sent email to User '{}'", to);
-        } catch (Exception e) {
-            log.warn("Email could not be sent to user '{}'", to, e);
-        }
-    }
-
-    @Async
-    public void sendEmailFromTemplate(User user, Object service, String templateName, String titleKey) {
-        Locale locale = Locale.forLanguageTag(user.getLangKey());
-        Context context = new Context(locale);
-        context.setVariable(USER, user);
-        context.setVariable(SERVICE, service);
-        String content = templateEngine.process(templateName, context);
-        String subject = messageSource.getMessage(titleKey, null, locale);
-        sendEmail(user.getEmail(), subject, content, false, true);
-
-    }
-    
-    @Async
-    public void sendServiceActivatedNotification(Long accountid, String accountname, Long serviceid, UriComponents uriBuilder, String token) {
-        
-        // LLAMAMOS AL REST DE USER Y OBTENEMOS EL OBJETO
-		log.debug("OBTENIENDO DATOS...");
-		
-		final String uri = RequestURI.getURI(uriBuilder, "api/users/" + accountname);
-		
-		RestTemplate restTemplate = new RestTemplate();
-		
-		HttpHeaders headers = new HttpHeaders();
-		headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-		headers.set("Authorization", "Bearer " + token);
-		
-		HttpEntity<?> entity = new HttpEntity<>(headers);
-
-		HttpEntity<String> response = restTemplate.exchange(
-		        uri, 
-		        HttpMethod.GET, 
-		        entity, 
-		        String.class);
-		
-		try {
-			JSONObject responseBody = new JSONObject(response.getBody());
-	        
-	    	User user = new User();
-	    	user.setLogin(responseBody.getString("login"));
-	    	user.setEmail(responseBody.getString("email"));
-	    	user.setLangKey(responseBody.getString("langKey"));
-	    	
-	        Object service = serviceRepository.findOne(serviceid);
-	    	
-	    	log.debug("Sending activation email to '{}'", user.getEmail());
-	        
-	    	sendEmailFromTemplate(user, service, "serviceActivationEmail", "email.serviceActivation.title");
-			
-		} catch (JSONException e) {
-			e.printStackTrace();
-		}
-		
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestToken.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestToken.java
deleted file mode 100644
index 34fe1ff43e3dc109e62f6fd1bf909a8c85b68fdb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestToken.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.service;
-
-import java.io.InputStream;
-
-import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.Profile;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
-import org.springframework.web.util.UriComponents;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import eu.decideh2020.acsmi.backend.services.server.domain.vo.InfluxDBConfigVO;
-import eu.decideh2020.acsmi.backend.services.server.repository.DatasourceConfig;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.vm.LoginVM;
-
-@Service
-public class RequestToken {
-	
-	private final Logger log = LoggerFactory.getLogger(RequestToken.class);
-	
-	private String getToken(String environmentFilename, UriComponents uriBuilder) {
-		log.debug("getToken  ::  create mapper");
-		ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
-		log.debug("getToken  ::  mapper created");
-
-        try {
-        	log.debug("getToken  ::  environmentFilename = " + environmentFilename);
-        	log.debug("getToken  ::  uriBuilder = " + uriBuilder);
-        	log.debug("getToken  ::  get credentials");
-        	InputStream inputStream = null;
-    		inputStream = this.getClass().getClassLoader().getResourceAsStream("config/" + environmentFilename);
-    		LoginVM credentials = mapper.readValue(inputStream, LoginVM.class);   		
-        	//LoginVM credentials = mapper.readValue(new File("src\\main\\resources\\config\\" + environmentFilename), LoginVM.class);
-        	log.debug("getToken  ::  get credentials end");
-            
-            log.debug("SOLICITAMOS EL TOKEN PARA COMUNICARNOS CON EL REST");
-            final String uriToken;
-            
-            if(uriBuilder == null) {
-            	
-            	UriComponents generatedUriBuilder = ServletUriComponentsBuilder.fromCurrentRequestUri().build();
-            	
-            	uriToken = RequestURI.getURI(generatedUriBuilder, "/api/authenticate");
-            	
-            } else {
-            	
-            	uriToken = RequestURI.getURI(uriBuilder, "/api/authenticate");
-            	
-            }
-            
-            RestTemplate restTemplateToken = new RestTemplate();
-
-			HttpEntity<LoginVM> requestToken = new HttpEntity<LoginVM>(credentials, null);
-			
-			ResponseEntity<String> responseToken = restTemplateToken.postForEntity(uriToken, requestToken, String.class);
-			
-			JSONObject responseBody = new JSONObject(responseToken.getBody());
-			
-			String token = responseBody.getString("id_token");
-			
-			return token;
-            
-
-        } catch (Exception e) {
-        	log.error("getToken ::  Exception  ::  " + e.getMessage());
-            return null;
-        }
-	}
-	
-	private InfluxDBConfigVO getInfluxDBConfig(String environmentFilename){
-		try {
-			ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
-        	log.debug("getToken  ::  environmentFilename = " + environmentFilename);
-        	log.debug("getToken  ::  get InfluxDBConfig"); 
-        	InputStream inputStream = null;
-    		inputStream = this.getClass().getClassLoader().getResourceAsStream("config/" + environmentFilename);
-    		InfluxDBConfigVO influxdbconfig = mapper.readValue(inputStream, InfluxDBConfigVO.class);   		
-			//InfluxDBConfigVO influxdbconfig = mapper.readValue(new File("src\\main\\resources\\config\\" + environmentFilename), InfluxDBConfigVO.class);
-			log.debug("getToken  ::  get InfluxDBConfig end");
-			return influxdbconfig;
-        } catch (Exception e) {
-        	e.printStackTrace();
-            return null;
-        }
-	} 
-	
-	@Component
-	@Profile("dev")
-	public class DevDatasourceConfig implements DatasourceConfig {
-	    @Override
-	    public String setup(UriComponents uriBuilder) {
-	    	log.debug("setup  ::  Setting up datasource for DEV environment... ");	        
-	        return getToken("credentials-dev.yml", uriBuilder);
-	    }
-	    
-	    @Override
-	    public InfluxDBConfigVO setupInfluxDB() {
-	    	log.debug("   **********  DEV  **********");
-	    	log.debug("setupInfluxDB  ::  Setting up datasource for DEV environment... ");
-	    	return getInfluxDBConfig("influxdb-dev.yml");
-	    }
-	}
-	
-	@Component
-	@Profile("prod")
-	public class ProductionDatasourceConfig implements DatasourceConfig {
-		@Override
-	    public String setup(UriComponents uriBuilder) {
-	    	log.debug("setup  ::  Setting up datasource for PRODUCTION environment... ");
-	    	return getToken("credentials-prod.yml", uriBuilder);
-	    }
-		
-		@Override
-	    public InfluxDBConfigVO setupInfluxDB() {
-			log.debug("   **********  PROD  **********");
-	    	log.debug("setupInfluxDB  ::  Setting up datasource for PRODUCTION environment... ");
-	    	return getInfluxDBConfig("influxdb-prod.yml");
-	    }
-	}
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestURI.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestURI.java
deleted file mode 100644
index 0a1e3d3ff0459184a134c65804c5c2c1eadb71a5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/RequestURI.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.service;
-
-import org.springframework.stereotype.Service;
-import org.springframework.web.util.UriComponents;
-
-@Service
-public class RequestURI {
-	
-	public static String getURI(UriComponents uriBuilder, String restURL) {
-		
-		final String domain;
-		
-		if(uriBuilder.getHost().equals("localhost")){
-			domain = uriBuilder.getScheme() + "://" + uriBuilder.getHost() + ":" + uriBuilder.getPort();
-		} else {
-			domain = uriBuilder.getScheme() + "://" + uriBuilder.getHost();
-		}
-		
-		return domain + restURL;
-		
-	}
-	
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/package-info.java
deleted file mode 100644
index 081e7b3dab55d0b534b0b30289cd583a0236e3ce..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/service/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Service layer beans.
- */
-package eu.decideh2020.acsmi.backend.services.server.service;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/LogsResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/LogsResource.java
deleted file mode 100644
index 09eed4af2ea728e47d1d8d1e24322e1b8e17709a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/LogsResource.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import eu.decideh2020.acsmi.backend.services.server.web.rest.vm.LoggerVM;
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import com.codahale.metrics.annotation.Timed;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Controller for view and managing Log Level at runtime.
- */
-@RestController
-@RequestMapping("/management")
-public class LogsResource {
-
-    @GetMapping("/logs")
-    @Timed
-    public List<LoggerVM> getList() {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        return context.getLoggerList()
-            .stream()
-            .map(LoggerVM::new)
-            .collect(Collectors.toList());
-    }
-
-    @PutMapping("/logs")
-    @ResponseStatus(HttpStatus.NO_CONTENT)
-    @Timed
-    public void changeLevel(@RequestBody LoggerVM jsonLogger) {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        context.getLogger(jsonLogger.getName()).setLevel(Level.valueOf(jsonLogger.getLevel()));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ProfileInfoResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ProfileInfoResource.java
deleted file mode 100644
index 67150122868a216032a8d0ee5e56f1801b013bea..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ProfileInfoResource.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import eu.decideh2020.acsmi.backend.services.server.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.springframework.core.env.Environment;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Resource to return information about the currently running Spring profiles.
- */
-@RestController
-@RequestMapping("/api")
-public class ProfileInfoResource {
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public ProfileInfoResource(Environment env, JHipsterProperties jHipsterProperties) {
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @GetMapping("/profile-info")
-    public ProfileInfoVM getActiveProfiles() {
-        String[] activeProfiles = DefaultProfileUtil.getActiveProfiles(env);
-        return new ProfileInfoVM(activeProfiles, getRibbonEnv(activeProfiles));
-    }
-
-    private String getRibbonEnv(String[] activeProfiles) {
-        String[] displayOnActiveProfiles = jHipsterProperties.getRibbon().getDisplayOnActiveProfiles();
-        if (displayOnActiveProfiles == null) {
-            return null;
-        }
-        List<String> ribbonProfiles = new ArrayList<>(Arrays.asList(displayOnActiveProfiles));
-        List<String> springBootProfiles = Arrays.asList(activeProfiles);
-        ribbonProfiles.retainAll(springBootProfiles);
-        if (!ribbonProfiles.isEmpty()) {
-            return ribbonProfiles.get(0);
-        }
-        return null;
-    }
-
-    class ProfileInfoVM {
-
-        private String[] activeProfiles;
-
-        private String ribbonEnv;
-
-        ProfileInfoVM(String[] activeProfiles, String ribbonEnv) {
-            this.activeProfiles = activeProfiles;
-            this.ribbonEnv = ribbonEnv;
-        }
-
-        public String[] getActiveProfiles() {
-            return activeProfiles;
-        }
-
-        public String getRibbonEnv() {
-            return ribbonEnv;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeTypeResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeTypeResource.java
deleted file mode 100644
index cbade99fccaef41a816ba157d569fc841ee7d1de..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeTypeResource.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import java.util.List;
-import java.util.Optional;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.ResponseEntity;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceAttributeType;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceAttributeTypeRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.util.HeaderUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-
-/**
- * REST controller for managing ServiceAttributeType.
- */
-@RestController
-@RequestMapping("/api")
-public class ServiceAttributeTypeResource {
-
-    private final Logger log = LoggerFactory.getLogger(ServiceAttributeTypeResource.class);
-
-    private static final String ENTITY_NAME = "serviceAttributeType";
-        
-    private final ServiceAttributeTypeRepository serviceAttributeTypeRepository;
-
-    public ServiceAttributeTypeResource(ServiceAttributeTypeRepository serviceAttributeTypeRepository) {
-        this.serviceAttributeTypeRepository = serviceAttributeTypeRepository;
-    }
-    
-
-    /**
-     * GET  /service-attribute-types : get all the ServiceAttributeTypes.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the list of ServiceAttributeTypes in body
-     */
-    @GetMapping("/service-attribute-types")
-    @Timed
-    @Transactional
-    public List<ServiceAttributeType> getAllServiceAttributeTypes() {
-       log.debug("REST request to get all ServiceAttributeTypes");
-        try {
-        	log.debug("getAllServiceAttributeTypes  ::  getting all ServiceAttributeTypes...");
-        	return serviceAttributeTypeRepository.findAll();
-        } catch (Exception e) {
-        	log.error("getAllServiceAttributeTypes  ::  Exception");
-        	return null;
-        }
-    }
-
-    /**
-     * GET  /service-attribute-types/:id : get the "id" ServiceAttributeTypes.
-     *
-     * @param id the id of the ServiceAttributeTypes to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the ServiceAttributeTypes, or with status 404 (Not Found)
-     */
-    @GetMapping("/service-attribute-types/{id}")
-    @Timed
-    public ResponseEntity<ServiceAttributeType> getServiceAttributeType(@PathVariable Long id) {
-        log.debug("REST request to get ServiceAttributeType : {}", id);
-        ServiceAttributeType serviceAttributeType = null;
-        try {
-        	log.debug("getServiceAttributeType  ::  getting ServiceAttributeType...");
-        	serviceAttributeType = serviceAttributeTypeRepository.findOne(id);
-        	
-        	log.debug("getServiceAttributeType  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(serviceAttributeType));
-        } catch (Exception e) {
-        	log.error("getServiceAttributeType  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceAttributeTypeGetError", "No puede obtenerse el tipo de atributo de servicio"))
-                    .body(null);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeValueResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeValueResource.java
deleted file mode 100644
index 31f97e77ebce7069660d44dc52dc0fba842665b0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceAttributeValueResource.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import java.net.URISyntaxException;
-import java.time.ZonedDateTime;
-import java.util.List;
-import java.util.Optional;
-
-import javax.validation.Valid;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.http.ResponseEntity;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceAttributeValue;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceAttributeValueRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.util.HeaderUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-
-/**
- * REST controller for managing ServiceAttributeValue.
- */
-@RestController
-@RequestMapping("/api")
-public class ServiceAttributeValueResource {
-
-    private final Logger log = LoggerFactory.getLogger(ServiceAttributeValueResource.class);
-
-    private static final String ENTITY_NAME = "serviceAttributeValue";
-        
-    private final ServiceAttributeValueRepository serviceAttributeValueRepository;
-
-    public ServiceAttributeValueResource(ServiceAttributeValueRepository serviceAttributeValueRepository) {
-        this.serviceAttributeValueRepository = serviceAttributeValueRepository;
-    }
-    
-
-    /**
-     * POST  /service-attribute-values : Create a new serviceAttributeValue.
-     *
-     * @param serviceAttributeValue the serviceAttributeValue to create
-     * @return the ResponseEntity with status 201 (Created) and with body the new serviceAttributeValue, or with status 400 (Bad Request) if the serviceAttributeValue has already an ID
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PostMapping("/service-attribute-values")
-    @Timed
-    @Transactional
-    public ResponseEntity<ServiceAttributeValue> createServiceAttributeValue(@Valid @RequestBody ServiceAttributeValue serviceAttributeValue) throws URISyntaxException {
-    	log.debug("REST request to save ServiceAttributeValue : {}", serviceAttributeValue);
-    	try {
-            // Insertar el valor del atributo
-            log.debug("createServiceAttributeValue  ::  creating ServiceAttributeValue...");
-            serviceAttributeValueRepository.saveAndFlush(serviceAttributeValue);
-        	log.debug("createServiceAttributeValue  ::  creating OK");
-        	
-        	return ResponseEntity.noContent().build();
-    	} catch (Exception e) {
-    		log.error("createServiceAttributeValue  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceAttributeValueCreateError", "No puede crearse el Valor del atributo"))
-                    .body(null);
-    	}
-    }
-    
-    /**
-     * PUT  /service-attribute-values : Updates an existing serviceAttributeValue.
-     *
-     * @param serviceAttributeValue the serviceAttributeValue to update
-     * @return the ResponseEntity with status 200 (OK) and with body the updated serviceAttributeValue,
-     * or with status 400 (Bad Request) if the serviceAttributeValue is not valid,
-     * or with status 500 (Internal Server Error) if the serviceAttributeValue couldnt be updated
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PutMapping("/service-attribute-values")
-    @Timed
-    @Transactional
-    public ResponseEntity<ServiceAttributeValue> updateServiceAttributeValue(@Valid @RequestBody ServiceAttributeValue serviceAttributeValue) throws URISyntaxException {
-    	log.debug("REST request to update ServiceAttributeValue : {}", serviceAttributeValue);
-        try {
-        	// Si la fecha de baja no es nula, se trata de una reactivación
-        	if (serviceAttributeValue.getDeleteddate() != null) {
-        		log.debug("updateServiceAttributeValue  ::  reactivating ServiceAttributeValue...");
-        		serviceAttributeValue.setDeleteddate(null);
-        	} else {
-        		if (serviceAttributeValue.getId() == null) {
-                    return createServiceAttributeValue(serviceAttributeValue);
-                }
-        	}
-        	
-        	// Modificar el valor del atributo
-        	log.debug("updateServiceAttributeValue  ::  updating ServiceAttributeValue...");
-        	serviceAttributeValueRepository.saveAndFlush(serviceAttributeValue);
-        	log.debug("updateServiceAttributeValue  ::  updating OK");
-        	
-        	return ResponseEntity.noContent().build();
-        } catch (Exception e) {
-        	log.error("updateServiceAttributeValue  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceAttributeValueUpdateError", "No puede actualizarse el Valor del atributo"))
-                    .body(null);
-        }
-    }
-    
-    /**
-     * GET  /service-attribute-values : get all the ServiceAttributeValues.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the list of ServiceAttributeValues in body
-     */
-    @GetMapping("/service-attribute-values")
-    @Timed
-    public List<ServiceAttributeValue> getAllServiceAttributeValues() {
-       log.debug("REST request to get all ServiceAttributeValues");
-        try {
-        	log.debug("getAllServiceAttributeValues  ::  getting all ServiceAttributeValues...");
-        	return serviceAttributeValueRepository.findAll();
-        } catch (Exception e) {
-        	log.error("getAllServiceAttributeValues  ::  Exception");
-        	return null;
-        }
-    }
-
-    /**
-     * GET  /service-attribute-values/:id : get the "id" ServiceAttributeValues.
-     *
-     * @param id the id of the ServiceAttributeValues to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the ServiceAttributeValues, or with status 404 (Not Found)
-     */
-    @GetMapping("/service-attribute-values/{id}")
-    @Timed
-    public ResponseEntity<ServiceAttributeValue> getServiceAttributeValue(@PathVariable Long id) {
-        log.debug("REST request to get getServiceAttributeValue : {}", id);
-        ServiceAttributeValue serviceAttributeValue = null;
-        try {
-        	log.debug("getServiceAttributeValue  ::  getting ServiceClassTypicalAttribute...");
-        	serviceAttributeValue = serviceAttributeValueRepository.findOne(id);
-        	
-        	log.debug("getServiceAttributeValue  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(serviceAttributeValue));
-        } catch (Exception e) {
-        	log.error("getServiceAttributeValue  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceAttributeValueGetError", "No puede obtenerse el valor del atributo"))
-                    .body(null);
-        }
-    }
-    
-    /**
-     * DELETE  /service-attribute-values/:id : delete the "id" serviceAttributeValue.
-     *
-     * @param id the id of the serviceAttributeValue to delete
-     * @return the ResponseEntity with status 200 (OK)
-     */
-    @DeleteMapping("/service-attribute-values/{id}")
-    @Timed
-    @Transactional
-    public ResponseEntity<Void> deleteServiceAttributeValue(@PathVariable Long id, @RequestParam String forcedelete) {
-    	log.debug("REST request to delete ServiceAttributeValue : {}", id);
-        try {
-        	log.debug("deleteServiceAttributeValue  ::  forcedelete=" + forcedelete);
-        	
-        	// Obtener el valor del atributo
-        	ServiceAttributeValue serviceAttributeValue = serviceAttributeValueRepository.findOne(id);
-        	
-        	if (forcedelete != null && !Boolean.valueOf(forcedelete).booleanValue()) {
-        		// Marcar el valor del atributo como borrado
-            	if (serviceAttributeValue != null) {
-    	        	log.debug("deleteServiceAttributeValue  ::  soft deleting ServiceAttributeValue...");
-    	        	
-    	        	// Marcar valor del atributo como borrado
-    	        	serviceAttributeValue.setDeleteddate(ZonedDateTime.now());
-    	        	serviceAttributeValueRepository.saveAndFlush(serviceAttributeValue);
-            	}
-        	} else {
-        		// Eliminar definitivamente el valor del atributo
-        		log.debug("deleteServiceAttributeValue  ::  deleting serviceAttributeValue...");
-            	serviceAttributeValueRepository.delete(id);
-        	}
-        	log.debug("deleteServiceAttributeValue  ::  deleting OK");
-        	
-        	return ResponseEntity.noContent().build();
-        } catch (Exception e) {
-        	log.error("deleteServiceAttributeValue  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceAttributeValueDeleteError", "El Valor del atributo no puede ser eliminado"))
-                    .body(null);
-        }
-    }
-    
-    
-    /**
-     * DELETE  /service-attribute-values/:id : delete the "id" serviceAttributeValue.
-     *
-     * @param idservice the idService of the serviceAttributeValue to delete
-     */
-    @Transactional
-    @Modifying
-    public void deleteServiceAttributeValueByIdService(Long idservice) {
-    	log.debug("REST request to delete ServiceAttributeValue by idservice : {}", idservice);
-    	try {
-    		log.debug("deleteServiceAttributeValueByIdService  ::  deleting serviceAttributeValues...");
-    		serviceAttributeValueRepository.deleteServiceAttributeValueByIdService(idservice);
-    		log.debug("deleteServiceAttributeValueByIdService  ::  deleting OK");
-    	} catch (Exception e) {
-        	log.error("deleteServiceAttributeValueByIdService  ::  Exception  ::  " + e.getMessage());
-        }
-    }
-    
-    
-    /**
-     * Update the deleted date with the "id" serviceAttributeValue.
-     * @param deletedDate the deletedDate to update
-     * @param idservice the idService of the serviceAttributeValue to update
-     */
-    @Transactional
-    @Modifying
-    public void updateDeletedDateServiceAttributeValueByIdService(ZonedDateTime deletedDate, Long idservice) {
-    	log.debug("REST request to update the deleted date ServiceAttributeValue by idservice : {}", idservice);
-    	try {
-    		log.debug("updateDeletedDateServiceAttributeValueByIdService  ::  deleting serviceAttributeValues...");
-    		serviceAttributeValueRepository.updateDeletedDateServiceAttributeValueByIdService(deletedDate, idservice);
-    		log.debug("updateDeletedDateServiceAttributeValueByIdService  ::  deleting OK");
-    	} catch (Exception e) {
-        	log.error("deleteServiceAttributeValueByIdService  ::  Exception  ::  " + e.getMessage());
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassResource.java
deleted file mode 100644
index e28162f3be6b09a69f58b237eab9e6db07a0da9d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassResource.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.time.ZonedDateTime;
-import java.util.List;
-import java.util.Optional;
-
-import javax.validation.Valid;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.dao.EmptyResultDataAccessException;
-import org.springframework.http.ResponseEntity;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceClass;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceClassRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.util.HeaderUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-
-/**
- * REST controller for managing ServiceClass.
- */
-@RestController
-@RequestMapping("/api")
-public class ServiceClassResource {
-
-    private final Logger log = LoggerFactory.getLogger(ServiceClassResource.class);
-
-    private static final String ENTITY_NAME = "serviceClass";
-        
-    private final ServiceClassRepository serviceClassRepository;
-
-    public ServiceClassResource(ServiceClassRepository serviceClassRepository) {
-        this.serviceClassRepository = serviceClassRepository;
-    }
-
-    /**
-     * POST  /service-classes : Create a new serviceClass.
-     *
-     * @param serviceClass the serviceClass to create
-     * @return the ResponseEntity with status 201 (Created) and with body the new serviceClass, or with status 400 (Bad Request) if the serviceClass has already an ID
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PostMapping("/service-classes")
-    @Timed
-    @Transactional(noRollbackFor = Exception.class)
-    public ResponseEntity<ServiceClass> createServiceClass(@Valid @RequestBody ServiceClass serviceClass) throws URISyntaxException {
-    	log.debug("REST request to save ServiceClass : {}", serviceClass);
-    	try {
-            if (serviceClass.getId() != null) {
-                return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(
-                		ENTITY_NAME, "idexists", "A new serviceClass cannot already have an ID")).body(null);
-            }
-
-            // Comprobar que el nombre de la clase de servicio no exista previamente
-            List<ServiceClass> serviceClasses = serviceClassRepository.findAll();
-            if (serviceClasses != null && !serviceClasses.isEmpty()) {
-            	for (ServiceClass cont : serviceClasses) {
-            		if (serviceClass != null && serviceClass.getServiceclassname() != null
-            				&& serviceClass.getServiceclassname().trim().equalsIgnoreCase(cont.getServiceclassname().trim())) {
-            			return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(
-                        		ENTITY_NAME, "serviceClassExists", "The ServiceClass is already registered")).body(null);
-            		}
-            	}
-            }
-            
-            // Insertar la clase de servicio
-            log.debug("createServiceClass  ::  creating ServiceClass...");
-            ServiceClass result = serviceClassRepository.saveAndFlush(serviceClass);
-        	log.debug("createServiceClass  ::  creating OK");
-        	
-            return ResponseEntity.created(new URI("/api/service-classes/" + result.getId()))
-                .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getServiceclassname()))
-                .body(result);
-    	} catch (Exception e) {
-    		log.error("createServiceClass  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceClassCreateError", "No puede crearse la clase de servicio"))
-                    .body(null);
-    	}
-    }
-
-    /**
-     * PUT  /service-classes : Updates an existing serviceClass.
-     *
-     * @param serviceClass the serviceClass to update
-     * @return the ResponseEntity with status 200 (OK) and with body the updated serviceClass,
-     * or with status 400 (Bad Request) if the serviceClass is not valid,
-     * or with status 500 (Internal Server Error) if the serviceClass couldnt be updated
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PutMapping("/service-classes")
-    @Timed
-    @Transactional
-    public ResponseEntity<ServiceClass> updateServiceClass(@Valid @RequestBody ServiceClass serviceClass) throws URISyntaxException {
-    	log.debug("REST request to update ServiceClass : {}", serviceClass);
-    	try {
-    		boolean reactivate = false;
-    		
-    		// Si la fecha de baja no es nula, se trata de una reactivación
-    		if (serviceClass.getDeleteddate() != null) {
-    			log.debug("updateServiceClass  ::  reactivating ServiceClass...");
-    			reactivate = true;
-    			serviceClass.setDeleteddate(null);
-    		} else {
-    			if (serviceClass.getId() == null) {
-                    return createServiceClass(serviceClass);
-                }
-        		
-        		// Comprobar que la clase de servicio no exista previamente
-                List<ServiceClass> serviceClasses = serviceClassRepository.findAll();
-                if (serviceClasses != null && !serviceClasses.isEmpty()) {
-                	for (ServiceClass cont : serviceClasses) {
-                		if (serviceClass != null && serviceClass.getServiceclassname() != null
-                				&& serviceClass.getServiceclassname().trim().equalsIgnoreCase(cont.getServiceclassname().trim())
-                				&& serviceClass.getId().longValue() != cont.getId().longValue()) {
-                			return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(
-                            		ENTITY_NAME, "serviceClassExists", "The ServiceClass is already registered")).body(null);
-                		}
-                	}
-                }
-    		}
-                
-    		// Modificar el tipo de servicio
-    		log.debug("updateServiceClass  ::  updating ServiceClass...");
-    		ServiceClass result = serviceClassRepository.saveAndFlush(serviceClass);
-    		log.debug("updateServiceClass  ::  updating OK");
-    		return reactivate
-    				? ResponseEntity.ok().headers(HeaderUtil.createEntityReactivateAlert(ENTITY_NAME, serviceClass.getServiceclassname())).body(result)
-    						: ResponseEntity.ok().headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, serviceClass.getServiceclassname())).body(result);
-        } catch (Exception e) {
-        	log.error("updateServiceClass  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceClassUpdateError", "No puede actualizarse la Clase de servicio"))
-                    .body(null);
-        }
-    }
-
-    /**
-     * GET  /service-classes : get all the serviceClasses.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the list of serviceClasses in body
-     */
-    @GetMapping("/service-classes")
-    @Timed
-    @Transactional
-    public List<ServiceClass> getAllServiceClasses() {
-       log.debug("REST request to get all ServiceClasses");
-        try {log.debug("getAllServiceClasses  ::  getting all Service Classes...");
-        	return serviceClassRepository.findAll();
-        } catch (Exception e) {
-        	log.error("getAllServiceClasses  ::  Exception");
-        	return null;
-        }
-    }
-
-    /**
-     * GET  /service-classes/:id : get the "id" serviceClass.
-     *
-     * @param id the id of the serviceClass to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the serviceClass, or with status 404 (Not Found)
-     */
-    @GetMapping("/service-classes/{id}")
-    @Timed
-    public ResponseEntity<ServiceClass> getServiceClass(@PathVariable Long id) {
-        log.debug("REST request to get ServiceClass : {}", id);
-        ServiceClass serviceClass = null;
-        try {
-        	log.debug("getServiceClass  ::  getting service class...");
-        	serviceClass = serviceClassRepository.findOne(id);
-        	
-        	log.debug("getServiceClass  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(serviceClass));
-        } catch (Exception e) {
-        	log.error("getServiceClass  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceClassGetError", "No puede obtenerse la clase de servicio"))
-                    .body(null);
-        }
-    }
-
-    /**
-     * DELETE  /service-classes/:id : delete the "id" serviceClass.
-     *
-     * @param id the id of the serviceClass to delete
-     * @return the ResponseEntity with status 200 (OK)
-     */
-    @DeleteMapping("/service-classes/{id}")
-    @Timed
-    @Transactional
-    public ResponseEntity<Void> deleteServiceClass(@PathVariable Long id, @RequestParam String forcedelete) {
-    	log.debug("REST request to delete ServiceClass : {}", id);
-        try {
-        	log.debug("deleteServiceClass  ::  forcedelete=" + forcedelete);
-        	
-        	// Obtener la clase de servicio
-        	ServiceClass serviceClass = serviceClassRepository.findOne(id);
-        	boolean markAsErased = false;
-        	
-        	if (forcedelete != null && !Boolean.valueOf(forcedelete).booleanValue()) {
-        		// Marcar la clase de servicio como borrado
-            	if (serviceClass != null) {
-    	        	log.debug("deleteServiceClass  ::  soft deleting ServiceClass...");
-    	        	markAsErased = true;
-    	        	serviceClass.setDeleteddate(ZonedDateTime.now());
-    	        	serviceClassRepository.saveAndFlush(serviceClass);
-            	}
-        	} else {
-        		// Eliminar definitivamente la clase de servicio
-        		log.debug("deleteServiceClass  ::  deleting service class...");
-        		serviceClassRepository.delete(id);
-        	}
-        	
-        	log.debug("deleteServiceClass  ::  deleting OK");
-            return markAsErased
-            		? ResponseEntity.ok().headers(HeaderUtil.createEntitySoftDeletionAlert(ENTITY_NAME, serviceClass.getServiceclassname())).build()
-            				: ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, serviceClass.getServiceclassname())).build();
-        } catch (EmptyResultDataAccessException e) {
-            return ResponseEntity.noContent().build();
-        } catch (Exception e) {
-        	log.error("deleteServiceClass  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceClassDeleteError", "La clase de servicio no puede ser eliminado"))
-                    .body(null);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassTypicalAttributeResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassTypicalAttributeResource.java
deleted file mode 100644
index 68843e3ee69f0d8ca55587469c35966a690bd263..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceClassTypicalAttributeResource.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import java.util.List;
-import java.util.Optional;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceClassTypicalAttribute;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceClassTypicalAttributeRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.util.HeaderUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-
-/**
- * REST controller for managing ServiceClassTypicalAttribute.
- */
-@RestController
-@RequestMapping("/api")
-public class ServiceClassTypicalAttributeResource {
-
-    private final Logger log = LoggerFactory.getLogger(ServiceClassTypicalAttributeResource.class);
-
-    private static final String ENTITY_NAME = "serviceClassTypicalAttribute";
-        
-    private final ServiceClassTypicalAttributeRepository serviceClassTypicalAttributeRepository;
-
-    public ServiceClassTypicalAttributeResource(ServiceClassTypicalAttributeRepository serviceClassTypicalAttributeRepository) {
-        this.serviceClassTypicalAttributeRepository = serviceClassTypicalAttributeRepository;
-    }
-    
-
-    /**
-     * GET  /service-class-typical-attributes : get all the ServiceClassTypicalAttributes.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the list of ServiceClassTypicalAttributes in body
-     */
-    @GetMapping("/service-class-typical-attributes")
-    @Timed
-    public List<ServiceClassTypicalAttribute> getAllServiceClassTypicalAttributes() {
-       log.debug("REST request to get all ServiceClassTypicalAttributes");
-        try {
-        	log.debug("getAllServiceClassTypicalAttributes  ::  getting all ServiceClassTypicalAttributes...");
-        	return serviceClassTypicalAttributeRepository.findAll();
-        } catch (Exception e) {
-        	log.error("getAllServiceClassTypicalAttributes  ::  Exception");
-        	return null;
-        }
-    }
-
-    /**
-     * GET  /service-class-typical-attributes/:id : get the "id" ServiceTypeTypicalAttributes.
-     *
-     * @param id the id of the ServiceClassTypicalAttributes to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the ServiceClassTypicalAttributes, or with status 404 (Not Found)
-     */
-    @GetMapping("/service-class-typical-attributes/{id}")
-    @Timed
-    public ResponseEntity<ServiceClassTypicalAttribute> getServiceClassTypicalAttribute(@PathVariable Long id) {
-        log.debug("REST request to get ServiceClassTypicalAttribute : {}", id);
-        ServiceClassTypicalAttribute serviceClassTypicalAttribute = null;
-        try {
-        	log.debug("getServiceClassTypicalAttribute  ::  getting ServiceClassTypicalAttribute...");
-        	serviceClassTypicalAttribute = serviceClassTypicalAttributeRepository.findOne(id);
-        	
-        	log.debug("getServiceClassTypicalAttribute  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(serviceClassTypicalAttribute));
-        } catch (Exception e) {
-        	log.error("getServiceClassTypicalAttribute  ::  Exception");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceClassTypicalAttributeGetError", "No puede obtenerse el atributo tipico de la clase de servicio"))
-                    .body(null);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceResource.java
deleted file mode 100644
index 10ff342c168b5f6c7c01300baf906dc24f011e76..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/ServiceResource.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.time.ZonedDateTime;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
-import javax.validation.Valid;
-
-import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.dao.EmptyResultDataAccessException;
-import org.springframework.http.ResponseEntity;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.backend.services.server.domain.Service;
-import eu.decideh2020.acsmi.backend.services.server.domain.ServiceAttributeValue;
-import eu.decideh2020.acsmi.backend.services.server.domain.vo.ServiceAttributeVO;
-import eu.decideh2020.acsmi.backend.services.server.domain.vo.ServiceFilterVO;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceAttributeValueRepository;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.util.HeaderUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-
-/**
- * REST controller for managing Service.
- */
-@RestController
-@RequestMapping("/api")
-public class ServiceResource {
-
-    private final Logger log = LoggerFactory.getLogger(ServiceResource.class);
-
-    private static final String ENTITY_NAME = "service";
-    private static final String PARAM_SEPARATOR = "%#%";
-    private static final String ATTRIBUTE_SEPARATOR = ">:";
-        
-    private final ServiceRepository serviceRepository;
-    private final ServiceAttributeValueRepository serviceAttributeValueRepository;
-
-    public ServiceResource(ServiceRepository serviceRepository, ServiceAttributeValueRepository serviceAttributeValueRepository) {
-        this.serviceRepository = serviceRepository;
-        this.serviceAttributeValueRepository = serviceAttributeValueRepository;
-    }
-
-    /**
-     * POST  /services : Create a new service.
-     *
-     * @param service the service to create
-     * @return the ResponseEntity with status 201 (Created) and with body the new service, or with status 400 (Bad Request) if the service has already an ID
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PostMapping("/services")
-    @Timed
-    @Transactional
-    public ResponseEntity<Service> createService(@Valid @RequestBody Service service, @RequestParam List<String> attributes) throws URISyntaxException {
-    	log.debug("REST request to save Service : {}", service);
-        try {
-        	if (service.getId() != null) {
-                return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(
-                		ENTITY_NAME, "idexists", "A new service cannot already have an ID")).body(null);
-            }
-        	
-        	// Comprobar que el nombre del servicio no exista previamente
-            List<Service> services = serviceRepository.findAll();
-            if (services != null && !services.isEmpty()) {
-            	for (Service cont : services) {
-            		if (service != null && service.getServicename() != null
-            				&& service.getServicename().trim().equalsIgnoreCase(cont.getServicename().trim())) {
-            			return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(
-                        		ENTITY_NAME, "serviceNameExists", "The Service name is already registered")).body(null);
-            		}
-            	}
-            }
-        	
-            // Insertar el servicio
-        	log.debug("createService  ::  creating Service...");
-        	Service result = serviceRepository.saveAndFlush(service);
-        	
-        	// Insertar los valores de atributos
-        	if (attributes != null && attributes.size() > 1) {
-        		ServiceAttributeValueResource attrResource = new ServiceAttributeValueResource(serviceAttributeValueRepository);
-        		final int len = attributes.size();
-        		for (int i = 0;i < len;i += 2) {
-	        		ServiceAttributeValue value = new ServiceAttributeValue();
-	        		value.setServiceattributevalue(attributes.get(i + 1));
-	        		value.setServiceid(result.getId());
-	        		value.setServiceattributetypeid(new Long(attributes.get(i)));
-	        		
-	        		attrResource.createServiceAttributeValue(value);
-        		}
-        	}
-        	log.debug("createService  ::  creating OK");
-        	
-            return ResponseEntity.created(new URI("/api/services/" + result.getId()))
-                .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getServicename()))
-                .body(result);
-        } catch (Exception e) {
-        	log.error("createService  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceCreateError", "No puede crearse el Servicio"))
-                    .body(null);
-        }
-    }
-
-    /**
-     * PUT  /services : Updates an existing service.
-     *
-     * @param service the service to update
-     * @return the ResponseEntity with status 200 (OK) and with body the updated service,
-     * or with status 400 (Bad Request) if the service is not valid,
-     * or with status 500 (Internal Server Error) if the service couldnt be updated
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PutMapping("/services")
-    @Timed
-    @Transactional
-    public ResponseEntity<Service> updateService(@Valid @RequestBody Service service, @RequestParam List<String> attributes) throws URISyntaxException {
-    	log.debug("REST request to update Service : {}", service);
-        try {
-        	boolean reactivate = false;
-        	
-        	// Si la fecha de baja no es nula, se trata de una reactivación
-        	if (service.getDeleteddate() != null) {
-        		log.debug("updateService  ::  reactivating Service...");
-        		reactivate = true;
-        		
-        		// Reactivar atributos del servicio
-	        	serviceAttributeValueRepository.updateDeletedDateServiceAttributeValueByIdService(null, service.getId());
-	        	
-        		service.setDeleteddate(null);
-        	} else {
-        		if (service.getId() == null) {
-                    return createService(service, attributes);
-                }
-        		
-        		// Eliminar atributos y posteriormente insertarlos
-        		serviceAttributeValueRepository.deleteServiceAttributeValueByIdService(service.getId());
-        		
-        		// Insertar los valores de atributos
-        		ServiceAttributeValueResource attrResource = new ServiceAttributeValueResource(serviceAttributeValueRepository);
-        		if (attributes != null && attributes.size() > 1) {
-            		final int len = attributes.size();
-            		for (int i = 0;i < len;i += 2) {
-    	        		ServiceAttributeValue value = new ServiceAttributeValue();
-    	        		value.setServiceattributevalue(attributes.get(i + 1));
-    	        		value.setServiceid(service.getId());
-    	        		value.setServiceattributetypeid(new Long(attributes.get(i)));
-    	        		
-    	        		attrResource.createServiceAttributeValue(value);
-            		}
-            	}
-        	}
-        	
-        	// Modificar el servicio
-        	log.debug("updateService  ::  updating Service...");
-        	Service result = serviceRepository.saveAndFlush(service);
-        	log.debug("updateService  ::  updating OK");
-        	
-            return reactivate
-            		? ResponseEntity.ok().headers(HeaderUtil.createEntityReactivateAlert(ENTITY_NAME, service.getServicename())).body(result)
-            				: ResponseEntity.ok().headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, service.getServicename())).body(result);
-        } catch (Exception e) {
-        	log.error("updateService  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceUpdateError", "No puede actualizarse el Servicio"))
-                    .body(null);
-        }
-    }
-
-    /**
-     * GET  /services : get all the services.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the list of services in body
-     */
-    @GetMapping("/services")
-    @Timed
-    public List<Service> getAllServices(@RequestParam String filter) {
-    	log.debug("REST request to get all Services");
-        try {
-        	List<Service> list = null;
-        	if (filter == null || filter.trim().length() == 0) {
-        		log.debug("getAllServices  ::  getting all Services...");
-        		list = serviceRepository.findAll();
-        	} else {
-        		// Construir objeto de filtro        			
-       			ServiceFilterVO in = buildFilter(filter);
-       			if (in != null) {
-       				log.debug("getAllServices  ::  getting all Services filtering by  ::  " + filter);
-       				
-       				// Ejecutar query de filtro
-       				List<ServiceFilterVO> listFilter = filterQuery(in);
-       				if (listFilter != null && !listFilter.isEmpty()) {
-       					// Construir lista de ids de servicios encontrados
-            			List<Long> listIdservices = new ArrayList<Long>();
-            			List<Long> listAttributeTypes = new ArrayList<Long>();
-            			List<ServiceAttributeVO> listServicesAttributes = new ArrayList<ServiceAttributeVO>();
-            			
-            			// Recorrer resultado del filtrado
-                		for (ServiceFilterVO out : listFilter) {
-                			out.setAttributeTypeids(in.getAttributetypeids());
-                			out.setAttributeTypevalues(in.getAttributetypevalues());
-
-                			// Filtrar los valores introducidos
-                			if (out.getAttributetypevalues().isEmpty()) {
-                				log.debug("getAllServices  ::  Filtrado solo por clase de servicio");
-                				listIdservices.add(out.getServiceid());
-                			} else {
-                				final int valuesLength = out.getAttributetypevalues().size();
-                				for (int i = 0;i < valuesLength;i++) {
-                					if (out.getTypeid().longValue() == out.getAttributetypeids().get(i).longValue()) {
-                						// Añadir tipo de atributo a la lista, sea de una enumeración o no
-                						listAttributeTypes.add(out.getAttributetypeids().get(i));
-                						
-                						if (out.getEnumeration() != null && out.getEnumeration().trim().length() > 0) {
-                        					// Si el valor del atributo pertenece a una enumeración
-                							log.debug("getAllServices :: El atributo \"" + out.getAttributetypevalues().get(i) + "\" pertenece a la enumeracion:  \"" + out.getEnumeration() + "\"");
-                							JSONObject jsonEnumeration = new JSONObject(out.getEnumeration());
-                							Iterator<?> keys = jsonEnumeration.keys();
-                							while (keys.hasNext()) {
-                								String key = (String)keys.next();
-                								if (jsonEnumeration.getString(key).trim().toLowerCase().indexOf(out.getAttributetypevalues().get(i).trim().toLowerCase()) != -1) {
-                									if (out.getValue() != null && out.getValue().trim().equalsIgnoreCase(key.trim())) {
-                										listIdservices.add(out.getServiceid());
-                										listServicesAttributes.add(new ServiceAttributeVO(out.getServiceid(), out.getAttributetypeids().get(i), out.getValue()));
-                										break;
-                									}
-                								}
-                							}
-                        				} else {
-                        					// Si el valor del atributo NO pertenece a una enumeración
-                        					log.debug("getAllServices :: El atributo \"" + out.getAttributetypevalues().get(i) + "\" NO pertenece a una enumeracion");
-                        					if (out.getValue() != null && out.getValue().trim().toLowerCase().indexOf(out.getAttributetypevalues().get(i).trim().toLowerCase()) != -1) {
-                        						listIdservices.add(out.getServiceid());
-                        						listServicesAttributes.add(new ServiceAttributeVO(out.getServiceid(), out.getAttributetypeids().get(i), out.getValue()));
-                        					}
-                        				}
-                					}
-                				}
-                			}
-                		}
-                		
-                		// Recuperar los servicios resultantes de la búsqueda a partir de los ids obtenidos en el primer filtrado
-                		List<ServiceAttributeVO> listStep01 = new ArrayList<ServiceAttributeVO>();
-                		List<Long> listStep02 = new ArrayList<Long>();
-                		if (!listIdservices.isEmpty() && !listAttributeTypes.isEmpty() && !listServicesAttributes.isEmpty()) {
-                			listIdservices = deleteDuplicatedIds(listIdservices);
-                			listAttributeTypes = deleteDuplicatedIds(listAttributeTypes);
-                			final int numAttributeTypes = listAttributeTypes.size();
-                			
-                			// Cargar lista intermedia de objetos filtrados
-                			for (Long type : listAttributeTypes) {
-                				for (Long srv : listIdservices) {
-                					for (ServiceAttributeVO vo : listServicesAttributes) {
-                						if (vo.getAttributetypeid().longValue() == type.longValue() && vo.getServiceid().longValue() == srv.longValue()) {
-                							listStep01.add(vo);
-                							log.debug("getAllServices :: ServiceAttributeVO ::  " + vo);
-                						}
-                					}
-                				}
-                			}
-                			
-                			// Para que el servicio pase el filtrado, debe aparecer en la lista intermedia "listStep01" tantas
-                			// vecer como número de tipos de atributos se estén buscando
-                			if (!listStep01.isEmpty()) {
-                				for (Long srv : listIdservices) {
-                					int cont = 0;
-                					for (ServiceAttributeVO vo : listServicesAttributes) {
-                						if (srv.longValue() == vo.getServiceid().longValue()) {
-                							cont++;
-                						}
-                					}
-                					if (cont == numAttributeTypes) {
-                						listStep02.add(srv);
-                					}
-                				}
-                			}
-                		} else if (!listIdservices.isEmpty() && listStep02.isEmpty()) {
-                			list = serviceRepository.findByMultipleIds(listIdservices);
-                		}
-                		
-                		listStep02 = deleteDuplicatedIds(listStep02);
-                		if (!listStep02.isEmpty()) {
-                			list = serviceRepository.findByMultipleIds(listStep02);
-                		}
-                	}
-       			}	
-        	}
-        	return list;
-        } catch (Exception e) {
-        	log.error("getAllServices  ::  Exception  ::  " + e.getMessage());
-        	return null;
-        }
-    }
-
-    /**
-     * GET  /services/:id : get the "id" service.
-     *
-     * @param id the id of the service to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the service, or with status 404 (Not Found)
-     */
-    @GetMapping("/services/{id}")
-    @Timed
-    public ResponseEntity<Service> getService(@PathVariable Long id) {
-    	log.debug("REST request to get Service : {}", id);
-        try {
-        	log.debug("getService  ::  getting Service...");
-        	Service service = serviceRepository.findOne(id);
-        	log.debug("getService  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(service));
-        } catch (Exception e) {
-        	log.error("getService  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceGetError", "No puede obtenerse el Servicio"))
-                    .body(null);
-        }
-    }
-    
-    /**
-     * GET  /services-names-only/:id : get the "id" service.
-     *
-     * @param id the id of the service to retrieve
-     * @return the ResponseEntity with status 200 (OK) and with body the service, or with status 404 (Not Found)
-     */
-    @GetMapping("/services-names-only/{id}")
-    @Timed
-    public ResponseEntity<String> getServiceName(@PathVariable Long id) {
-    	log.debug("REST request to get Service name : {}", id);
-        try {
-        	log.debug("getService  ::  getting Service name...");
-        	String serviceName = serviceRepository.findOne(id).getServicename();
-        	log.debug("getService  ::  getting OK");
-            return ResponseUtil.wrapOrNotFound(Optional.ofNullable(serviceName));
-        } catch (Exception e) {
-        	log.error("getService  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceGetError", "No puede obtenerse el nombre del Servicio"))
-                    .body(null);
-        }
-    }
-
-    /**
-     * DELETE  /services/:id : delete the "id" service.
-     *
-     * @param id the id of the service to delete
-     * @return the ResponseEntity with status 200 (OK)
-     */
-    @DeleteMapping("/services/{id}")
-    @Timed
-    @Transactional
-    public ResponseEntity<Void> deleteService(@PathVariable Long id, @RequestParam String forcedelete) {
-    	log.debug("REST request to delete Service : {}", id);
-        try {
-        	log.debug("deleteService  ::  forcedelete=" + forcedelete);
-        	
-        	// Obtener el servicio
-        	Service service = serviceRepository.findOne(id);
-        	boolean markAsErased = false;
-        	
-        	if (forcedelete != null && !Boolean.valueOf(forcedelete).booleanValue()) {
-        		// Marcar el servicio como borrado
-            	if (service != null) {
-    	        	log.debug("deleteService  ::  soft deleting Service...");
-    	        	
-    	        	// Marcar atributos del servicio como borrados
-    	        	serviceAttributeValueRepository.updateDeletedDateServiceAttributeValueByIdService(ZonedDateTime.now(), id);
-    	        	
-    	        	// Marcar Servicio como borrado
-    	        	markAsErased = true;
-    	        	service.setDeleteddate(ZonedDateTime.now());
-    	        	serviceRepository.saveAndFlush(service);
-            	}
-        	} else {
-        		// Eliminar definitivamente los atributos del servicio
-        		serviceAttributeValueRepository.deleteServiceAttributeValueByIdService(id);
-        		
-        		// Eliminar definitivamente el servicio
-        		log.debug("deleteService  ::  deleting service...");
-            	serviceRepository.delete(id);
-        	}
-        	log.debug("deleteService  ::  deleting OK");
-        	
-            return markAsErased
-            		? ResponseEntity.ok().headers(HeaderUtil.createEntitySoftDeletionAlert(ENTITY_NAME, service.getServicename())).build()
-            				: ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, service.getServicename())).build();
-        } catch (DataIntegrityViolationException e) {
-        	log.error("deleteService DataIntegrityViolationException");
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceDeleteDataIntegrityError", "El Servicio no puede ser eliminado porque esta siendo utilizado en Contratos"))
-                    .body(null);
-        } catch (EmptyResultDataAccessException e) {
-            return ResponseEntity.noContent().build();
-        } catch (Exception e) {
-        	log.error("deleteService  ::  Exception  ::  " + e.getMessage());
-        	return ResponseEntity.badRequest()
-                    .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "serviceDeleteError", "El Servicio no puede ser eliminado"))
-                    .body(null);
-        }
-    }
-    
-    
-    /**
-     * Build a ServiceFilterVO
-     * @param filter the filter
-     * @return SErviceFilterVO
-     */
-    public ServiceFilterVO buildFilter(final String filter) {
-    	ServiceFilterVO vo = null;
-    	try {
-    		log.debug("buildFilter  ::  " + filter);
-    		String[] params = filter.split(PARAM_SEPARATOR);
-    		if (params != null && params.length > 0) {
-    			vo = new ServiceFilterVO(new Long(params[0].trim()));
-    			if (params.length > 1) {
-        			for (int i = 1;i < params.length;i++) {
-        				String[] split = params[i].trim().split(ATTRIBUTE_SEPARATOR);
-        				vo.getAttributetypeids().add(new Long(split[0].trim().substring(1)));
-        				vo.getAttributetypevalues().add(split[1].trim().substring(1, split[1].length() - 1));
-            		}
-        		}
-    		}
-    	} catch (Exception e) {
-    		log.error("buildFilter  ::  Exception  ::  " + e.getMessage());
-    	}
-    	return vo;
-    }
-    
-    
-    /**
-     * Call service filter query.
-     * @param vo the ServiceFilterVO object
-     * @return List
-     */
-    public List<ServiceFilterVO> filterQuery(ServiceFilterVO vo) {
-    	List<ServiceFilterVO> result = new ArrayList<ServiceFilterVO>();
-    	try {
-        	log.debug("filterQuery  ::  executing...");
-        	List<ServiceFilterVO> firstResult = null;
-        	if (vo.getAttributetypeids() == null || vo.getAttributetypeids().isEmpty()) {
-        		firstResult = serviceRepository.filterQuery(vo.getClassid());
-        		log.debug("  *** Resultado : (" + (firstResult == null || firstResult.isEmpty() ? "0" : firstResult.size()) + ") ***");
-        		result = firstResult;
-        	} else {
-        		firstResult = serviceRepository.filterQuery(vo.getClassid(), vo.getAttributetypeids());
-        		log.debug("  *** Resultado : (" + (firstResult == null || firstResult.isEmpty() ? "0" : firstResult.size()) + ") ***");
-        		result = firstResult;
-        	}
-        	
-    	} catch (Exception e) {
-    		log.error("filterQuery  ::  Exception  ::  " + e.getMessage());
-    	}
-    	return result;
-    }
-    
-    
-    /**
-     * Delete duplicated ids.
-     * @param sourceList
-     * @return List
-     */
-    private List<Long> deleteDuplicatedIds(List<Long> sourceList) {
-    	Set<Long> set = new HashSet<Long>();
-    	try {
-    		log.debug("deleteDuplicatedIds  ::  executing...");
-    		set.addAll(sourceList);
-        	sourceList.clear();
-        	sourceList.addAll(set);
-    	} catch (Exception e) {
-    		log.error("deleteDuplicatedIds  ::  Exception  ::  " + e.getMessage());
-    	}
-    	return sourceList;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/CustomParameterizedException.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/CustomParameterizedException.java
deleted file mode 100644
index d3545d22c4b6ea8be15617c4cef24703350dced0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/CustomParameterizedException.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Custom, parameterized exception, which can be translated on the client side.
- * For example:
- *
- * <pre>
- * throw new CustomParameterizedException(&quot;myCustomError&quot;, &quot;hello&quot;, &quot;world&quot;);
- * </pre>
- *
- * Can be translated with:
- *
- * <pre>
- * "error.myCustomError" :  "The server says {{param0}} to {{param1}}"
- * </pre>
- */
-public class CustomParameterizedException extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String PARAM = "param";
-
-    private final String message;
-
-    private final Map<String, String> paramMap = new HashMap<>();
-
-    public CustomParameterizedException(String message, String... params) {
-        super(message);
-        this.message = message;
-        if (params != null && params.length > 0) {
-            for (int i = 0; i < params.length; i++) {
-                paramMap.put(PARAM + i, params[i]);
-            }
-        }
-    }
-
-    public CustomParameterizedException(String message, Map<String, String> paramMap) {
-        super(message);
-        this.message = message;
-        this.paramMap.putAll(paramMap);
-    }
-
-    public ParameterizedErrorVM getErrorVM() {
-        return new ParameterizedErrorVM(message, paramMap);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorConstants.java
deleted file mode 100644
index 750b6ed8f30790cd00f1d7c612137c59b0fac912..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorConstants.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-public final class ErrorConstants {
-
-    public static final String ERR_CONCURRENCY_FAILURE = "error.concurrencyFailure";
-    public static final String ERR_ACCESS_DENIED = "error.accessDenied";
-    public static final String ERR_VALIDATION = "error.validation";
-    public static final String ERR_METHOD_NOT_SUPPORTED = "error.methodNotSupported";
-    public static final String ERR_INTERNAL_SERVER_ERROR = "error.internalServerError";
-
-    private ErrorConstants() {
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorVM.java
deleted file mode 100644
index 4bcee24af186ff33da9461c9f9f1ac7a358feca6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ErrorVM.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * View Model for transferring error message with a list of field errors.
- */
-public class ErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final String description;
-
-    private List<FieldErrorVM> fieldErrors;
-
-    public ErrorVM(String message) {
-        this(message, null);
-    }
-
-    public ErrorVM(String message, String description) {
-        this.message = message;
-        this.description = description;
-    }
-
-    public ErrorVM(String message, String description, List<FieldErrorVM> fieldErrors) {
-        this.message = message;
-        this.description = description;
-        this.fieldErrors = fieldErrors;
-    }
-
-    public void add(String objectName, String field, String message) {
-        if (fieldErrors == null) {
-            fieldErrors = new ArrayList<>();
-        }
-        fieldErrors.add(new FieldErrorVM(objectName, field, message));
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public List<FieldErrorVM> getFieldErrors() {
-        return fieldErrors;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ExceptionTranslator.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ExceptionTranslator.java
deleted file mode 100644
index 43c13dc955477047cf9a09f88fc13b296fc42a7a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ExceptionTranslator.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.dao.ConcurrencyFailureException;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.ResponseEntity.BodyBuilder;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.validation.BindingResult;
-import org.springframework.validation.FieldError;
-import org.springframework.web.HttpRequestMethodNotSupportedException;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * Controller advice to translate the server side exceptions to client-friendly json structures.
- */
-@ControllerAdvice
-public class ExceptionTranslator {
-
-    private final Logger log = LoggerFactory.getLogger(ExceptionTranslator.class);
-
-    @ExceptionHandler(ConcurrencyFailureException.class)
-    @ResponseStatus(HttpStatus.CONFLICT)
-    @ResponseBody
-    public ErrorVM processConcurrencyError(ConcurrencyFailureException ex) {
-        return new ErrorVM(ErrorConstants.ERR_CONCURRENCY_FAILURE);
-    }
-
-    @ExceptionHandler(MethodArgumentNotValidException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ErrorVM processValidationError(MethodArgumentNotValidException ex) {
-        BindingResult result = ex.getBindingResult();
-        List<FieldError> fieldErrors = result.getFieldErrors();
-        ErrorVM dto = new ErrorVM(ErrorConstants.ERR_VALIDATION);
-        for (FieldError fieldError : fieldErrors) {
-            dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode());
-        }
-        return dto;
-    }
-
-    @ExceptionHandler(CustomParameterizedException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ParameterizedErrorVM processParameterizedValidationError(CustomParameterizedException ex) {
-        return ex.getErrorVM();
-    }
-
-    @ExceptionHandler(AccessDeniedException.class)
-    @ResponseStatus(HttpStatus.FORBIDDEN)
-    @ResponseBody
-    public ErrorVM processAccessDeniedException(AccessDeniedException e) {
-        return new ErrorVM(ErrorConstants.ERR_ACCESS_DENIED, e.getMessage());
-    }
-
-    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    @ResponseBody
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    public ErrorVM processMethodNotSupportedException(HttpRequestMethodNotSupportedException exception) {
-        return new ErrorVM(ErrorConstants.ERR_METHOD_NOT_SUPPORTED, exception.getMessage());
-    }
-
-    @ExceptionHandler(Exception.class)
-    public ResponseEntity<ErrorVM> processException(Exception ex) {
-        log.error(ex.getMessage(), ex);
-        BodyBuilder builder;
-        ErrorVM errorVM;
-        ResponseStatus responseStatus = AnnotationUtils.findAnnotation(ex.getClass(), ResponseStatus.class);
-        if (responseStatus != null) {
-            builder = ResponseEntity.status(responseStatus.value());
-            errorVM = new ErrorVM("error." + responseStatus.value().value(), responseStatus.reason());
-        } else {
-            builder = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR);
-            errorVM = new ErrorVM(ErrorConstants.ERR_INTERNAL_SERVER_ERROR, "Internal server error");
-        }
-        return builder.body(errorVM);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/FieldErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/FieldErrorVM.java
deleted file mode 100644
index c72ec30044e6de61b85fdf93423a9acac39a49ca..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/FieldErrorVM.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import java.io.Serializable;
-
-public class FieldErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String objectName;
-
-    private final String field;
-
-    private final String message;
-
-    public FieldErrorVM(String dto, String field, String message) {
-        this.objectName = dto;
-        this.field = field;
-        this.message = message;
-    }
-
-    public String getObjectName() {
-        return objectName;
-    }
-
-    public String getField() {
-        return field;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ParameterizedErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ParameterizedErrorVM.java
deleted file mode 100644
index 49cd5fa63ab4de45880e314f608a661c9b90ab4b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/errors/ParameterizedErrorVM.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.Map;
-
-/**
- * View Model for sending a parameterized error message.
- */
-public class ParameterizedErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final Map<String, String> paramMap;
-
-    public ParameterizedErrorVM(String message, Map<String, String> paramMap) {
-        this.message = message;
-        this.paramMap = paramMap;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public Map<String, String> getParams() {
-        return paramMap;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/package-info.java
deleted file mode 100644
index cca0bde33aacb89fa8e4aeb5cfb7b8d211a9b7bd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring MVC REST controllers.
- */
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/HeaderUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/HeaderUtil.java
deleted file mode 100644
index 2559079d21e580749c2b6d0f83eb98e1e281a347..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/HeaderUtil.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpHeaders;
-/**
- * Utility class for HTTP headers creation.
- */
-public final class HeaderUtil {
-
-    private static final Logger log = LoggerFactory.getLogger(HeaderUtil.class);
-
-    private static final String APPLICATION_NAME = "acsmiservicesApp";
-
-    private HeaderUtil() {
-    }
-
-    public static HttpHeaders createAlert(String message, String param) {
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-acsmiservicesApp-alert", message);
-        headers.add("X-acsmiservicesApp-params", param);
-        return headers;
-    }
-
-    public static HttpHeaders createEntityCreationAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".created", param);
-    }
-
-    public static HttpHeaders createEntityUpdateAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".updated", param);
-    }
-    
-    public static HttpHeaders createEntityReactivateAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".reactivated", param);
-    }
-
-    public static HttpHeaders createEntityDeletionAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".deleted", param);
-    }
-    
-    public static HttpHeaders createEntitySoftDeletionAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".softdeleted", param);
-    }
-    
-    public static HttpHeaders createEntityDeactivationAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".deactivated", param);
-    }
-
-    public static HttpHeaders createFailureAlert(String entityName, String errorKey, String defaultMessage) {
-        log.error("Entity processing failed, {}", defaultMessage);
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-acsmiservicesApp-error", "error." + errorKey);
-        headers.add("X-acsmiservicesApp-params", entityName);
-        return headers;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/PaginationUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/PaginationUtil.java
deleted file mode 100644
index a21249ab445d845f20ec6b1874eb88641fd3057a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/util/PaginationUtil.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.util;
-
-import org.springframework.data.domain.Page;
-import org.springframework.http.HttpHeaders;
-import org.springframework.web.util.UriComponentsBuilder;
-
-/**
- * Utility class for handling pagination.
- *
- * <p>
- * Pagination uses the same principles as the <a href="https://developer.github.com/v3/#pagination">Github API</a>,
- * and follow <a href="http://tools.ietf.org/html/rfc5988">RFC 5988 (Link header)</a>.
- */
-public final class PaginationUtil {
-
-    private PaginationUtil() {
-    }
-
-    public static HttpHeaders generatePaginationHttpHeaders(Page page, String baseUrl) {
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-Total-Count", Long.toString(page.getTotalElements()));
-        String link = "";
-        if ((page.getNumber() + 1) < page.getTotalPages()) {
-            link = "<" + generateUri(baseUrl, page.getNumber() + 1, page.getSize()) + ">; rel=\"next\",";
-        }
-        // prev link
-        if ((page.getNumber()) > 0) {
-            link += "<" + generateUri(baseUrl, page.getNumber() - 1, page.getSize()) + ">; rel=\"prev\",";
-        }
-        // last and first link
-        int lastPage = 0;
-        if (page.getTotalPages() > 0) {
-            lastPage = page.getTotalPages() - 1;
-        }
-        link += "<" + generateUri(baseUrl, lastPage, page.getSize()) + ">; rel=\"last\",";
-        link += "<" + generateUri(baseUrl, 0, page.getSize()) + ">; rel=\"first\"";
-        headers.add(HttpHeaders.LINK, link);
-        return headers;
-    }
-
-    private static String generateUri(String baseUrl, int page, int size) {
-        return UriComponentsBuilder.fromUriString(baseUrl).queryParam("page", page).queryParam("size", size).toUriString();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoggerVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoggerVM.java
deleted file mode 100644
index 61ccd84285bc28afe778cdba82c09141ea6d651c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoggerVM.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.vm;
-
-import ch.qos.logback.classic.Logger;
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-/**
- * View Model object for storing a Logback logger.
- */
-public class LoggerVM {
-
-    private String name;
-
-    private String level;
-
-    public LoggerVM(Logger logger) {
-        this.name = logger.getName();
-        this.level = logger.getEffectiveLevel().toString();
-    }
-
-    @JsonCreator
-    public LoggerVM() {
-        // Empty public constructor used by Jackson.
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getLevel() {
-        return level;
-    }
-
-    public void setLevel(String level) {
-        this.level = level;
-    }
-
-    @Override
-    public String toString() {
-        return "LoggerVM{" +
-            "name='" + name + '\'' +
-            ", level='" + level + '\'' +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoginVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoginVM.java
deleted file mode 100644
index 52f34a47dbb515afcc8ffad5beec209eb786d0c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/LoginVM.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.vm;
-
-import eu.decideh2020.acsmi.backend.services.server.config.Constants;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-
-/**
- * View Model object for storing a user's credentials.
- */
-public class LoginVM {
-
-    @Pattern(regexp = Constants.LOGIN_REGEX)
-    @NotNull
-    @Size(min = 1, max = 50)
-    private String username;
-
-    @NotNull
-    private String password;
-
-    private Boolean rememberMe;
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public Boolean isRememberMe() {
-        return rememberMe;
-    }
-
-    public void setRememberMe(Boolean rememberMe) {
-        this.rememberMe = rememberMe;
-    }
-
-    @Override
-    public String toString() {
-        return "LoginVM{" +
-            "username='" + username + '\'' +
-            ", rememberMe=" + rememberMe +
-            '}';
-    }
-}
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/package-info.java
deleted file mode 100644
index 7269d8345c763b1c71fe25eef687ceda36ee3108..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/java/eu/decideh2020/acsmi/backend/services/server/web/rest/vm/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * View Models used by Spring MVC REST controllers.
- */
-package eu.decideh2020.acsmi.backend.services.server.web.rest.vm;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/banner.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/banner.txt
deleted file mode 100644
index c3d8cf725ddc1396a4f5725f7d9bda87e8231994..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-  ${AnsiColor.GREEN}      ██╗${AnsiColor.RED} ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
-  ${AnsiColor.GREEN}██╗   ██║${AnsiColor.RED} ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
-  ${AnsiColor.GREEN}╚██████╔╝${AnsiColor.RED} ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
-  ${AnsiColor.GREEN} ╚═════╝ ${AnsiColor.RED} ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
-
-${AnsiColor.BRIGHT_BLUE}:: JHipster 🤓  :: Running Spring Boot ${spring-boot.version} ::
-:: http://jhipster.github.io ::${AnsiColor.DEFAULT}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-dev.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-dev.yml
deleted file mode 100644
index 8e9bd9f434a22167afe4d6196f1d40a5ee90590d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,161 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "dev" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    instance:
-        prefer-ip-address: true
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/
-
-spring:
-    profiles:
-        active: dev
-        include: swagger
-    devtools:
-        restart:
-            enabled: true
-        livereload:
-            enabled: false # we use gulp + BrowserSync for livereload
-    jackson:
-        serialization.indent_output: true
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:mysql://localhost:3306/acsmi_backend_services_server?useUnicode=true&characterEncoding=utf8&useSSL=false
-        username: root
-        password:
-        hikari:
-            data-source-properties:
-                cachePrepStmts: true
-                prepStmtCacheSize: 250
-                prepStmtCacheSqlLimit: 2048
-                useServerPrepStmts: true
-    jpa:
-        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-        database: MYSQL
-        # show-sql: true 
-        # commented to pass control to logback
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: true
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: true
-            hibernate.cache.region.factory_class: com.hazelcast.hibernate.HazelcastCacheRegionFactory
-            hibernate.cache.hazelcast.instance_name: acsmiservices
-            hibernate.cache.use_minimal_puts: true
-            hibernate.cache.hazelcast.use_lite_member: true
-    mail:
-        host: smtpout.europe.secureserver.net
-        port: 80
-        username: info@esilab.org
-        password: 9VstzQsA1L4kDGyl1oyA
-    messages:
-        cache-seconds: 1
-    thymeleaf:
-        cache: false
-    zipkin: # Use the "zipkin" Maven profile to have the Spring Cloud Zipkin dependencies
-        base-url: http://localhost:9411
-        enabled: false
-        locator:
-            discovery:
-                enabled: true
-
-liquibase:
-    contexts: dev
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias acsmiservices -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 8443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: acsmiservices
-# ===================================================================
-server:
-    port: 8083
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-    cache: # Cache configuration
-        hazelcast: # Hazelcast distributed cache
-            time-to-live-seconds: 3600
-            backup-count: 1
-    # CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API
-    cors:
-        allowed-origins: "*"
-        allowed-methods: GET, PUT, POST, DELETE, OPTIONS
-        allowed-headers: "*"
-        exposed-headers:
-        allow-credentials: true
-        max-age: 1800
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: acsmiservices@localhost
-        base-url: http://127.0.0.1:8083
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite: # Use the "graphite" Maven profile to have the Graphite dependencies
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: acsmiservices
-        prometheus: # Use the "prometheus" Maven profile to have the Prometheus dependencies
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-prod.yml
deleted file mode 100644
index 730c356ebbc264cf43407a63a25d6fbd17799736..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,151 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "prod" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    instance:
-        prefer-ip-address: true
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/
-
-spring:
-    devtools:
-        restart:
-            enabled: false
-        livereload:
-            enabled: false
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:mysql://localhost:3306/acsmiservices?useUnicode=true&characterEncoding=utf8&useSSL=false
-        username: root
-        password:
-        hikari:
-            data-source-properties:
-                cachePrepStmts: true
-                prepStmtCacheSize: 250
-                prepStmtCacheSqlLimit: 2048
-                useServerPrepStmts: true
-    jpa:
-        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-        database: MYSQL
-        show-sql: false
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: true
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: false
-            hibernate.cache.region.factory_class: com.hazelcast.hibernate.HazelcastCacheRegionFactory
-            hibernate.cache.hazelcast.instance_name: acsmiservices
-            hibernate.cache.use_minimal_puts: true
-            hibernate.cache.hazelcast.use_lite_member: true
-    mail:
-        host: localhost
-        port: 25
-        username:
-        password:
-    thymeleaf:
-        cache: true
-    zipkin: # Use the "zipkin" Maven profile to have the Spring Cloud Zipkin dependencies
-        base-url: http://localhost:9411
-        enabled: false
-        locator:
-            discovery:
-                enabled: true
-
-liquibase:
-    contexts: prod
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias acsmiservices -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: acsmiservices
-# ===================================================================
-server:
-    port: 8081
-    compression:
-        enabled: true
-        mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json
-        min-response-size: 1024
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-        cache: # Used by the CachingHttpHeadersFilter
-            timeToLiveInDays: 1461
-    cache: # Cache configuration
-        hazelcast: # Hazelcast distributed cache
-            time-to-live-seconds: 3600
-            backup-count: 1
-    security:
-        authentication:
-            jwt:
-                secret: 38b9cc1a1fccdd77db647dcb9717c340fafdea06
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: acsmiservices@localhost
-        base-url: http://my-server-url-to-change # Modify according to your server's URL
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite:
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: acsmiservices
-        prometheus:
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application.yml
deleted file mode 100644
index 239cdf5dc051b710f6afbdfb038800c10dc604c0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration will be overridden by the Spring profile you use,
-# for example application-dev.yml if you use the "dev" profile.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    client:
-        enabled: true
-        healthcheck:
-            enabled: true
-        fetch-registry: true
-        register-with-eureka: true
-        instance-info-replication-interval-seconds: 10
-        registry-fetch-interval-seconds: 10
-    instance:
-        appname: acsmiservices
-        instanceId: acsmiservices:${spring.application.instance-id:${random.value}}
-        lease-renewal-interval-in-seconds: 5
-        lease-expiration-duration-in-seconds: 10
-        status-page-url-path: ${management.context-path}/info
-        health-check-url-path: ${management.context-path}/health
-        metadata-map:
-            zone: primary # This is needed for the load balancer
-            profile: ${spring.profiles.active}
-            version: ${info.project.version}
-ribbon:
-    eureka:
-        enabled: true
-# See https://github.com/Netflix/Hystrix/wiki/Configuration
-#hystrix:
-#    command:
-#        default:
-#            execution:
-#                isolation:
-#                    thread:
-#                        timeoutInMilliseconds: 10000
-
-management:
-    security:
-        roles: ADMIN
-    context-path: /management
-    health:
-        mail:
-            enabled: false # When using the MailService, configure an SMTP server and set this to true
-spring:
-    application:
-        name: acsmiservices
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    jpa:
-        open-in-view: false
-        hibernate:
-            ddl-auto: none
-            naming:
-                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
-                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
-    messages:
-        basename: i18n/messages
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-security:
-    basic:
-        enabled: false
-
-server:
-    session:
-        cookie:
-            http-only: true
-
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    async:
-        core-pool-size: 2
-        max-pool-size: 50
-        queue-capacity: 10000
-    # By default CORS is disabled. Uncomment to enable.
-    #cors:
-        #allowed-origins: "*"
-        #allowed-methods: GET, PUT, POST, DELETE, OPTIONS
-        #allowed-headers: "*"
-        #exposed-headers:
-        #allow-credentials: true
-        #max-age: 1800
-    mail:
-        from: acsmi@localhost
-    swagger:
-        default-include-pattern: /api/.*
-        title: acsmiservices API
-        description: acsmiservices API documentation
-        version: 0.0.1
-        terms-of-service-url:
-        contact-name:
-        contact-url:
-        contact-email:
-        license:
-        license-url:
-    ribbon:
-        display-on-active-profiles: dev
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap-prod.yml
deleted file mode 100644
index 623c04aa16066b2d525c298b66b01d445bb7aa8d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap-prod.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "prod" profile
-# ===================================================================
-
-spring:
-    cloud:
-        config:
-            fail-fast: true
-            retry:
-                initial-interval: 1000
-                max-interval: 2000
-                max-attempts: 100
-            uri: http://admin:${jhipster.registry.password}@localhost:8761/config
-            # name of the config server's property source (file.yml) that we want to use
-            name: acsmiservices
-            profile: prod # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-jhipster:
-    registry:
-        password: admin
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap.yml
deleted file mode 100644
index b20458c074f6c5e13fea4ac326827341c6a82313..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/bootstrap.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "dev" profile
-# In prod profile, properties will be overwriten by the ones defined in bootstrap-prod.yml
-# ===================================================================
-
-jhipster:
-    registry:
-        password: admin
-
-spring:
-    application:
-        name: acsmiservices
-    profiles:
-        # The commented value for `active` can be replaced with valid Spring profiles to load.
-        # Otherwise, it will be filled in by maven when building the WAR file
-        # Either way, it can be overridden by `--spring.profiles.active` value passed in the commandline or `-Dspring.profiles.active` set in `JAVA_OPTS`
-        active: #spring.profiles.active#
-    cloud:
-        config:
-            fail-fast: false # if not in "prod" profile, do not force to use Spring Cloud Config
-            uri: http://admin:${jhipster.registry.password}@localhost:8761/config
-            # name of the config server's property source (file.yml) that we want to use
-            name: acsmiservices
-            profile: dev # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-info:
-    project:
-        version: #project.version#
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-dev.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-dev.yml
deleted file mode 100644
index 815f83fcc8ade910e56f343865bb5bcf6ac51926..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-dev.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-username: system
-rememberMe: true
-password: system
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-prod.yml
deleted file mode 100644
index 815f83fcc8ade910e56f343865bb5bcf6ac51926..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/credentials-prod.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-username: system
-rememberMe: true
-password: system
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-dev.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-dev.yml
deleted file mode 100644
index 2047df9f57631f32997dbf19c62fa1f167792398..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-dev.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-url: http://influxdb.backend.integration.acsmi.esilab.org/write?db=
-database: test
-repeat: 6
-delay: 500
-interval: 10000
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-prod.yml
deleted file mode 100644
index 2047df9f57631f32997dbf19c62fa1f167792398..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/influxdb-prod.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-url: http://influxdb.backend.integration.acsmi.esilab.org/write?db=
-database: test
-repeat: 6
-delay: 500
-interval: 10000
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
deleted file mode 100644
index 2a1ee4d6bf36416a171840962e91f1ba8189e1f6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <!--
-        JHipster core tables.
-        The initial schema has the '00000000000001' id, so that it is over-written if we re-generate it.
-    -->
-    <changeSet id="00000000000001" author="jhipster">
-        <createTable tableName="jhi_persistent_audit_event">
-            <column name="event_id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            <column name="principal" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            <column name="event_date" type="timestamp"/>
-            <column name="event_type" type="varchar(255)"/>
-        </createTable>
-
-        <createTable tableName="jhi_persistent_audit_evt_data">
-            <column name="event_id" type="bigint">
-                <constraints nullable="false"/>
-            </column>
-            <column name="name" type="varchar(150)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="value" type="varchar(255)"/>
-        </createTable>
-        <addPrimaryKey columnNames="event_id, name" tableName="jhi_persistent_audit_evt_data"/>
-
-        <createIndex indexName="idx_persistent_audit_event"
-                     tableName="jhi_persistent_audit_event"
-                     unique="false">
-            <column name="principal" type="varchar(50)"/>
-            <column name="event_date" type="timestamp"/>
-        </createIndex>
-
-        <createIndex indexName="idx_persistent_audit_evt_data"
-                     tableName="jhi_persistent_audit_evt_data"
-                     unique="false">
-            <column name="event_id" type="bigint"/>
-        </createIndex>
-
-        <addForeignKeyConstraint baseColumnNames="event_id"
-                                 baseTableName="jhi_persistent_audit_evt_data"
-                                 constraintName="fk_evt_pers_audit_evt_data"
-                                 referencedColumnNames="event_id"
-                                 referencedTableName="jhi_persistent_audit_event"/>
-    </changeSet>
-
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_Service.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_Service.xml
deleted file mode 100644
index 243051d5640940abcc2555fd5ca738736012a1a2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_Service.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <property name="floatType" value="float4" dbms="postgresql, h2"/>
-    <property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
-
-    <!--
-        Added the entity Service.
-    -->
-    <changeSet id="20170523072708-1" author="jhipster">
-        <createTable tableName="service">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            <column name="servicename" type="varchar(70)">
-                <constraints nullable="false" />
-            </column>
-
-            <column name="serviceclass_id" type="bigint">
-                <constraints nullable="false" />
-            </column>
-            
-            <!--auditable columns-->
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-
-            <column name="last_modified_date" type="timestamp"/>
-            
-            <column name="deleted_date" type="timestamp">
-                <constraints nullable="true" />
-            </column>
-
-            <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
-        </createTable>
-        <dropDefaultValue tableName="service" columnName="deleted_date" columnDataType="datetime"/>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_constraints_Service.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_constraints_Service.xml
deleted file mode 100644
index 701772b2b6f0bacab4eb51d0db32de4243164e00..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170523072708_added_entity_constraints_Service.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
-    <!--
-        Added the constraints for entity Service.
-    -->
-    <changeSet id="20170523072708-2" author="jhipster">
-        
-        <addForeignKeyConstraint baseColumnNames="serviceclass_id"
-                                 baseTableName="service"
-                                 constraintName="fk_service_serviceclass_id"
-                                 referencedColumnNames="id"
-                                 referencedTableName="service_class"/>
-
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717105245_added_entity_ServiceClass.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717105245_added_entity_ServiceClass.xml
deleted file mode 100644
index cbd5299082438f3906de96213da148fae5111640..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717105245_added_entity_ServiceClass.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <property name="floatType" value="float4" dbms="postgresql, h2"/>
-    <property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
-
-    <!--
-        Added the entity ServiceClass.
-    -->
-    <changeSet id="20170717105245-1" author="jhipster">
-        <createTable tableName="service_class">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            
-            <column name="serviceclassname" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="editable" type="boolean">
-                <constraints nullable="false" />
-            </column>
-
-			<!--auditable columns-->
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-
-            <column name="last_modified_date" type="timestamp"/>
-
-			<column name="deleted_date" type="timestamp">
-                <constraints nullable="true" />
-            </column>
-
-            <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
-        </createTable>
-        <dropDefaultValue tableName="service_class" columnName="deleted_date" columnDataType="datetime"/>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717114231_added_entity_ServiceAttributeType.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717114231_added_entity_ServiceAttributeType.xml
deleted file mode 100644
index ef19b3c3d7257d3bdd5f194638b094ab61ffd3eb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717114231_added_entity_ServiceAttributeType.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <property name="floatType" value="float4" dbms="postgresql, h2"/>
-    <property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
-
-    <!--
-        Added the entity ServiceAttributeType.
-    -->
-    <changeSet id="20170717114231-1" author="jhipster">
-        <createTable tableName="service_attribute_type">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            
-            <column name="serviceattributetypename" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="datatype" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="mandatoryenumeration" type="boolean">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="enumerationvalues" type="text">
-                <constraints nullable="true" />
-            </column>
-
-			<!--auditable columns-->
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-
-            <column name="last_modified_date" type="timestamp"/>
-
-			<column name="deleted_date" type="timestamp">
-                <constraints nullable="true" />
-            </column>
-
-            <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
-        </createTable>
-        <dropDefaultValue tableName="service_attribute_type" columnName="deleted_date" columnDataType="datetime"/>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717115247_added_entity_ServiceAttributeValue.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717115247_added_entity_ServiceAttributeValue.xml
deleted file mode 100644
index 5dc7e7986bb42d865d3d8bb7694ba7c6d549c8d4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170717115247_added_entity_ServiceAttributeValue.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <property name="floatType" value="float4" dbms="postgresql, h2"/>
-    <property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
-
-    <!--
-        Added the entity ServiceAttributeValue.
-    -->
-    <changeSet id="20170717115247-1" author="jhipster">
-        <createTable tableName="service_attribute_value">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            
-            <column name="serviceattributevalue" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="service_id" type="bigint">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="serviceattributetype_id" type="bigint">
-                <constraints nullable="false" />
-            </column>
-
-			<!--auditable columns-->
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-
-            <column name="last_modified_date" type="timestamp"/>
-
-			<column name="deleted_date" type="timestamp">
-                <constraints nullable="true" />
-            </column>
-
-            <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
-        </createTable>
-        <dropDefaultValue tableName="service_attribute_value" columnName="deleted_date" columnDataType="datetime"/>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170718105315_added_entity_ServiceClassTypicalAttribute.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170718105315_added_entity_ServiceClassTypicalAttribute.xml
deleted file mode 100644
index e91e6ff24a4e7e7eaa75042a05368c71d8ed88ba..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/changelog/20170718105315_added_entity_ServiceClassTypicalAttribute.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <property name="floatType" value="float4" dbms="postgresql, h2"/>
-    <property name="floatType" value="float" dbms="mysql, oracle, mssql"/>
-
-    <!--
-        Added the entity ServiceClassTypicalAttribute
-    -->
-    <changeSet id="20170718105315-1" author="jhipster">
-        <createTable tableName="service_class_typical_attribute">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            
-            <column name="weight" type="integer">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="mandatory" type="boolean">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="serviceclass_id" type="bigint">
-                <constraints nullable="false" />
-            </column>
-            
-            <column name="serviceattributetype_id" type="bigint">
-                <constraints nullable="false" />
-            </column>
-
-			<!--auditable columns-->
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-
-            <column name="last_modified_date" type="timestamp"/>
-
-			<column name="deleted_date" type="timestamp">
-                <constraints nullable="true" />
-            </column>
-
-            <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
-        </createTable>
-        <dropDefaultValue tableName="service_class_typical_attribute" columnName="deleted_date" columnDataType="datetime"/>
-        
-    </changeSet>
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/master.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/master.xml
deleted file mode 100644
index 816b959cf2a3aa4ea3754628fdfdb4da4b9af6cd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/config/liquibase/master.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
-
-    <include file="classpath:config/liquibase/changelog/00000000000000_initial_schema.xml" relativeToChangelogFile="false"/>
-    <include file="classpath:config/liquibase/changelog/20170523072708_added_entity_Service.xml" relativeToChangelogFile="false"/>
-    <include file="classpath:config/liquibase/changelog/20170717105245_added_entity_ServiceClass.xml" relativeToChangelogFile="false"/>
-    <include file="classpath:config/liquibase/changelog/20170717114231_added_entity_ServiceAttributeType.xml" relativeToChangelogFile="false"/>
-    <include file="classpath:config/liquibase/changelog/20170717115247_added_entity_ServiceAttributeValue.xml" relativeToChangelogFile="false"/>
-    <include file="classpath:config/liquibase/changelog/20170718105315_added_entity_ServiceClassTypicalAttribute.xml" relativeToChangelogFile="false"/>
-    <!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here -->
-    <include file="classpath:config/liquibase/changelog/20170523072708_added_entity_constraints_Service.xml" relativeToChangelogFile="false"/>
-    <!-- jhipster-needle-liquibase-add-constraints-changelog - JHipster will add liquibase constraints changelogs here -->
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages.properties
deleted file mode 100644
index 040c0cf61ba5547c37c9c668f116741509c429da..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Error page
-error.title=Your request cannot be processed
-error.subtitle=Sorry, an error has occurred.
-error.status=Status:
-error.message=Message:
-
-# Activation email
-email.serviceActivation.title=acsmiservices account activation
-email.activation.greeting=Dear {0}
-email.activation.text1=Your acsmiservices account has been created, please click on the URL below to activate it:
-email.activation.text2=Regards,
-email.signature=acsmiservices Team.
-
-# Creation email
-email.creation.text1=Your acsmiservices account has been created, please click on the URL below to access it:
-
-# Reset email
-email.reset.title=acsmiservices password reset
-email.reset.greeting=Dear {0}
-email.reset.text1=For your acsmiservices account a password reset was requested, please click on the URL below to reset it:
-email.reset.text2=Regards,
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_en.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_en.properties
deleted file mode 100644
index 16e6888d0d9bb30121fdf80eaafe04b22266f6a1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_en.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# Error page
-error.title=Your request cannot be processed
-error.subtitle=Sorry, an error has occurred.
-error.status=Status:
-error.message=Message:
-
-# Activation email
-email.serviceActivation.title=Service activated
-email.serviceActivation.greeting=Dear {0}
-email.serviceActivation.text1="{0}" service has been activated.
-email.serviceActivation.text2=Regards,
-email.signature=C4E Team
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_es.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_es.properties
deleted file mode 100644
index ccdbe9a0142689a02407999f977cc2e00fb42cba..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_es.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# Error page
-error.title=Su pedido no puede ser procesado
-error.subtitle=Lo sentimos, ha ocurrido un error.
-error.status=Estado:
-error.message=Mensaje:
-
-# Activation email
-email.serviceActivation.title=Servicio activado
-email.serviceActivation.greeting=Estimado {0}
-email.serviceActivation.text1=El servicio "{0}" ha sido activado.
-email.serviceActivation.text2=Un saludo,
-email.signature=El equipo de C4E
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_it.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_it.properties
deleted file mode 100644
index 60645b78afd7941805bd01745eeea2afcb567078..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/i18n/messages_it.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# Error page
-error.title=La tua richiesta non può essere processata
-error.subtitle= E' stato riscontrato un errore.
-error.status=Stato:
-error.message=Messaggio:
-
-# Activation email
-email.serviceActivation.title=Servizio attivo
-email.serviceActivation.greeting=Caro {0}
-email.serviceActivation.text1=Servizio "{0}" � stato attivato.
-email.serviceActivation.text2=Saluti,
-email.signature=C4E
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/logback-spring.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/logback-spring.xml
deleted file mode 100644
index 090c2c1ee9a915168e9fa22acf7f2a5a9749e2a9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-	<include resource="org/springframework/boot/logging/logback/base.xml" />
-
-	<!-- The FILE and ASYNC appenders are here as examples for a production 
-		configuration -->
-	<!-- <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
-		<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>90</maxHistory> 
-		</rollingPolicy> <encoder> <charset>utf-8</charset> <Pattern>%d %-5level 
-		[%thread] %logger{0}: %msg%n</Pattern> </encoder> </appender> <appender name="ASYNC" 
-		class="ch.qos.logback.classic.AsyncAppender"> <queueSize>512</queueSize> 
-		<appender-ref ref="FILE"/> </appender> -->
-
-	<logger name="eu.decideh2020.acsmi.backend.services.server"
-		level="#logback.loglevel#" />
-
-	<logger name="io.github.jhipster" level="DEBUG" />
-
-	<logger name="javax.activation" level="WARN" />
-	<logger name="javax.mail" level="WARN" />
-	<logger name="javax.xml.bind" level="WARN" />
-	<logger name="ch.qos.logback" level="WARN" />
-	<logger name="com.codahale.metrics" level="WARN" />
-	<logger name="com.netflix" level="WARN" />
-	<logger name="com.netflix.discovery" level="INFO" />
-	<logger name="com.ryantenney" level="WARN" />
-	<logger name="com.sun" level="WARN" />
-	<logger name="com.zaxxer" level="WARN" />
-	<logger name="io.undertow" level="WARN" />
-	<logger name="io.undertow.websockets.jsr" level="ERROR" />
-	<logger name="org.apache" level="WARN" />
-	<logger name="org.apache.catalina.startup.DigesterFactory"
-		level="OFF" />
-	<logger name="org.bson" level="WARN" />
-	<logger name="org.hibernate.validator" level="WARN" />
-	<logger name="org.hibernate" level="WARN" />
-	<logger name="org.hibernate.ejb.HibernatePersistence" level="OFF" />
-	<logger name="org.springframework" level="WARN" />
-	<logger name="org.springframework.web" level="WARN" />
-	<logger name="org.springframework.security" level="WARN" />
-	<logger name="org.springframework.cache" level="WARN" />
-	<logger name="org.thymeleaf" level="WARN" />
-	<logger name="org.xnio" level="WARN" />
-	<logger name="springfox" level="WARN" />
-	<logger name="sun.rmi" level="WARN" />
-	<logger name="liquibase" level="WARN" />
-	<logger name="LiquibaseSchemaResolver" level="INFO" />
-	<logger name="sun.net.www" level="INFO" />
-	<logger name="sun.rmi.transport" level="WARN" />
-
-	<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-		<resetJUL>true</resetJUL>
-	</contextListener>
-
-	<root level="#logback.loglevel#">
-		<appender-ref ref="CONSOLE" />
-	</root>
-	<springProfile name="dev, staging">
-		<logger name="org.hibernate.SQL" level="DEBUG" /> <!-- set org.hibernate.SQL to DEBUG to see SQL statements -->
-		<logger name="org.hibernate.type" level="INFO" /> <!-- set org.hibernate.type to TRACE to see SQL parameters -->
-	</springProfile>
-	<springProfile name="prod">
-		<logger name="org.hibernate.SQL" level="INFO" /> <!-- set org.hibernate.SQL to DEBUG to see SQL statements -->
-		<logger name="org.hibernate.type" level="INFO" /> <!-- set org.hibernate.type to TRACE to see SQL parameters -->
-	</springProfile>
-	
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/mails/serviceActivationEmail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/mails/serviceActivationEmail.html
deleted file mode 100644
index 787981277ee6e6184c032da199206e992628ba86..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/mails/serviceActivationEmail.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-    <head>
-        <title th:text="#{email.serviceActivation.title}">Service activated</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    </head>
-    <body>
-        <p th:text="#{email.serviceActivation.greeting(${user.login})}">
-            Dear
-        </p>
-        <p th:text="#{email.serviceActivation.text1(${service.servicename})}">
-            Amazon S3 Min Frequent US East service has been activated.
-        </p>
-        <p>
-            <span th:text="#{email.serviceActivation.text2}">Regards, </span>
-            <br/>
-            <em th:text="#{email.signature}">C4E.</em>
-        </p>
-    </body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/static/index.html b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/static/index.html
deleted file mode 100644
index 476f82dd5af623a3d4cf60b6b5b5c5932e63fe58..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/static/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>JHipster microservice homepage</title>
-    <style>
-        ::-moz-selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        ::selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        html {
-            padding: 30px 10px;
-            font-size: 20px;
-            line-height: 1.4;
-            color: #737373;
-            background: #262c31;
-            -webkit-text-size-adjust: 100%;
-            -ms-text-size-adjust: 100%;
-        }
-
-        html,
-        input {
-            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-        }
-
-        body {
-            max-width: 1000px;
-            _width: 500px;
-            padding: 30px 20px 50px;
-            border: 1px solid #b3b3b3;
-            border-radius: 4px;
-            margin: 0 auto;
-            box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
-            background: #fcfcfc;
-        }
-
-        h1 {
-            margin: 0 10px;
-            font-size: 50px;
-            text-align: center;
-        }
-
-        h1 span {
-            color: #bbb;
-        }
-
-        h3 {
-            margin: 1.5em 0 0.5em;
-        }
-
-        p {
-            margin: 1em 0;
-        }
-
-        ul {
-            padding: 0 0 0 40px;
-            margin: 1em 0;
-        }
-
-        .container {
-            max-width: 800px;
-            _width: 380px;
-            margin: 0 auto;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1>Welcome, Java Hipster!</h1>
-
-    <p>This application is a microservice, which has been generated using <a href="https://jhipster.github.io/">JHipster</a>.</p>
-
-    <ul>
-        <li>It does not have a front-end. The front-end should be generated on a JHipster gateway</li>
-        <li>It is serving REST APIs, under the '/api' URLs.</li>
-        <li>Swagger documentation endpoint for those APIs is at <a href="/v2/api-docs">/v2/api-docs</a>, but if you want access to the full Swagger UI, you should use a JHipster gateway, which will serve as an API developer portal</li>
-    </ul>
-
-    <h2>
-        If you have any question on JHipster:
-    </h2>
-
-    <ul>
-        <li><a href="http://jhipster.github.io/" target="_blank">JHipster homepage</a></li>
-        <li><a href="http://stackoverflow.com/tags/jhipster/info" target="_blank">JHipster on Stack Overflow</a></li>
-        <li><a href="https://github.com/jhipster/generator-jhipster/issues?state=open" target="_blank">JHipster bug tracker</a></li>
-        <li><a href="https://gitter.im/jhipster/generator-jhipster" target="_blank">JHipster public chat room</a></li>
-        <li><a href="https://twitter.com/java_hipster" target="_blank">follow @java_hipster on Twitter</a></li>
-    </ul>
-
-    <p>
-        <span>If you like JHipster, don't forget to give us a star on</span> <a href="https://github.com/jhipster/generator-jhipster" target="_blank">Github</a>!
-    </p>
-
-</div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/templates/error.html b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/templates/error.html
deleted file mode 100644
index 08616bcf1ed255b12bafff55eaa816ac43da22f2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/main/resources/templates/error.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://www.thymeleaf.org ">
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    <title>Your request cannot be processed</title>
-    <style>
-        ::-moz-selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        ::selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        html {
-            padding: 30px 10px;
-            font-size: 20px;
-            line-height: 1.4;
-            color: #737373;
-            background: #f0f0f0;
-            -webkit-text-size-adjust: 100%;
-            -ms-text-size-adjust: 100%;
-        }
-
-        html,
-        input {
-            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-        }
-
-        body {
-            max-width: 500px;
-            _width: 500px;
-            padding: 30px 20px 50px;
-            border: 1px solid #b3b3b3;
-            border-radius: 4px;
-            margin: 0 auto;
-            box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
-            background: #fcfcfc;
-        }
-
-        h1 {
-            margin: 0 10px;
-            font-size: 50px;
-            text-align: center;
-        }
-
-        h1 span {
-            color: #bbb;
-        }
-
-        h3 {
-            margin: 1.5em 0 0.5em;
-        }
-
-        p {
-            margin: 1em 0;
-        }
-
-        ul {
-            padding: 0 0 0 40px;
-            margin: 1em 0;
-        }
-
-        .container {
-            max-width: 380px;
-            _width: 380px;
-            margin: 0 auto;
-        }
-
-        /* google search */
-
-        #goog-fixurl ul {
-            list-style: none;
-            padding: 0;
-            margin: 0;
-        }
-
-        #goog-fixurl form {
-            margin: 0;
-        }
-
-        #goog-wm-qt,
-        #goog-wm-sb {
-            border: 1px solid #bbb;
-            font-size: 16px;
-            line-height: normal;
-            vertical-align: top;
-            color: #444;
-            border-radius: 2px;
-        }
-
-        #goog-wm-qt {
-            width: 220px;
-            height: 20px;
-            padding: 5px;
-            margin: 5px 10px 0 0;
-            box-shadow: inset 0 1px 1px #ccc;
-        }
-
-        #goog-wm-sb {
-            display: inline-block;
-            height: 32px;
-            padding: 0 10px;
-            margin: 5px 0 0;
-            white-space: nowrap;
-            cursor: pointer;
-            background-color: #f5f5f5;
-            background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -ms-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -o-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            -webkit-appearance: none;
-            -moz-appearance: none;
-            appearance: none;
-            *overflow: visible;
-            *display: inline;
-            *zoom: 1;
-        }
-
-        #goog-wm-sb:hover,
-        #goog-wm-sb:focus {
-            border-color: #aaa;
-            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
-            background-color: #f8f8f8;
-        }
-
-        #goog-wm-qt:hover,
-        #goog-wm-qt:focus {
-            border-color: #105cb6;
-            outline: 0;
-            color: #222;
-        }
-
-        input::-moz-focus-inner {
-            padding: 0;
-            border: 0;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1 th:text="#{error.title}">Your request cannot be processed <span>:(</span></h1>
-
-    <p th:text="#{error.subtitle}">Sorry, an error has occurred.</p>
-
-    <span th:text="#{error.status}">Status:</span>&nbsp;<span th:text="${error}"></span>&nbsp;(<span th:text="${error}"></span>)<br/>
-    <span th:if="${!#strings.isEmpty(message)}">
-        <span th:text="#{error.message}">Message:</span>&nbsp;<span th:text="${message}"></span><br/>
-    </span>
-
-    <script th:inline="text">
-        /*<![CDATA[*/
-        var GOOG_FIXURL_LANG = '[[${#locale.language}]]', GOOG_FIXURL_SITE = location.host;
-        /*]]>*/
-    </script>
-    <script src="https://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
-</div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTest.java
deleted file mode 100644
index c2d276d20fc36024a9949e57ecbebc7ef63b1337..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTest.java
+++ /dev/null
@@ -1,562 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilter;
-import com.codahale.metrics.servlets.MetricsServlet;
-import com.hazelcast.config.Config;
-import com.hazelcast.core.*;
-import com.hazelcast.durableexecutor.DurableExecutorService;
-import com.hazelcast.logging.LoggingService;
-import com.hazelcast.mapreduce.JobTracker;
-import com.hazelcast.quorum.QuorumService;
-import com.hazelcast.ringbuffer.Ringbuffer;
-import com.hazelcast.transaction.*;
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import io.undertow.Undertow;
-import io.undertow.Undertow.Builder;
-import io.undertow.UndertowOptions;
-import org.junit.Before;
-import org.junit.Test;
-import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
-import org.springframework.http.HttpHeaders;
-import org.springframework.mock.env.MockEnvironment;
-import org.springframework.mock.web.MockServletContext;
-import org.springframework.test.util.ReflectionTestUtils;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.xnio.OptionMap;
-
-import javax.servlet.*;
-import java.util.*;
-import java.util.concurrent.ConcurrentMap;
-
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.*;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.options;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Unit tests for the WebConfigurer class.
- *
- * @see WebConfigurer
- */
-public class WebConfigurerTest {
-
-    private WebConfigurer webConfigurer;
-
-    private MockServletContext servletContext;
-
-    private MockEnvironment env;
-
-    private JHipsterProperties props;
-
-    private MetricRegistry metricRegistry;
-
-    @Before
-    public void setup() {
-        servletContext = spy(new MockServletContext());
-        doReturn(new MockFilterRegistration())
-            .when(servletContext).addFilter(anyString(), any(Filter.class));
-        doReturn(new MockServletRegistration())
-            .when(servletContext).addServlet(anyString(), any(Servlet.class));
-
-        env = new MockEnvironment();
-        props = new JHipsterProperties();
-
-        webConfigurer = new WebConfigurer(env, props, new MockHazelcastInstance());
-        metricRegistry = new MetricRegistry();
-        webConfigurer.setMetricRegistry(metricRegistry);
-    }
-
-    @Test
-    public void testStartUpProdServletContext() throws ServletException {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION);
-        webConfigurer.onStartup(servletContext);
-
-        assertThat(servletContext.getAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE)).isEqualTo(metricRegistry);
-        assertThat(servletContext.getAttribute(MetricsServlet.METRICS_REGISTRY)).isEqualTo(metricRegistry);
-        verify(servletContext).addFilter(eq("webappMetricsFilter"), any(InstrumentedFilter.class));
-        verify(servletContext).addServlet(eq("metricsServlet"), any(MetricsServlet.class));
-    }
-
-    @Test
-    public void testStartUpDevServletContext() throws ServletException {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT);
-        webConfigurer.onStartup(servletContext);
-
-        assertThat(servletContext.getAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE)).isEqualTo(metricRegistry);
-        assertThat(servletContext.getAttribute(MetricsServlet.METRICS_REGISTRY)).isEqualTo(metricRegistry);
-        verify(servletContext).addFilter(eq("webappMetricsFilter"), any(InstrumentedFilter.class));
-        verify(servletContext).addServlet(eq("metricsServlet"), any(MetricsServlet.class));
-    }
-
-    @Test
-    public void testCustomizeServletContainer() {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION);
-        UndertowEmbeddedServletContainerFactory container = new UndertowEmbeddedServletContainerFactory();
-        webConfigurer.customize(container);
-        assertThat(container.getMimeMappings().get("abs")).isEqualTo("audio/x-mpeg");
-        assertThat(container.getMimeMappings().get("html")).isEqualTo("text/html;charset=utf-8");
-        assertThat(container.getMimeMappings().get("json")).isEqualTo("text/html;charset=utf-8");
-
-        Builder builder = Undertow.builder();
-        container.getBuilderCustomizers().forEach(c -> c.customize(builder));
-        OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions");
-        assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isNull();
-    }
-
-    @Test
-    public void testUndertowHttp2Enabled() {
-        props.getHttp().setVersion(JHipsterProperties.Http.Version.V_2_0);
-        UndertowEmbeddedServletContainerFactory container = new UndertowEmbeddedServletContainerFactory();
-        webConfigurer.customize(container);
-        Builder builder = Undertow.builder();
-        container.getBuilderCustomizers().forEach(c -> c.customize(builder));
-        OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions");
-        assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isTrue();
-    }
-
-    @Test
-    public void testCorsFilterOnApiPath() throws Exception {
-        props.getCors().setAllowedOrigins(Collections.singletonList("*"));
-        props.getCors().setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
-        props.getCors().setAllowedHeaders(Collections.singletonList("*"));
-        props.getCors().setMaxAge(1800L);
-        props.getCors().setAllowCredentials(true);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            options("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com")
-                .header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "POST"))
-            .andExpect(status().isOk())
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "other.domain.com"))
-            .andExpect(header().string(HttpHeaders.VARY, "Origin"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET,POST,PUT,DELETE"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "1800"));
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "other.domain.com"));
-    }
-
-    @Test
-    public void testCorsFilterOnOtherPath() throws Exception {
-        props.getCors().setAllowedOrigins(Collections.singletonList("*"));
-        props.getCors().setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
-        props.getCors().setAllowedHeaders(Collections.singletonList("*"));
-        props.getCors().setMaxAge(1800L);
-        props.getCors().setAllowCredentials(true);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/test/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    @Test
-    public void testCorsFilterDeactivated() throws Exception {
-        props.getCors().setAllowedOrigins(null);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    @Test
-    public void testCorsFilterDeactivated2() throws Exception {
-        props.getCors().setAllowedOrigins(new ArrayList<>());
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    static class MockFilterRegistration implements FilterRegistration, FilterRegistration.Dynamic {
-
-        @Override
-        public void addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... servletNames) {
-
-        }
-
-        @Override
-        public Collection<String> getServletNameMappings() {
-            return null;
-        }
-
-        @Override
-        public void addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... urlPatterns) {
-
-        }
-
-        @Override
-        public Collection<String> getUrlPatternMappings() {
-            return null;
-        }
-
-        @Override
-        public void setAsyncSupported(boolean isAsyncSupported) {
-
-        }
-
-        @Override
-        public String getName() {
-            return null;
-        }
-
-        @Override
-        public String getClassName() {
-            return null;
-        }
-
-        @Override
-        public boolean setInitParameter(String name, String value) {
-            return false;
-        }
-
-        @Override
-        public String getInitParameter(String name) {
-            return null;
-        }
-
-        @Override
-        public Set<String> setInitParameters(Map<String, String> initParameters) {
-            return null;
-        }
-
-        @Override
-        public Map<String, String> getInitParameters() {
-            return null;
-        }
-    }
-
-    static class MockServletRegistration implements ServletRegistration, ServletRegistration.Dynamic {
-
-        @Override
-        public void setLoadOnStartup(int loadOnStartup) {
-
-        }
-
-        @Override
-        public Set<String> setServletSecurity(ServletSecurityElement constraint) {
-            return null;
-        }
-
-        @Override
-        public void setMultipartConfig(MultipartConfigElement multipartConfig) {
-
-        }
-
-        @Override
-        public void setRunAsRole(String roleName) {
-
-        }
-
-        @Override
-        public void setAsyncSupported(boolean isAsyncSupported) {
-
-        }
-
-        @Override
-        public Set<String> addMapping(String... urlPatterns) {
-            return null;
-        }
-
-        @Override
-        public Collection<String> getMappings() {
-            return null;
-        }
-
-        @Override
-        public String getRunAsRole() {
-            return null;
-        }
-
-        @Override
-        public String getName() {
-            return null;
-        }
-
-        @Override
-        public String getClassName() {
-            return null;
-        }
-
-        @Override
-        public boolean setInitParameter(String name, String value) {
-            return false;
-        }
-
-        @Override
-        public String getInitParameter(String name) {
-            return null;
-        }
-
-        @Override
-        public Set<String> setInitParameters(Map<String, String> initParameters) {
-            return null;
-        }
-
-        @Override
-        public Map<String, String> getInitParameters() {
-            return null;
-        }
-    }
-
-    public static class MockHazelcastInstance implements HazelcastInstance {
-
-        @Override
-        public String getName() {
-            return "HazelcastInstance";
-        }
-
-        @Override
-        public <E> IQueue<E> getQueue(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ITopic<E> getTopic(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ISet<E> getSet(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> IList<E> getList(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> IMap<K, V> getMap(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> ReplicatedMap<K, V> getReplicatedMap(String s) {
-            return null;
-        }
-
-        @Override
-        public JobTracker getJobTracker(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> MultiMap<K, V> getMultiMap(String s) {
-            return null;
-        }
-
-        @Override
-        public ILock getLock(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> Ringbuffer<E> getRingbuffer(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ITopic<E> getReliableTopic(String s) {
-            return null;
-        }
-
-        @Override
-        public Cluster getCluster() {
-            return null;
-        }
-
-        @Override
-        public Endpoint getLocalEndpoint() {
-            return null;
-        }
-
-        @Override
-        public IExecutorService getExecutorService(String s) {
-            return null;
-        }
-
-        @Override
-        public DurableExecutorService getDurableExecutorService(String s) {
-            return null;
-        }
-
-        @Override
-        public <T> T executeTransaction(TransactionalTask<T> transactionalTask) throws TransactionException {
-            return null;
-        }
-
-        @Override
-        public <T> T executeTransaction(TransactionOptions transactionOptions, TransactionalTask<T> transactionalTask) throws TransactionException {
-            return null;
-        }
-
-        @Override
-        public TransactionContext newTransactionContext() {
-            return null;
-        }
-
-        @Override
-        public TransactionContext newTransactionContext(TransactionOptions transactionOptions) {
-            return null;
-        }
-
-        @Override
-        public IdGenerator getIdGenerator(String s) {
-            return null;
-        }
-
-        @Override
-        public IAtomicLong getAtomicLong(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> IAtomicReference<E> getAtomicReference(String s) {
-            return null;
-        }
-
-        @Override
-        public ICountDownLatch getCountDownLatch(String s) {
-            return null;
-        }
-
-        @Override
-        public ISemaphore getSemaphore(String s) {
-            return null;
-        }
-
-        @Override
-        public Collection<DistributedObject> getDistributedObjects() {
-            return null;
-        }
-
-        @Override
-        public String addDistributedObjectListener(DistributedObjectListener distributedObjectListener) {
-            return null;
-        }
-
-        @Override
-        public boolean removeDistributedObjectListener(String s) {
-            return false;
-        }
-
-        @Override
-        public Config getConfig() {
-            return null;
-        }
-
-        @Override
-        public PartitionService getPartitionService() {
-            return null;
-        }
-
-        @Override
-        public QuorumService getQuorumService() {
-            return null;
-        }
-
-        @Override
-        public ClientService getClientService() {
-            return null;
-        }
-
-        @Override
-        public LoggingService getLoggingService() {
-            return null;
-        }
-
-        @Override
-        public LifecycleService getLifecycleService() {
-            return null;
-        }
-
-        @Override
-        public <T extends DistributedObject> T getDistributedObject(String s, String s1) {
-            return null;
-        }
-
-        @Override
-        public ConcurrentMap<String, Object> getUserContext() {
-            return null;
-        }
-
-        @Override
-        public HazelcastXAResource getXAResource() {
-            return null;
-        }
-
-        @Override
-        public ICacheManager getCacheManager() {
-            return null;
-        }
-
-        @Override
-        public void shutdown() {
-
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTestController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTestController.java
deleted file mode 100644
index 90f4324e723d5a0f1ab07592e747929c5221af6e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/config/WebConfigurerTestController.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.config;
-
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-public class WebConfigurerTestController {
-
-    @GetMapping("/api/test-cors")
-    public void testCorsOnApiPath() {
-    }
-
-    @GetMapping("/test/test-cors")
-    public void testCorsOnOtherPath() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/LogsResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/LogsResourceIntTest.java
deleted file mode 100644
index dd64e4f9111693d2eac01a7aec4b606a5512b8a5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/LogsResourceIntTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import eu.decideh2020.acsmi.backend.services.server.AcsmiservicesApp;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.vm.LoggerVM;
-import ch.qos.logback.classic.AsyncAppender;
-import ch.qos.logback.classic.LoggerContext;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the LogsResource REST controller.
- *
- * @see LogsResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiservicesApp.class)
-public class LogsResourceIntTest {
-
-    private MockMvc restLogsMockMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-
-        LogsResource logsResource = new LogsResource();
-        this.restLogsMockMvc = MockMvcBuilders
-            .standaloneSetup(logsResource)
-            .build();
-    }
-
-    @Test
-    public void getAllLogs()throws Exception {
-        restLogsMockMvc.perform(get("/management/logs"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void changeLogs()throws Exception {
-        LoggerVM logger = new LoggerVM();
-        logger.setLevel("INFO");
-        logger.setName("ROOT");
-
-        restLogsMockMvc.perform(put("/management/logs")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(logger)))
-            .andExpect(status().isNoContent());
-    }
-
-    @Test
-    public void testLogstashAppender() {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        assertThat(context.getLogger("ROOT").getAppender("ASYNC_LOGSTASH")).isInstanceOf(AsyncAppender.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ProfileInfoResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ProfileInfoResourceIntTest.java
deleted file mode 100644
index 1af95d24e462fb86b1e6031a88e3710b89a15b5b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ProfileInfoResourceIntTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import io.github.jhipster.config.JHipsterProperties;
-import eu.decideh2020.acsmi.backend.services.server.AcsmiservicesApp;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.core.env.Environment;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.mockito.Mockito.when;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the ProfileInfoResource REST controller.
- *
- * @see ProfileInfoResource
- **/
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiservicesApp.class)
-public class ProfileInfoResourceIntTest {
-
-    @Mock
-    private Environment environment;
-
-    @Mock
-    private JHipsterProperties jHipsterProperties;
-
-    private MockMvc restProfileMockMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        String mockProfile[] = {"test"};
-        JHipsterProperties.Ribbon ribbon = new JHipsterProperties.Ribbon();
-        ribbon.setDisplayOnActiveProfiles(mockProfile);
-        when(jHipsterProperties.getRibbon()).thenReturn(ribbon);
-
-        String activeProfiles[] = {"test"};
-        when(environment.getDefaultProfiles()).thenReturn(activeProfiles);
-        when(environment.getActiveProfiles()).thenReturn(activeProfiles);
-
-        ProfileInfoResource profileInfoResource = new ProfileInfoResource(environment, jHipsterProperties);
-        this.restProfileMockMvc = MockMvcBuilders
-            .standaloneSetup(profileInfoResource)
-            .build();
-    }
-
-    @Test
-    public void getProfileInfoWithRibbon() throws Exception {
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void getProfileInfoWithoutRibbon() throws Exception {
-        JHipsterProperties.Ribbon ribbon = new JHipsterProperties.Ribbon();
-        ribbon.setDisplayOnActiveProfiles(null);
-        when(jHipsterProperties.getRibbon()).thenReturn(ribbon);
-
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void getProfileInfoWithoutActiveProfiles() throws Exception {
-        String emptyProfile[] = {};
-        when(environment.getDefaultProfiles()).thenReturn(emptyProfile);
-        when(environment.getActiveProfiles()).thenReturn(emptyProfile);
-
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ServiceResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ServiceResourceIntTest.java
deleted file mode 100644
index a563c0ac319e8649eb7fbdd0f401515ab3e55a42..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/ServiceResourceIntTest.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import static eu.decideh2020.acsmi.backend.services.server.web.rest.TestUtil.sameInstant;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.Matchers.hasItem;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import java.time.Instant;
-import java.time.ZoneId;
-import java.time.ZoneOffset;
-import java.time.ZonedDateTime;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.transaction.annotation.Transactional;
-
-import eu.decideh2020.acsmi.backend.services.server.AcsmiservicesApp;
-import eu.decideh2020.acsmi.backend.services.server.domain.Service;
-import eu.decideh2020.acsmi.backend.services.server.domain.enumeration.ServiceClass;
-import eu.decideh2020.acsmi.backend.services.server.repository.ServiceRepository;
-import eu.decideh2020.acsmi.backend.services.server.web.rest.errors.ExceptionTranslator;
-/**
- * Test class for the ServiceResource REST controller.
- *
- * @see ServiceResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiservicesApp.class)
-public class ServiceResourceIntTest {
-
-    private static final String DEFAULT_SERVICEDESCRIPTION = "AAAAAAAAAA";
-
-    private static final ServiceClass DEFAULT_SERVICECLASS = ServiceClass.DDBB;
-
-    private static final ZonedDateTime DEFAULT_DELETEDDATE = ZonedDateTime.ofInstant(Instant.ofEpochMilli(0L), ZoneOffset.UTC);
-    private static final ZonedDateTime UPDATED_DELETEDDATE = ZonedDateTime.now(ZoneId.systemDefault()).withNano(0);
-
-    @Autowired
-    private ServiceRepository serviceRepository;
-
-    @Autowired
-    private MappingJackson2HttpMessageConverter jacksonMessageConverter;
-
-    @Autowired
-    private PageableHandlerMethodArgumentResolver pageableArgumentResolver;
-
-    @Autowired
-    private ExceptionTranslator exceptionTranslator;
-
-    @Autowired
-    private EntityManager em;
-
-    private MockMvc restServiceMockMvc;
-
-    private Service service;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        /*
-        ServiceResource serviceResource = new ServiceResource(serviceRepository);
-        this.restServiceMockMvc = MockMvcBuilders.standaloneSetup(serviceResource)
-            .setCustomArgumentResolvers(pageableArgumentResolver)
-            .setControllerAdvice(exceptionTranslator)
-            .setMessageConverters(jacksonMessageConverter).build();
-		*/
-    }
-
-    /**
-     * Create an entity for this test.
-     *
-     * This is a static method, as tests for other entities might also need it,
-     * if they test an entity which requires the current entity.
-     */
-    public static Service createEntity(EntityManager em) {
-        Service service = new Service()
-            .deleteddate(DEFAULT_DELETEDDATE);
-        return service;
-    }
-
-    @Before
-    public void initTest() {
-        service = createEntity(em);
-    }
-
-    @Test
-    @Transactional
-    public void createService() throws Exception {
-        int databaseSizeBeforeCreate = serviceRepository.findAll().size();
-
-        // Create the Service
-        restServiceMockMvc.perform(post("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(service)))
-            .andExpect(status().isCreated());
-
-        // Validate the Service in the database
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeCreate + 1);
-        Service testService = serviceList.get(serviceList.size() - 1);
-        assertThat(testService.getDeleteddate()).isEqualTo(DEFAULT_DELETEDDATE);
-    }
-
-    @Test
-    @Transactional
-    public void createServiceWithExistingId() throws Exception {
-        int databaseSizeBeforeCreate = serviceRepository.findAll().size();
-
-        // Create the Service with an existing ID
-        service.setId(1L);
-
-        // An entity with an existing ID cannot be created, so this API call must fail
-        restServiceMockMvc.perform(post("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(service)))
-            .andExpect(status().isBadRequest());
-
-        // Validate the Alice in the database
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeCreate);
-    }
-
-    @Test
-    @Transactional
-    public void checkServicedescriptionIsRequired() throws Exception {
-        int databaseSizeBeforeTest = serviceRepository.findAll().size();
-
-        // Create the Service, which fails.
-
-        restServiceMockMvc.perform(post("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(service)))
-            .andExpect(status().isBadRequest());
-
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeTest);
-    }
-
-    @Test
-    @Transactional
-    public void checkServiceclassIsRequired() throws Exception {
-        int databaseSizeBeforeTest = serviceRepository.findAll().size();
-        
-        // Create the Service, which fails.
-
-        restServiceMockMvc.perform(post("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(service)))
-            .andExpect(status().isBadRequest());
-
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeTest);
-    }
-
-    @Test
-    @Transactional
-    public void getAllServices() throws Exception {
-        // Initialize the database
-        serviceRepository.saveAndFlush(service);
-
-        // Get all the serviceList
-        restServiceMockMvc.perform(get("/api/services?sort=id,desc"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.[*].id").value(hasItem(service.getId().intValue())))
-            .andExpect(jsonPath("$.[*].servicedescription").value(hasItem(DEFAULT_SERVICEDESCRIPTION.toString())))
-            .andExpect(jsonPath("$.[*].serviceclass").value(hasItem(DEFAULT_SERVICECLASS.toString())))
-            .andExpect(jsonPath("$.[*].deleteddate").value(hasItem(sameInstant(DEFAULT_DELETEDDATE))));
-    }
-
-    @Test
-    @Transactional
-    public void getService() throws Exception {
-        // Initialize the database
-        serviceRepository.saveAndFlush(service);
-
-        // Get the service
-        restServiceMockMvc.perform(get("/api/services/{id}", service.getId()))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.id").value(service.getId().intValue()))
-            .andExpect(jsonPath("$.servicedescription").value(DEFAULT_SERVICEDESCRIPTION.toString()))
-            .andExpect(jsonPath("$.serviceclass").value(DEFAULT_SERVICECLASS.toString()))
-            .andExpect(jsonPath("$.deleteddate").value(sameInstant(DEFAULT_DELETEDDATE)));
-    }
-
-    @Test
-    @Transactional
-    public void getNonExistingService() throws Exception {
-        // Get the service
-        restServiceMockMvc.perform(get("/api/services/{id}", Long.MAX_VALUE))
-            .andExpect(status().isNotFound());
-    }
-
-    @Test
-    @Transactional
-    public void updateService() throws Exception {
-        // Initialize the database
-        serviceRepository.saveAndFlush(service);
-        int databaseSizeBeforeUpdate = serviceRepository.findAll().size();
-
-        // Update the service
-        Service updatedService = serviceRepository.findOne(service.getId());
-        updatedService
-            .deleteddate(UPDATED_DELETEDDATE);
-
-        restServiceMockMvc.perform(put("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(updatedService)))
-            .andExpect(status().isOk());
-
-        // Validate the Service in the database
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeUpdate);
-        Service testService = serviceList.get(serviceList.size() - 1);
-        assertThat(testService.getDeleteddate()).isEqualTo(UPDATED_DELETEDDATE);
-    }
-
-    @Test
-    @Transactional
-    public void updateNonExistingService() throws Exception {
-        int databaseSizeBeforeUpdate = serviceRepository.findAll().size();
-
-        // Create the Service
-
-        // If the entity doesn't have an ID, it will be created instead of just being updated
-        restServiceMockMvc.perform(put("/api/services")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(service)))
-            .andExpect(status().isCreated());
-
-        // Validate the Service in the database
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeUpdate + 1);
-    }
-
-    @Test
-    @Transactional
-    public void deleteService() throws Exception {
-        // Initialize the database
-        serviceRepository.saveAndFlush(service);
-        int databaseSizeBeforeDelete = serviceRepository.findAll().size();
-
-        // Get the service
-        restServiceMockMvc.perform(delete("/api/services/{id}", service.getId())
-            .accept(TestUtil.APPLICATION_JSON_UTF8))
-            .andExpect(status().isOk());
-
-        // Validate the database is empty
-        List<Service> serviceList = serviceRepository.findAll();
-        assertThat(serviceList).hasSize(databaseSizeBeforeDelete - 1);
-    }
-
-    @Test
-    @Transactional
-    public void equalsVerifier() throws Exception {
-        TestUtil.equalsVerifier(Service.class);
-        Service service1 = new Service();
-        service1.setId(1L);
-        Service service2 = new Service();
-        service2.setId(service1.getId());
-        assertThat(service1).isEqualTo(service2);
-        service2.setId(2L);
-        assertThat(service1).isNotEqualTo(service2);
-        service1.setId(null);
-        assertThat(service1).isNotEqualTo(service2);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/TestUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/TestUtil.java
deleted file mode 100644
index 0042f0c11fd9872b581e9f0be2d1877c80f6c4fa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/TestUtil.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeDiagnosingMatcher;
-import org.springframework.http.MediaType;
-
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeParseException;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Utility class for testing REST controllers.
- */
-public class TestUtil {
-
-    /** MediaType for JSON UTF8 */
-    public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(
-            MediaType.APPLICATION_JSON.getType(),
-            MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));
-
-    /**
-     * Convert an object to JSON byte array.
-     *
-     * @param object
-     *            the object to convert
-     * @return the JSON byte array
-     * @throws IOException
-     */
-    public static byte[] convertObjectToJsonBytes(Object object)
-            throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
-
-        JavaTimeModule module = new JavaTimeModule();
-        mapper.registerModule(module);
-
-        return mapper.writeValueAsBytes(object);
-    }
-
-    /**
-     * Create a byte array with a specific size filled with specified data.
-     *
-     * @param size the size of the byte array
-     * @param data the data to put in the byte array
-     * @return the JSON byte array
-     */
-    public static byte[] createByteArray(int size, String data) {
-        byte[] byteArray = new byte[size];
-        for (int i = 0; i < size; i++) {
-            byteArray[i] = Byte.parseByte(data, 2);
-        }
-        return byteArray;
-    }
-
-    /**
-     * A matcher that tests that the examined string represents the same instant as the reference datetime.
-     */
-    public static class ZonedDateTimeMatcher extends TypeSafeDiagnosingMatcher<String> {
-
-        private final ZonedDateTime date;
-
-        public ZonedDateTimeMatcher(ZonedDateTime date) {
-            this.date = date;
-        }
-
-        @Override
-        protected boolean matchesSafely(String item, Description mismatchDescription) {
-            try {
-                if (!date.isEqual(ZonedDateTime.parse(item))) {
-                    mismatchDescription.appendText("was ").appendValue(item);
-                    return false;
-                }
-                return true;
-            } catch (DateTimeParseException e) {
-                mismatchDescription.appendText("was ").appendValue(item)
-                    .appendText(", which could not be parsed as a ZonedDateTime");
-                return false;
-            }
-
-        }
-
-        @Override
-        public void describeTo(Description description) {
-            description.appendText("a String representing the same Instant as ").appendValue(date);
-        }
-    }
-
-    /**
-     * Creates a matcher that matches when the examined string reprensents the same instant as the reference datetime
-     * @param date the reference datetime against which the examined string is checked
-     */
-    public static ZonedDateTimeMatcher sameInstant(ZonedDateTime date) {
-        return new ZonedDateTimeMatcher(date);
-    }
-
-    /**
-     * Verifies the equals/hashcode contract on the domain object.
-     */
-    @SuppressWarnings("unchecked")
-    public static void equalsVerifier(Class clazz) throws Exception {
-        Object domainObject1 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1.toString()).isNotNull();
-        assertThat(domainObject1).isEqualTo(domainObject1);
-        assertThat(domainObject1.hashCode()).isEqualTo(domainObject1.hashCode());
-        // Test with an instance of another class
-        Object testOtherObject = new Object();
-        assertThat(domainObject1).isNotEqualTo(testOtherObject);
-        assertThat(domainObject1).isNotEqualTo(null);
-        // Test with an instance of the same class
-        Object domainObject2 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1).isNotEqualTo(domainObject2);
-        // HashCodes are equals because the objects are not persisted yet
-        assertThat(domainObject1.hashCode()).isEqualTo(domainObject2.hashCode());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorIntTest.java
deleted file mode 100644
index eb50f5088551cd64aa993cbadf43c839e4873f0a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorIntTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import eu.decideh2020.acsmi.backend.services.server.AcsmiservicesApp;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the ExceptionTranslator controller advice.
- *
- * @see ExceptionTranslator
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiservicesApp.class)
-public class ExceptionTranslatorIntTest {
-
-    @Autowired
-    private ExceptionTranslatorTestController controller;
-
-    @Autowired
-    private ExceptionTranslator exceptionTranslator;
-
-    private MockMvc mockMvc;
-
-    @Before
-    public void setup() {
-        mockMvc = MockMvcBuilders.standaloneSetup(controller)
-            .setControllerAdvice(exceptionTranslator)
-            .build();
-    }
-
-    @Test
-    public void testConcurrencyFailure() throws Exception {
-        mockMvc.perform(get("/test/concurrency-failure"))
-            .andExpect(status().isConflict())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_CONCURRENCY_FAILURE));
-    }
-
-    @Test
-    public void testMethodArgumentNotValid() throws Exception {
-         mockMvc.perform(post("/test/method-argument").content("{}").contentType(MediaType.APPLICATION_JSON))
-             .andExpect(status().isBadRequest())
-             .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_VALIDATION))
-             .andExpect(jsonPath("$.fieldErrors.[0].objectName").value("testDTO"))
-             .andExpect(jsonPath("$.fieldErrors.[0].field").value("test"))
-             .andExpect(jsonPath("$.fieldErrors.[0].message").value("NotNull"));
-    }
-
-    @Test
-    public void testParameterizedError() throws Exception {
-        mockMvc.perform(get("/test/parameterized-error"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("test parameterized error"))
-            .andExpect(jsonPath("$.params.param0").value("param0_value"))
-            .andExpect(jsonPath("$.params.param1").value("param1_value"));
-    }
-
-    @Test
-    public void testParameterizedError2() throws Exception {
-        mockMvc.perform(get("/test/parameterized-error2"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("test parameterized error"))
-            .andExpect(jsonPath("$.params.foo").value("foo_value"))
-            .andExpect(jsonPath("$.params.bar").value("bar_value"));
-    }
-
-    @Test
-    public void testAccessDenied() throws Exception {
-        mockMvc.perform(get("/test/access-denied"))
-            .andExpect(status().isForbidden())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_ACCESS_DENIED))
-            .andExpect(jsonPath("$.description").value("test access denied!"));
-    }
-
-    @Test
-    public void testMethodNotSupported() throws Exception {
-        mockMvc.perform(post("/test/access-denied"))
-            .andExpect(status().isMethodNotAllowed())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_METHOD_NOT_SUPPORTED))
-            .andExpect(jsonPath("$.description").value("Request method 'POST' not supported"));
-    }
-
-    @Test
-    public void testExceptionWithResponseStatus() throws Exception {
-        mockMvc.perform(get("/test/response-status"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("error.400"))
-            .andExpect(jsonPath("$.description").value("test response status"));
-    }
-
-    @Test
-    public void testInternalServerError() throws Exception {
-        mockMvc.perform(get("/test/internal-server-error"))
-            .andExpect(status().isInternalServerError())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_INTERNAL_SERVER_ERROR))
-            .andExpect(jsonPath("$.description").value("Internal server error"));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorTestController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorTestController.java
deleted file mode 100644
index 52245503fdbb9bf40a8ebd09b3b6e9b89f043f7e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/java/eu/decideh2020/acsmi/backend/test/server/web/rest/errors/ExceptionTranslatorTestController.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.backend.services.server.web.rest.errors;
-
-import org.springframework.dao.ConcurrencyFailureException;
-import org.springframework.http.HttpStatus;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import java.util.HashMap;
-import java.util.Map;
-
-@RestController
-public class ExceptionTranslatorTestController {
-
-    @GetMapping("/test/concurrency-failure")
-    public void concurrencyFailure() {
-        throw new ConcurrencyFailureException("test concurrency failure");
-    }
-
-    @PostMapping("/test/method-argument")
-    public void methodArgument(@Valid @RequestBody TestDTO testDTO) {
-    }
-
-    @GetMapping("/test/parameterized-error")
-    public void parameterizedError() {
-        throw new CustomParameterizedException("test parameterized error", "param0_value", "param1_value");
-    }
-
-    @GetMapping("/test/parameterized-error2")
-    public void parameterizedError2() {
-        Map<String, String> params = new HashMap<>();
-        params.put("foo", "foo_value");
-        params.put("bar", "bar_value");
-        throw new CustomParameterizedException("test parameterized error", params);
-    }
-
-    @GetMapping("/test/access-denied")
-    public void accessdenied() {
-        throw new AccessDeniedException("test access denied!");
-    }
-
-    @GetMapping("/test/response-status")
-    public void exceptionWithReponseStatus() {
-        throw new TestResponseStatusException();
-    }
-
-    @GetMapping("/test/internal-server-error")
-    public void internalServerError() {
-        throw new RuntimeException();
-    }
-
-    public static class TestDTO {
-
-        @NotNull
-        private String test;
-
-        public String getTest() {
-            return test;
-        }
-
-        public void setTest(String test) {
-            this.test = test;
-        }
-    }
-
-    @ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "test response status")
-    @SuppressWarnings("serial")
-    public static class TestResponseStatusException extends RuntimeException {
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/application.yml
deleted file mode 100644
index 0a90331d91fb56b63ce06b814c6fdc156fd03efe..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/application.yml
+++ /dev/null
@@ -1,112 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration is used for unit/integration tests.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    client:
-        enabled: true
-    instance:
-        appname: acsmiservices
-        instanceId: acsmiservices:${spring.application.instance-id:${random.value}}
-
-spring:
-    application:
-        name: acsmiservices
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    cache:
-        type: none
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:h2:acsmiservices;DB_CLOSE_DELAY=-1
-        name:
-        username:
-        password:
-    jpa:
-        database-platform: io.github.jhipster.domain.util.FixedH2Dialect
-        database: H2
-        open-in-view: false
-        show-sql: false
-        hibernate:
-            ddl-auto: none
-            naming:
-                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
-                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: false
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: true
-            hibernate.hbm2ddl.auto: validate
-    mail:
-        host: localhost
-    messages:
-        basename: i18n/messages
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-liquibase:
-    contexts: test
-
-security:
-    basic:
-        enabled: false
-
-server:
-    port: 10344
-    address: localhost
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    async:
-        core-pool-size: 1
-        max-pool-size: 50
-        queue-capacity: 10000
-    # To test logstash appender
-    logging:
-            logstash:
-                enabled: true
-                host: localhost
-                port: 5000
-                queue-size: 512
-    security:
-        authentication:
-            jwt:
-                secret: 38b9cc1a1fccdd77db647dcb9717c340fafdea06
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: true
-            report-frequency: 60 # in seconds
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/bootstrap.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/bootstrap.yml
deleted file mode 100644
index 11cd6af21cba3a37c09fefbfd069b4cf05e0ea01..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/config/bootstrap.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-spring:
-    cloud:
-        config:
-            enabled: false
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/logback.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/logback.xml
deleted file mode 100644
index b7585cb24c5a5bbd498788e58e762bbc9e78ba4b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/src/test/resources/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-
-    <logger name="eu.decideh2020.acsmi.backend.services.server" level="INFO"/>
-
-    <logger name="io.github.jhipster" level="WARN"/>
-
-    <logger name="javax.activation" level="WARN"/>
-    <logger name="javax.mail" level="WARN"/>
-    <logger name="javax.xml.bind" level="WARN"/>
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="com.codahale.metrics" level="WARN"/>
-    <logger name="com.netflix" level="WARN"/>
-    <logger name="com.netflix.discovery" level="INFO"/>
-    <logger name="com.ryantenney" level="WARN"/>
-    <logger name="com.sun" level="WARN"/>
-    <logger name="com.zaxxer" level="WARN"/>
-    <logger name="io.undertow" level="WARN"/>
-    <logger name="io.undertow.websockets.jsr" level="ERROR"/>
-    <logger name="org.apache" level="WARN"/>
-    <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
-    <logger name="org.bson" level="WARN"/>
-    <logger name="org.hibernate.validator" level="WARN"/>
-    <logger name="org.hibernate" level="WARN"/>
-    <logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/>
-    <logger name="org.springframework" level="WARN"/>
-    <logger name="org.springframework.web" level="WARN"/>
-    <logger name="org.springframework.security" level="WARN"/>
-    <logger name="org.springframework.cache" level="WARN"/>
-    <logger name="org.thymeleaf" level="WARN"/>
-    <logger name="org.xnio" level="WARN"/>
-    <logger name="springfox" level="WARN"/>
-    <logger name="sun.rmi" level="WARN"/>
-    <logger name="liquibase" level="WARN"/>
-    <logger name="LiquibaseSchemaResolver" level="INFO"/>
-    <logger name="sun.net.www" level="INFO"/>
-    <logger name="sun.rmi.transport" level="WARN"/>
-
-    <root level="WARN">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/yarn.lock b/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/yarn.lock
deleted file mode 100644
index 6804a5f4539c3e2f5e309968538441d4ae27af1d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.backend.services.server/yarn.lock
+++ /dev/null
@@ -1,2458 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-abbrev@1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
-
-ajv@^4.9.1:
-  version "4.11.8"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
-  dependencies:
-    co "^4.6.0"
-    json-stable-stringify "^1.0.1"
-
-ansi-escapes@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-
-ansi-regex@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-styles@^2.0.0, ansi-styles@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi@^0.3.0, ansi@~0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
-
-are-we-there-yet@~1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
-  dependencies:
-    delegates "^1.0.0"
-    readable-stream "^2.0.6"
-
-argparse@^1.0.7:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
-  dependencies:
-    sprintf-js "~1.0.2"
-
-array-differ@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
-
-array-find-index@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
-
-array-union@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
-  dependencies:
-    array-uniq "^1.0.1"
-
-array-uniq@^1.0.0, array-uniq@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
-
-arrify@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-
-asn1@~0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-assert-plus@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-
-async@^1.0.0, async@^1.4.2:
-  version "1.5.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-
-async@^2.0.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7"
-  dependencies:
-    lodash "^4.14.0"
-
-asynckit@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-aws-sign2@~0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
-
-aws4@^1.2.1:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-
-balanced-match@^0.4.1:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
-
-bcrypt-pbkdf@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
-  dependencies:
-    tweetnacl "^0.14.3"
-
-bin-version-check@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0"
-  dependencies:
-    bin-version "^1.0.0"
-    minimist "^1.1.0"
-    semver "^4.0.3"
-    semver-truncate "^1.0.0"
-
-bin-version@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e"
-  dependencies:
-    find-versions "^1.0.0"
-
-"binaryextensions@1 || 2":
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.0.0.tgz#e597d1a7a6a3558a2d1c7241a16c99965e6aa40f"
-
-boolbase@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-
-boom@2.x.x:
-  version "2.10.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
-  dependencies:
-    hoek "2.x.x"
-
-boxen@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.3.1.tgz#a7d898243ae622f7abb6bb604d740a76c6a5461b"
-  dependencies:
-    chalk "^1.1.1"
-    filled-array "^1.0.0"
-    object-assign "^4.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.1"
-    widest-line "^1.0.0"
-
-brace-expansion@^1.1.7:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
-  dependencies:
-    balanced-match "^0.4.1"
-    concat-map "0.0.1"
-
-buffer-shims@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
-
-builtin-modules@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-
-camelcase-keys@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
-  dependencies:
-    camelcase "^2.0.0"
-    map-obj "^1.0.0"
-
-camelcase@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
-
-capture-stack-trace@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
-
-caseless@~0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  dependencies:
-    ansi-styles "^2.2.1"
-    escape-string-regexp "^1.0.2"
-    has-ansi "^2.0.0"
-    strip-ansi "^3.0.0"
-    supports-color "^2.0.0"
-
-cheerio@0.22.0:
-  version "0.22.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
-  dependencies:
-    css-select "~1.2.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "^3.9.1"
-    lodash.assignin "^4.0.9"
-    lodash.bind "^4.1.4"
-    lodash.defaults "^4.0.1"
-    lodash.filter "^4.4.0"
-    lodash.flatten "^4.2.0"
-    lodash.foreach "^4.3.0"
-    lodash.map "^4.4.0"
-    lodash.merge "^4.4.0"
-    lodash.pick "^4.2.1"
-    lodash.reduce "^4.4.0"
-    lodash.reject "^4.4.0"
-    lodash.some "^4.4.0"
-
-cheerio@^0.19.0:
-  version "0.19.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925"
-  dependencies:
-    css-select "~1.0.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "~3.8.1"
-    lodash "^3.2.0"
-
-class-extend@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/class-extend/-/class-extend-0.1.2.tgz#8057a82b00f53f82a5d62c50ef8cffdec6fabc34"
-  dependencies:
-    object-assign "^2.0.0"
-
-cli-boxes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
-
-cli-cursor@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
-  dependencies:
-    restore-cursor "^1.0.1"
-
-cli-list@^0.1.1:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/cli-list/-/cli-list-0.1.8.tgz#aee6d45c4c59bf80068bb968089fb06f1aeddc0a"
-
-cli-table@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
-  dependencies:
-    colors "1.0.3"
-
-cli-width@^1.0.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d"
-
-cli-width@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
-
-clone-buffer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
-
-clone-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.0.tgz#eae0a2413f55c0942f818c229fefce845d7f3b1c"
-  dependencies:
-    is-regexp "^1.0.0"
-    is-supported-regexp-flag "^1.0.0"
-
-clone-stats@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
-
-clone-stats@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
-
-clone@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
-
-cloneable-readable@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
-  dependencies:
-    inherits "^2.0.1"
-    process-nextick-args "^1.0.6"
-    through2 "^2.0.1"
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-code-point-at@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-colors@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
-
-combined-stream@^1.0.5, combined-stream@~1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
-  dependencies:
-    delayed-stream "~1.0.0"
-
-commander@2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-commondir@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-
-concat-map@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@^1.4.7:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
-  dependencies:
-    inherits "^2.0.3"
-    readable-stream "^2.2.2"
-    typedarray "^0.0.6"
-
-config-chain@~1.1.8:
-  version "1.1.11"
-  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
-  dependencies:
-    ini "^1.3.4"
-    proto-list "~1.2.1"
-
-configstore@^1.0.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
-  dependencies:
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-configstore@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1"
-  dependencies:
-    dot-prop "^3.0.0"
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-core-util-is@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-create-error-class@^3.0.0, create-error-class@^3.0.1:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
-  dependencies:
-    capture-stack-trace "^1.0.0"
-
-cross-spawn@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
-  dependencies:
-    lru-cache "^4.0.1"
-    which "^1.2.9"
-
-cross-spawn@^5.0.1:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
-  dependencies:
-    lru-cache "^4.0.1"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
-
-cryptiles@2.x.x:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
-  dependencies:
-    boom "2.x.x"
-
-css-select@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "1.0"
-    domutils "1.4"
-    nth-check "~1.0.0"
-
-css-select@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "2.1"
-    domutils "1.5.1"
-    nth-check "~1.0.1"
-
-css-what@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c"
-
-css-what@2.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
-
-currently-unhandled@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
-  dependencies:
-    array-find-index "^1.0.1"
-
-dargs@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829"
-
-dashdash@^1.12.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-  dependencies:
-    assert-plus "^1.0.0"
-
-dateformat@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
-
-debug@^2.0.0, debug@^2.1.0, debug@^2.2.0:
-  version "2.6.8"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
-  dependencies:
-    ms "2.0.0"
-
-decamelize@^1.0.0, decamelize@^1.1.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-deep-extend@^0.4.0, deep-extend@~0.4.0:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
-
-default-uid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/default-uid/-/default-uid-1.0.0.tgz#fcefa9df9f5ac40c8916d912dd1fe1146aa3c59e"
-
-delayed-stream@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-detect-conflict@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e"
-
-detect-newline@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-didyoumean@1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
-
-diff@^2.1.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99"
-
-discontinuous-range@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
-
-dom-serializer@0, dom-serializer@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
-  dependencies:
-    domelementtype "~1.1.1"
-    entities "~1.1.1"
-
-domelementtype@1, domelementtype@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domelementtype@~1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
-
-domhandler@2.3:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
-  dependencies:
-    domelementtype "1"
-
-domhandler@^2.3.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.4:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.5, domutils@1.5.1, domutils@^1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
-  dependencies:
-    dom-serializer "0"
-    domelementtype "1"
-
-dot-prop@^2.0.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-2.4.0.tgz#848e28f7f1d50740c6747ab3cb07670462b6f89c"
-  dependencies:
-    is-obj "^1.0.0"
-
-dot-prop@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
-  dependencies:
-    is-obj "^1.0.0"
-
-downgrade-root@^1.0.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/downgrade-root/-/downgrade-root-1.2.2.tgz#531319715b0e81ffcc22eb28478ba27643e12c6c"
-  dependencies:
-    default-uid "^1.0.0"
-    is-root "^1.0.0"
-
-duplexer2@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
-  dependencies:
-    readable-stream "^2.0.2"
-
-duplexer3@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
-
-each-async@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473"
-  dependencies:
-    onetime "^1.0.0"
-    set-immediate-shim "^1.0.0"
-
-ecc-jsbn@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
-  dependencies:
-    jsbn "~0.1.0"
-
-editions@^1.1.1:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b"
-
-ejs@2.5.6, ejs@^2.3.1:
-  version "2.5.6"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
-
-entities@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
-
-entities@^1.1.1, entities@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
-
-error-ex@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
-  dependencies:
-    is-arrayish "^0.2.1"
-
-error@^7.0.2:
-  version "7.0.2"
-  resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
-  dependencies:
-    string-template "~0.2.1"
-    xtend "~4.0.0"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-esprima@^3.1.1:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
-
-execall@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73"
-  dependencies:
-    clone-regexp "^1.0.0"
-
-exit-hook@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
-extend@^3.0.0, extend@~3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
-
-external-editor@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
-  dependencies:
-    extend "^3.0.0"
-    spawn-sync "^1.0.15"
-    tmp "^0.0.29"
-
-extsprintf@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
-
-figures@^1.3.5:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
-  dependencies:
-    escape-string-regexp "^1.0.5"
-    object-assign "^4.1.0"
-
-filled-array@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84"
-
-find-up@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
-  dependencies:
-    path-exists "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-  dependencies:
-    locate-path "^2.0.0"
-
-find-versions@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62"
-  dependencies:
-    array-uniq "^1.0.0"
-    get-stdin "^4.0.1"
-    meow "^3.5.0"
-    semver-regex "^1.0.0"
-
-first-chunk-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
-  dependencies:
-    readable-stream "^2.0.2"
-
-foreachasync@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6"
-
-forever-agent@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-form-data@~2.1.1:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.12"
-
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fullname@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/fullname/-/fullname-2.1.0.tgz#c46bf0f7c3f24fd5b3358d00e4a41380eef87350"
-  dependencies:
-    npmconf "^2.1.1"
-    pify "^2.2.0"
-    pinkie-promise "^2.0.0"
-
-gauge@~1.2.5:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
-  dependencies:
-    ansi "^0.3.0"
-    has-unicode "^2.0.0"
-    lodash.pad "^4.1.0"
-    lodash.padend "^4.1.0"
-    lodash.padstart "^4.1.0"
-
-generator-jhipster@4.5.1:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/generator-jhipster/-/generator-jhipster-4.5.1.tgz#ff0a3b31d961e2ad92c11e3ce8c5479604172701"
-  dependencies:
-    chalk "1.1.3"
-    cheerio "0.22.0"
-    commander "2.9.0"
-    didyoumean "1.2.1"
-    ejs "2.5.6"
-    glob "7.1.1"
-    html-wiring "1.2.0"
-    insight "0.8.4"
-    jhipster-core "1.3.2"
-    js-yaml "3.8.3"
-    lodash "4.17.4"
-    mkdirp "0.5.1"
-    pluralize "4.0.0"
-    randexp "0.4.5"
-    semver "5.3.0"
-    shelljs "0.7.7"
-    tabtab "2.2.2"
-    yeoman-environment "1.6.6"
-    yeoman-generator "1.1.1"
-    yo "1.8.5"
-
-get-stdin@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-
-get-stream@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-
-getpass@^0.1.1:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
-  dependencies:
-    assert-plus "^1.0.0"
-
-gh-got@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a"
-  dependencies:
-    got "^6.2.0"
-    is-plain-obj "^1.1.0"
-
-github-username@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1"
-  dependencies:
-    gh-got "^5.0.0"
-
-glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
-  version "7.1.1"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.2"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^6.0.1:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-globby@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^6.0.1"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^6.1.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
-  dependencies:
-    array-union "^1.0.1"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-got@^5.0.0:
-  version "5.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
-  dependencies:
-    create-error-class "^3.0.1"
-    duplexer2 "^0.1.4"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    node-status-codes "^1.0.0"
-    object-assign "^4.0.1"
-    parse-json "^2.1.0"
-    pinkie-promise "^2.0.0"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.5"
-    timed-out "^3.0.0"
-    unzip-response "^1.0.2"
-    url-parse-lax "^1.0.0"
-
-got@^6.2.0:
-  version "6.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
-  dependencies:
-    create-error-class "^3.0.0"
-    duplexer3 "^0.1.4"
-    get-stream "^3.0.0"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    safe-buffer "^5.0.1"
-    timed-out "^4.0.0"
-    unzip-response "^2.0.1"
-    url-parse-lax "^1.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.2:
-  version "4.1.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-"graceful-readlink@>= 1.0.0":
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
-
-grouped-queue@^0.3.0:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c"
-  dependencies:
-    lodash "^4.17.2"
-
-har-schema@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
-
-har-validator@~4.2.1:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
-  dependencies:
-    ajv "^4.9.1"
-    har-schema "^1.0.5"
-
-has-ansi@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-has-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-unicode@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-hawk@~3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
-  dependencies:
-    boom "2.x.x"
-    cryptiles "2.x.x"
-    hoek "2.x.x"
-    sntp "1.x.x"
-
-hoek@2.x.x:
-  version "2.16.3"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
-
-hosted-git-info@^2.1.4:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67"
-
-html-wiring@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/html-wiring/-/html-wiring-1.2.0.tgz#c5f90a776e0a27241dc6df9022c37186d0270f9e"
-  dependencies:
-    cheerio "^0.19.0"
-    detect-newline "^1.0.3"
-
-htmlparser2@^3.9.1:
-  version "3.9.2"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
-  dependencies:
-    domelementtype "^1.3.0"
-    domhandler "^2.3.0"
-    domutils "^1.5.1"
-    entities "^1.1.1"
-    inherits "^2.0.1"
-    readable-stream "^2.0.2"
-
-htmlparser2@~3.8.1:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
-  dependencies:
-    domelementtype "1"
-    domhandler "2.3"
-    domutils "1.5"
-    entities "1.0"
-    readable-stream "1.1"
-
-http-signature@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
-  dependencies:
-    assert-plus "^0.2.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-humanize-string@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/humanize-string/-/humanize-string-1.0.1.tgz#fce2d6c545efc25dea1f23235182c98da0180b42"
-  dependencies:
-    decamelize "^1.0.0"
-
-imurmurhash@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-
-indent-string@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
-  dependencies:
-    repeating "^2.0.0"
-
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-ini@^1.2.0, ini@^1.3.4, ini@~1.3.0:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-
-inquirer@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.10.1.tgz#ea25e4ce69ca145e05c99e46dcfec05e4012594a"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^0.11.0:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.11.4.tgz#81e3374e8361beaff2d97016206d359d0b32fa4d"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^1.0.2:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^2.0.0"
-    external-editor "^1.1.0"
-    figures "^1.3.5"
-    lodash "^4.3.0"
-    mute-stream "0.0.6"
-    pinkie-promise "^2.0.0"
-    run-async "^2.2.0"
-    rx "^4.1.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-insight@0.8.4:
-  version "0.8.4"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.8.4.tgz#671caf65b47c9fe8c3d1b3206cf45bb211b75884"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.74.0"
-    tough-cookie "^2.0.0"
-    uuid "^3.0.0"
-
-insight@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.7.0.tgz#061f9189835bd38a97a60c2b76ea0c6b30099ff6"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.40.0"
-    tough-cookie "^2.0.0"
-
-interpret@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
-
-is-arrayish@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
-is-builtin-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
-  dependencies:
-    builtin-modules "^1.0.0"
-
-is-docker@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1"
-
-is-finite@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-npm@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
-
-is-obj@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-
-is-plain-obj@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-
-is-promise@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
-
-is-redirect@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
-
-is-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
-
-is-retry-allowed@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
-
-is-root@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5"
-
-is-stream@^1.0.0, is-stream@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-
-is-supported-regexp-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz#8b520c85fae7a253382d4b02652e045576e13bb8"
-
-is-typedarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-is-utf8@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isexe@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isstream@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-istextorbinary@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.1.0.tgz#dbed2a6f51be2f7475b68f89465811141b758874"
-  dependencies:
-    binaryextensions "1 || 2"
-    editions "^1.1.1"
-    textextensions "1 || 2"
-
-jhipster-core@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/jhipster-core/-/jhipster-core-1.3.2.tgz#5b2675c7682be098b1238760474a32657905bdae"
-  dependencies:
-    lodash "4.17.4"
-
-jodid25519@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
-  dependencies:
-    jsbn "~0.1.0"
-
-js-yaml@3.8.3:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^3.1.1"
-
-jsbn@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-json-schema@0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stable-stringify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
-  dependencies:
-    jsonify "~0.0.0"
-
-json-stringify-safe@~5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-jsonify@~0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-
-jsprim@^1.2.2:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
-  dependencies:
-    assert-plus "1.0.0"
-    extsprintf "1.0.2"
-    json-schema "0.2.3"
-    verror "1.3.6"
-
-latest-version@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b"
-  dependencies:
-    package-json "^2.0.0"
-
-load-json-file@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    strip-bom "^3.0.0"
-
-locate-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-  dependencies:
-    p-locate "^2.0.0"
-    path-exists "^3.0.0"
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-
-lodash.assignin@^4.0.9:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
-
-lodash.bind@^4.1.4:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
-
-lodash.debounce@^3.0.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-3.1.1.tgz#812211c378a94cc29d5aa4e3346cf0bfce3a7df5"
-  dependencies:
-    lodash._getnative "^3.0.0"
-
-lodash.defaults@^4.0.1:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
-
-lodash.difference@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
-
-lodash.filter@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
-
-lodash.flatten@^4.2.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
-
-lodash.foreach@^4.3.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
-
-lodash.map@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
-
-lodash.merge@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
-
-lodash.pad@^4.1.0:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
-
-lodash.padend@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
-
-lodash.padstart@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
-
-lodash.pick@^4.2.1:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
-
-lodash.reduce@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
-
-lodash.reject@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
-
-lodash.some@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
-
-lodash.uniq@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-
-lodash@4.17.4, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.3.0:
-  version "4.17.4"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-
-lodash@^3.2.0, lodash@^3.3.1:
-  version "3.10.1"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
-
-log-symbols@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
-  dependencies:
-    chalk "^1.0.0"
-
-loud-rejection@^1.0.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
-  dependencies:
-    currently-unhandled "^0.4.1"
-    signal-exit "^3.0.0"
-
-lowercase-keys@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
-
-lru-cache@^4.0.1:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
-  dependencies:
-    pseudomap "^1.0.1"
-    yallist "^2.0.0"
-
-map-obj@^1.0.0, map-obj@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-
-mem-fs-editor@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz#dd0a6eaf2bb8a6b37740067aa549eb530105af9f"
-  dependencies:
-    commondir "^1.0.1"
-    deep-extend "^0.4.0"
-    ejs "^2.3.1"
-    glob "^7.0.3"
-    globby "^6.1.0"
-    mkdirp "^0.5.0"
-    multimatch "^2.0.0"
-    rimraf "^2.2.8"
-    through2 "^2.0.0"
-    vinyl "^2.0.1"
-
-mem-fs@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc"
-  dependencies:
-    through2 "^2.0.0"
-    vinyl "^1.1.0"
-    vinyl-file "^2.0.0"
-
-meow@^3.0.0, meow@^3.5.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
-  dependencies:
-    camelcase-keys "^2.0.0"
-    decamelize "^1.1.2"
-    loud-rejection "^1.0.0"
-    map-obj "^1.0.1"
-    minimist "^1.1.3"
-    normalize-package-data "^2.3.4"
-    object-assign "^4.0.1"
-    read-pkg-up "^1.0.1"
-    redent "^1.0.0"
-    trim-newlines "^1.0.0"
-
-mime-db@~1.27.0:
-  version "1.27.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
-
-mime-types@^2.1.12, mime-types@~2.1.7:
-  version "2.1.15"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
-  dependencies:
-    mime-db "~1.27.0"
-
-"minimatch@2 || 3", minimatch@3.0.x, minimatch@^3.0.0, minimatch@^3.0.2:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-  dependencies:
-    brace-expansion "^1.1.7"
-
-minimist@0.0.8:
-  version "0.0.8"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
-  dependencies:
-    minimist "0.0.8"
-
-ms@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-multimatch@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
-  dependencies:
-    array-differ "^1.0.0"
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    minimatch "^3.0.0"
-
-mute-stream@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
-
-mute-stream@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
-
-node-status-codes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
-
-nopt@~3.0.1:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
-  dependencies:
-    abbrev "1"
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb"
-  dependencies:
-    hosted-git-info "^2.1.4"
-    is-builtin-module "^1.0.0"
-    semver "2 || 3 || 4 || 5"
-    validate-npm-package-license "^3.0.1"
-
-npm-keyword@^4.1.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/npm-keyword/-/npm-keyword-4.2.0.tgz#98ffebfdbb1336f27ef5fe1baca0dcacd0acf6c0"
-  dependencies:
-    got "^5.0.0"
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-    registry-url "^3.0.3"
-
-npmconf@^2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/npmconf/-/npmconf-2.1.2.tgz#66606a4a736f1e77a059aa071a79c94ab781853a"
-  dependencies:
-    config-chain "~1.1.8"
-    inherits "~2.0.0"
-    ini "^1.2.0"
-    mkdirp "^0.5.0"
-    nopt "~3.0.1"
-    once "~1.3.0"
-    osenv "^0.1.0"
-    semver "2 || 3 || 4"
-    uid-number "0.0.5"
-
-npmlog@^2.0.3:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
-  dependencies:
-    ansi "~0.3.1"
-    are-we-there-yet "~1.1.2"
-    gauge "~1.2.5"
-
-nth-check@~1.0.0, nth-check@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
-  dependencies:
-    boolbase "~1.0.0"
-
-number-is-nan@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-oauth-sign@~0.8.1:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
-
-object-assign@^4.0.1, object-assign@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-values@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105"
-
-once@^1.3.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  dependencies:
-    wrappy "1"
-
-once@~1.3.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
-  dependencies:
-    wrappy "1"
-
-onetime@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
-
-opn@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a"
-  dependencies:
-    object-assign "^4.0.1"
-
-os-homedir@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-os-name@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/os-name/-/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf"
-  dependencies:
-    osx-release "^1.0.0"
-    win-release "^1.0.0"
-
-os-shim@^0.1.2:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
-
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-
-osenv@^0.1.0:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
-  dependencies:
-    os-homedir "^1.0.0"
-    os-tmpdir "^1.0.0"
-
-osx-release@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/osx-release/-/osx-release-1.1.0.tgz#f217911a28136949af1bf9308b241e2737d3cd6c"
-  dependencies:
-    minimist "^1.1.0"
-
-p-limit@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
-
-p-locate@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-  dependencies:
-    p-limit "^1.1.0"
-
-package-json@^2.0.0, package-json@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb"
-  dependencies:
-    got "^5.0.0"
-    registry-auth-token "^3.0.1"
-    registry-url "^3.0.3"
-    semver "^5.1.0"
-
-pad-component@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/pad-component/-/pad-component-0.0.1.tgz#ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac"
-
-parse-help@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/parse-help/-/parse-help-0.1.1.tgz#2f4df942e77a5581bba9967c0c3f48e4c66d7dda"
-  dependencies:
-    execall "^1.0.0"
-
-parse-json@^2.1.0, parse-json@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
-  dependencies:
-    error-ex "^1.2.0"
-
-path-exists@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
-  dependencies:
-    pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-
-path-is-absolute@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-parse@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-path-type@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
-  dependencies:
-    pify "^2.0.0"
-
-performance-now@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
-
-pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-
-pinkie-promise@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
-  dependencies:
-    pinkie "^2.0.0"
-
-pinkie@^2.0.0:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-
-pluralize@4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
-
-prepend-http@^1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-
-pretty-bytes@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
-
-process-nextick-args@^1.0.6, process-nextick-args@~1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-
-proto-list@~1.2.1:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-pseudomap@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-punycode@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-qs@~6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
-
-randexp@0.4.5:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.5.tgz#ffe3a80c3f666cd71e6b008e477e584c1a32ff3e"
-  dependencies:
-    discontinuous-range "1.0.0"
-    ret "~0.1.10"
-
-rc@^1.0.1, rc@^1.1.6:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
-  dependencies:
-    deep-extend "~0.4.0"
-    ini "~1.3.0"
-    minimist "^1.2.0"
-    strip-json-comments "~2.0.1"
-
-read-all-stream@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
-  dependencies:
-    pinkie-promise "^2.0.0"
-    readable-stream "^2.0.0"
-
-read-chunk@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.0.0.tgz#3246e877829116cec059674c4d5f300f7a9261f3"
-  dependencies:
-    pify "^2.3.0"
-
-read-pkg-up@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
-  dependencies:
-    find-up "^1.0.0"
-    read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
-  dependencies:
-    find-up "^2.0.0"
-    read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
-  dependencies:
-    load-json-file "^1.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^1.0.0"
-
-read-pkg@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
-  dependencies:
-    load-json-file "^2.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^2.0.0"
-
-readable-stream@1.1:
-  version "1.1.13"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2:
-  version "2.2.9"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
-  dependencies:
-    buffer-shims "~1.0.0"
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~1.0.0"
-    util-deprecate "~1.0.1"
-
-readline2@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    mute-stream "0.0.5"
-
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
-  dependencies:
-    resolve "^1.1.6"
-
-redent@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
-  dependencies:
-    indent-string "^2.1.0"
-    strip-indent "^1.0.1"
-
-registry-auth-token@^3.0.1:
-  version "3.3.1"
-  resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006"
-  dependencies:
-    rc "^1.1.6"
-    safe-buffer "^5.0.1"
-
-registry-url@^3.0.3:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
-  dependencies:
-    rc "^1.0.1"
-
-remove-trailing-separator@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
-
-repeating@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-  dependencies:
-    is-finite "^1.0.0"
-
-replace-ext@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
-
-replace-ext@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-
-request@^2.40.0, request@^2.74.0:
-  version "2.81.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~4.2.1"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    oauth-sign "~0.8.1"
-    performance-now "^0.2.0"
-    qs "~6.4.0"
-    safe-buffer "^5.0.1"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "^0.6.0"
-    uuid "^3.0.0"
-
-resolve@^1.1.6:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
-  dependencies:
-    path-parse "^1.0.5"
-
-restore-cursor@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
-  dependencies:
-    exit-hook "^1.0.0"
-    onetime "^1.0.0"
-
-ret@~0.1.10:
-  version "0.1.14"
-  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.14.tgz#58c636837b12e161f8a380cf081c6a230fd1664e"
-
-rimraf@^2.2.0, rimraf@^2.2.8:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
-  dependencies:
-    glob "^7.0.5"
-
-root-check@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/root-check/-/root-check-1.0.0.tgz#c52a794bf0db9fad567536e41898f0c9e0a86697"
-  dependencies:
-    downgrade-root "^1.0.0"
-    sudo-block "^1.1.0"
-
-run-async@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
-  dependencies:
-    once "^1.3.0"
-
-run-async@^2.0.0, run-async@^2.2.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
-  dependencies:
-    is-promise "^2.1.0"
-
-rx-lite@^3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
-
-rx@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
-
-safe-buffer@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
-
-semver-diff@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
-  dependencies:
-    semver "^5.0.3"
-
-semver-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
-
-semver-truncate@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8"
-  dependencies:
-    semver "^5.3.0"
-
-"semver@2 || 3 || 4", semver@^4.0.3:
-  version "4.3.6"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
-
-"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-
-set-immediate-shim@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-
-shebang-command@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-  dependencies:
-    shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-shelljs@0.7.7, shelljs@^0.7.0:
-  version "0.7.7"
-  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
-  dependencies:
-    glob "^7.0.0"
-    interpret "^1.0.0"
-    rechoir "^0.6.2"
-
-signal-exit@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-slide@^1.1.5:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
-
-sntp@1.x.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
-  dependencies:
-    hoek "2.x.x"
-
-sort-on@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/sort-on/-/sort-on-1.3.0.tgz#0dfd5b364b23df7f2acd86985daeb889e1a7c840"
-  dependencies:
-    arrify "^1.0.0"
-    dot-prop "^2.0.0"
-
-spawn-sync@^1.0.15:
-  version "1.0.15"
-  resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
-  dependencies:
-    concat-stream "^1.4.7"
-    os-shim "^0.1.2"
-
-spdx-correct@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
-  dependencies:
-    spdx-license-ids "^1.0.2"
-
-spdx-expression-parse@~1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
-
-spdx-license-ids@^1.0.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
-
-sprintf-js@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-sshpk@^1.7.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
-  dependencies:
-    asn1 "~0.2.3"
-    assert-plus "^1.0.0"
-    dashdash "^1.12.0"
-    getpass "^0.1.1"
-  optionalDependencies:
-    bcrypt-pbkdf "^1.0.0"
-    ecc-jsbn "~0.1.1"
-    jodid25519 "^1.0.0"
-    jsbn "~0.1.0"
-    tweetnacl "~0.14.0"
-
-string-length@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
-  dependencies:
-    strip-ansi "^3.0.0"
-
-string-template@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
-
-string-width@^1.0.0, string-width@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    strip-ansi "^3.0.0"
-
-string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-stringstream@~0.0.4:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-strip-bom-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca"
-  dependencies:
-    first-chunk-stream "^2.0.0"
-    strip-bom "^2.0.0"
-
-strip-bom@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
-  dependencies:
-    is-utf8 "^0.2.0"
-
-strip-bom@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-
-strip-indent@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
-  dependencies:
-    get-stdin "^4.0.1"
-
-strip-json-comments@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-sudo-block@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/sudo-block/-/sudo-block-1.2.0.tgz#cc539bf8191624d4f507d83eeb45b4cea27f3463"
-  dependencies:
-    chalk "^1.0.0"
-    is-docker "^1.0.0"
-    is-root "^1.0.0"
-
-supports-color@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.1.2:
-  version "3.2.3"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
-  dependencies:
-    has-flag "^1.0.0"
-
-tabtab@2.2.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14"
-  dependencies:
-    debug "^2.2.0"
-    inquirer "^1.0.2"
-    lodash.difference "^4.5.0"
-    lodash.uniq "^4.5.0"
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    npmlog "^2.0.3"
-    object-assign "^4.1.0"
-
-tabtab@^1.3.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-1.3.2.tgz#bb9c2ca6324f659fde7634c2caf3c096e1187ca7"
-  dependencies:
-    debug "^2.2.0"
-    inquirer "^1.0.2"
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    npmlog "^2.0.3"
-    object-assign "^4.1.0"
-
-taketalk@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-text-table@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-
-"textextensions@1 || 2":
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.1.0.tgz#1be0dc2a0dc244d44be8a09af6a85afb93c4dbc3"
-
-through2@^2.0.0, through2@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
-  dependencies:
-    readable-stream "^2.1.5"
-    xtend "~4.0.1"
-
-through@^2.3.6:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-
-timed-out@^3.0.0:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
-
-timed-out@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
-
-titleize@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
-
-tmp@^0.0.29:
-  version "0.0.29"
-  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
-  dependencies:
-    os-tmpdir "~1.0.1"
-
-tough-cookie@^2.0.0, tough-cookie@~2.3.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
-  dependencies:
-    punycode "^1.4.1"
-
-trim-newlines@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
-
-tunnel-agent@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-twig@^0.8.2:
-  version "0.8.9"
-  resolved "https://registry.yarnpkg.com/twig/-/twig-0.8.9.tgz#b1594f002b684e5f029de3e54e87bec4f084b6c2"
-  dependencies:
-    minimatch "3.0.x"
-    walk "2.3.x"
-
-typedarray@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-uid-number@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.5.tgz#5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e"
-
-untildify@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0"
-  dependencies:
-    os-homedir "^1.0.0"
-
-unzip-response@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
-
-unzip-response@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
-
-update-notifier@^0.6.0:
-  version "0.6.3"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.6.3.tgz#776dec8daa13e962a341e8a1d98354306b67ae08"
-  dependencies:
-    boxen "^0.3.1"
-    chalk "^1.0.0"
-    configstore "^2.0.0"
-    is-npm "^1.0.0"
-    latest-version "^2.0.0"
-    semver-diff "^2.0.0"
-
-url-parse-lax@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
-  dependencies:
-    prepend-http "^1.0.1"
-
-user-home@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
-  dependencies:
-    os-homedir "^1.0.0"
-
-util-deprecate@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-uuid@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-
-uuid@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
-
-validate-npm-package-license@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
-  dependencies:
-    spdx-correct "~1.0.0"
-    spdx-expression-parse "~1.0.0"
-
-verror@1.3.6:
-  version "1.3.6"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
-  dependencies:
-    extsprintf "1.0.2"
-
-vinyl-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.3.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^2.0.0"
-    vinyl "^1.1.0"
-
-vinyl@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c"
-  dependencies:
-    clone "^1.0.0"
-    clone-buffer "^1.0.0"
-    clone-stats "^1.0.0"
-    cloneable-readable "^1.0.0"
-    is-stream "^1.1.0"
-    remove-trailing-separator "^1.0.1"
-    replace-ext "^1.0.0"
-
-walk@2.3.x:
-  version "2.3.9"
-  resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.9.tgz#31b4db6678f2ae01c39ea9fb8725a9031e558a7b"
-  dependencies:
-    foreachasync "^3.0.0"
-
-which@^1.2.9:
-  version "1.2.14"
-  resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
-  dependencies:
-    isexe "^2.0.0"
-
-widest-line@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c"
-  dependencies:
-    string-width "^1.0.1"
-
-win-release@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209"
-  dependencies:
-    semver "^5.0.1"
-
-wrap-ansi@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-write-file-atomic@^1.1.2:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
-  dependencies:
-    graceful-fs "^4.1.11"
-    imurmurhash "^0.1.4"
-    slide "^1.1.5"
-
-xdg-basedir@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
-  dependencies:
-    os-homedir "^1.0.0"
-
-xtend@~4.0.0, xtend@~4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-yallist@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-
-yeoman-character@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-character/-/yeoman-character-1.1.0.tgz#90d4b5beaf92759086177015b2fdfa2e0684d7c7"
-  dependencies:
-    supports-color "^3.1.2"
-
-yeoman-doctor@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-doctor/-/yeoman-doctor-2.1.0.tgz#94ab784896a64f53a9fac452d5e9133e2750a236"
-  dependencies:
-    bin-version-check "^2.1.0"
-    chalk "^1.0.0"
-    each-async "^1.1.1"
-    log-symbols "^1.0.1"
-    object-values "^1.0.0"
-    semver "^5.0.3"
-    twig "^0.8.2"
-    user-home "^2.0.0"
-
-yeoman-environment@1.6.6, yeoman-environment@^1.1.0, yeoman-environment@^1.6.1:
-  version "1.6.6"
-  resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671"
-  dependencies:
-    chalk "^1.0.0"
-    debug "^2.0.0"
-    diff "^2.1.2"
-    escape-string-regexp "^1.0.2"
-    globby "^4.0.0"
-    grouped-queue "^0.3.0"
-    inquirer "^1.0.2"
-    lodash "^4.11.1"
-    log-symbols "^1.0.1"
-    mem-fs "^1.1.0"
-    text-table "^0.2.0"
-    untildify "^2.0.0"
-
-yeoman-generator@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-1.1.1.tgz#40c2b4f6cdfbe05e1952fdd72933f0d8925dbdf5"
-  dependencies:
-    async "^2.0.0"
-    chalk "^1.0.0"
-    class-extend "^0.1.0"
-    cli-table "^0.3.1"
-    cross-spawn "^5.0.1"
-    dargs "^5.1.0"
-    dateformat "^2.0.0"
-    debug "^2.1.0"
-    detect-conflict "^1.0.0"
-    error "^7.0.2"
-    find-up "^2.1.0"
-    github-username "^3.0.0"
-    glob "^7.0.3"
-    istextorbinary "^2.1.0"
-    lodash "^4.11.1"
-    mem-fs-editor "^3.0.0"
-    minimist "^1.2.0"
-    mkdirp "^0.5.0"
-    path-exists "^3.0.0"
-    path-is-absolute "^1.0.0"
-    pretty-bytes "^4.0.2"
-    read-chunk "^2.0.0"
-    read-pkg-up "^2.0.0"
-    rimraf "^2.2.0"
-    run-async "^2.0.0"
-    shelljs "^0.7.0"
-    text-table "^0.2.0"
-    through2 "^2.0.0"
-    user-home "^2.0.0"
-    yeoman-environment "^1.1.0"
-
-yo@1.8.5:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/yo/-/yo-1.8.5.tgz#776ab9ec79a7882f8d4f7a9e10214fdab050d928"
-  dependencies:
-    async "^1.0.0"
-    chalk "^1.0.0"
-    cli-list "^0.1.1"
-    configstore "^1.0.0"
-    cross-spawn "^3.0.1"
-    figures "^1.3.5"
-    fullname "^2.0.0"
-    got "^5.0.0"
-    humanize-string "^1.0.0"
-    inquirer "^0.11.0"
-    insight "^0.7.0"
-    lodash "^3.2.0"
-    meow "^3.0.0"
-    npm-keyword "^4.1.0"
-    opn "^3.0.2"
-    package-json "^2.1.0"
-    parse-help "^0.1.1"
-    read-pkg-up "^1.0.1"
-    repeating "^2.0.0"
-    root-check "^1.0.0"
-    sort-on "^1.0.0"
-    string-length "^1.0.0"
-    tabtab "^1.3.0"
-    titleize "^1.0.0"
-    update-notifier "^0.6.0"
-    user-home "^2.0.0"
-    yeoman-character "^1.0.0"
-    yeoman-doctor "^2.0.0"
-    yeoman-environment "^1.6.1"
-    yosay "^1.0.0"
-
-yosay@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/yosay/-/yosay-1.2.1.tgz#9466ef969830e85b474e267b50f7688693ed3b5b"
-  dependencies:
-    ansi-regex "^2.0.0"
-    ansi-styles "^2.0.0"
-    chalk "^1.0.0"
-    cli-boxes "^1.0.0"
-    pad-component "0.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.0"
-    strip-ansi "^3.0.0"
-    taketalk "^1.0.0"
-    wrap-ansi "^2.0.0"
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.bowerrc b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.bowerrc
deleted file mode 100644
index ad10799262759b3acf990f84831fc287e3ceea62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "directory": "src/main/webapp/bower_components"
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.editorconfig b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.editorconfig
deleted file mode 100644
index a03599dd0422f3688a5a5cf5a747ed4301c49281..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.editorconfig
+++ /dev/null
@@ -1,24 +0,0 @@
-# EditorConfig helps developers define and maintain consistent
-# coding styles between different editors and IDEs
-# editorconfig.org
-
-root = true
-
-[*]
-
-# Change these settings to your own preference
-indent_style = space
-indent_size = 4
-
-# We recommend you to keep these unchanged
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
-
-[{package,bower}.json]
-indent_style = space
-indent_size = 2
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintignore b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintignore
deleted file mode 100644
index 047e14a334b5ff27650559effcb0722a1d9f0089..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintignore
+++ /dev/null
@@ -1,6 +0,0 @@
-# more info here - http://eslint.org/docs/user-guide/configuring.html#ignoring-files-and-directories
-
-# node_modules ignored by default
-
-# ignore bower_components
-src/main/webapp/bower_components
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintrc.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintrc.json
deleted file mode 100644
index 50047b2bc07be825c397b6f679135ee1c677978f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.eslintrc.json
+++ /dev/null
@@ -1,29 +0,0 @@
-// See: http://eslint.org/
-// See: https://www.npmjs.com/package/eslint-plugin-angular
-{
-  "extends": [
-    "eslint:recommended",
-    "angular"
-  ],
-  "env": {
-    "node": true,
-    "browser": true
-  },
-  // severity for a rule should be one of the following: 0 = off, 1 = warning, 2 = error
-  "rules": {
-    // coding style
-    "wrap-iife": [2, "inside"],
-    "eqeqeq": 2,
-    "no-use-before-define": [2, "nofunc"],
-    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
-    "no-multi-str": 2,
-    "no-irregular-whitespace": 2,
-    "semi": [2, "always"],
-    "indent": 2,
-
-    // os/git options
-    // we want to run on all OSes
-    "linebreak-style": 0,
-    "eol-last": 2
-  }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitattributes b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitattributes
deleted file mode 100644
index 266b4f52e816dfd9f9e661c0878ec0c860b600e0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitattributes
+++ /dev/null
@@ -1,149 +0,0 @@
-# This file is inspired by https://github.com/alexkaratarakis/gitattributes
-#
-# Auto detect text files and perform LF normalization
-# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
-* text=auto
-
-# The above will handle all files NOT found below
-# These files are text and should be normalized (Convert crlf => lf)
-
-*.bat           text eol=crlf
-*.coffee        text
-*.css           text
-*.cql           text
-*.df            text
-*.ejs           text
-*.html          text
-*.java          text
-*.js            text
-*.json          text
-*.less          text
-*.properties    text
-*.sass          text
-*.scss          text
-*.sh            text
-*.sql           text
-*.txt           text
-*.ts            text
-*.xml           text
-*.yaml          text
-*.yml           text
-
-# Documents
-*.doc           diff=astextplain
-*.DOC           diff=astextplain
-*.docx          diff=astextplain
-*.DOCX          diff=astextplain
-*.dot           diff=astextplain
-*.DOT           diff=astextplain
-*.pdf           diff=astextplain
-*.PDF           diff=astextplain
-*.rtf           diff=astextplain
-*.RTF           diff=astextplain
-*.markdown      text
-*.md            text
-*.adoc          text
-*.textile       text
-*.mustache      text
-*.csv           text
-*.tab           text
-*.tsv           text
-*.txt           text
-AUTHORS         text
-CHANGELOG       text
-CHANGES         text
-CONTRIBUTING    text
-COPYING         text
-copyright       text
-*COPYRIGHT*     text
-INSTALL         text
-license         text
-LICENSE         text
-NEWS            text
-readme          text
-*README*        text
-TODO            text
-
-# Graphics
-*.png           binary
-*.jpg           binary
-*.jpeg          binary
-*.gif           binary
-*.tif           binary
-*.tiff          binary
-*.ico           binary
-# SVG treated as an asset (binary) by default. If you want to treat it as text,
-# comment-out the following line and uncomment the line after.
-*.svg           binary
-#*.svg          text
-*.eps           binary
-
-# These files are binary and should be left untouched
-# (binary is a macro for -text -diff)
-*.class         binary
-*.jar           binary
-*.war           binary
-
-## LINTERS
-.csslintrc      text
-.eslintrc       text
-.jscsrc         text
-.jshintrc       text
-.jshintignore   text
-.stylelintrc    text
-
-## CONFIGS
-*.bowerrc       text
-*.conf          text
-*.config        text
-.editorconfig   text
-.gitattributes  text
-.gitconfig      text
-.gitignore      text
-.htaccess       text
-*.npmignore     text
-
-## HEROKU
-Procfile        text
-.slugignore     text
-
-## AUDIO
-*.kar           binary
-*.m4a           binary
-*.mid           binary
-*.midi          binary
-*.mp3           binary
-*.ogg           binary
-*.ra            binary
-
-## VIDEO
-*.3gpp          binary
-*.3gp           binary
-*.as            binary
-*.asf           binary
-*.asx           binary
-*.fla           binary
-*.flv           binary
-*.m4v           binary
-*.mng           binary
-*.mov           binary
-*.mp4           binary
-*.mpeg          binary
-*.mpg           binary
-*.swc           binary
-*.swf           binary
-*.webm          binary
-
-## ARCHIVES
-*.7z            binary
-*.gz            binary
-*.rar           binary
-*.tar           binary
-*.zip           binary
-
-## FONTS
-*.ttf           binary
-*.eot           binary
-*.otf           binary
-*.woff          binary
-*.woff2         binary
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitignore b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitignore
deleted file mode 100644
index 473974cf5ecf52d921d28648822e5dcf86556a8e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.gitignore
+++ /dev/null
@@ -1,147 +0,0 @@
-######################
-# Project Specific
-######################
-/target/www/**
-/src/test/javascript/coverage/
-/src/test/javascript/PhantomJS*/
-
-######################
-# Node
-######################
-/node/
-node_tmp/
-node_modules/
-npm-debug.log.*
-
-######################
-# BOWER
-######################
-bower_components/
-
-######################
-# SASS
-######################
-.sass-cache/
-
-######################
-# Eclipse
-######################
-*.pydevproject
-.project
-.metadata
-tmp/
-tmp/**/*
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.classpath
-.settings/
-.loadpath
-.factorypath
-/src/main/resources/rebel.xml
-
-# External tool builders
-.externalToolBuilders/**
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# CDT-specific
-.cproject
-
-# PDT-specific
-.buildpath
-
-######################
-# Intellij
-######################
-.idea/
-*.iml
-*.iws
-*.ipr
-*.ids
-*.orig
-classes/
-
-######################
-# Visual Studio Code
-######################
-.vscode/
-
-######################
-# Maven
-######################
-/log/
-/target/
-
-######################
-# Gradle
-######################
-.gradle/
-/build/
-
-######################
-# Package Files
-######################
-*.jar
-*.war
-*.ear
-*.db
-
-######################
-# Windows
-######################
-# Windows image file caches
-Thumbs.db
-
-# Folder config file
-Desktop.ini
-
-######################
-# Mac OSX
-######################
-.DS_Store
-.svn
-
-# Thumbnails
-._*
-
-# Files that might appear on external disk
-.Spotlight-V100
-.Trashes
-
-######################
-# Directories
-######################
-/bin/
-/deploy/
-
-######################
-# Logs
-######################
-*.log
-
-######################
-# Others
-######################
-*.class
-*.*~
-*~
-.merge_file*
-
-######################
-# Gradle Wrapper
-######################
-!gradle/wrapper/gradle-wrapper.jar
-
-######################
-# Maven Wrapper
-######################
-!.mvn/wrapper/maven-wrapper.jar
-
-######################
-# ESLint
-######################
-.eslintcache
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Policy.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Policy.json
deleted file mode 100644
index 44d6a29147a55a394f8b1157e2d75a02156a42a0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Policy.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-    "fluentMethods": true,
-    "relationships": [],
-    "fields": [
-        {
-            "fieldName": "name",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "description",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "group",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "category",
-            "fieldType": "Category",
-            "fieldValues": "TOTAL,PARTIAL,SIMPLE",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "status",
-            "fieldType": "State",
-            "fieldValues": "ACTIVE,INACTIVE",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "deleteddate",
-            "fieldType": "ZonedDateTime"
-        }
-    ],
-    "changelogDate": "20170531083836",
-    "dto": "no",
-    "service": "no",
-    "entityTableName": "policy",
-    "pagination": "no",
-    "microserviceName": "acsmisupport",
-    "searchEngine": false
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Rol.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Rol.json
deleted file mode 100644
index 19605b283bd16416f2119bdf320c1f763f9b98d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Rol.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "fluentMethods": true,
-    "relationships": [],
-    "fields": [
-        {
-            "fieldName": "name",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required"
-            ]
-        },
-        {
-            "fieldName": "group",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required"
-            ]
-        }
-    ],
-    "changelogDate": "20170531092003",
-    "entityTableName": "rol",
-    "dto": "no",
-    "pagination": "no",
-    "service": "no",
-    "microserviceName": "acsmisupport"
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Service.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Service.json
deleted file mode 100644
index 7aae59cdb7f85d40640aaac3315419733548a08a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.jhipster/Service.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "fluentMethods": true,
-    "relationships": [
-        {
-            "relationshipType": "one-to-many",
-            "relationshipName": "idContract",
-            "otherEntityName": "contract",
-            "otherEntityRelationshipName": "service"
-        }
-    ],
-    "fields": [
-        {
-            "fieldName": "serviceName",
-            "fieldType": "String",
-            "fieldValidateRules": [
-                "required",
-                "maxlength"
-            ],
-            "fieldValidateRulesMaxlength": 50
-        }
-    ],
-    "changelogDate": "20170523072708",
-    "entityTableName": "service",
-    "dto": "no",
-    "pagination": "no",
-    "service": "no",
-    "microserviceName": "acsmiservices"
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.jar b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 5fd4d5023f1463b5ba3970e33c460c1eb26d748d..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index c315043703752ef4d11cf7d93f2c324852b2ebff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.yo-rc.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.yo-rc.json
deleted file mode 100644
index 232cb12d0d5e98e7e489261ea679d80f24be0eaf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/.yo-rc.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-  "generator-jhipster": {
-    "promptValues": {
-      "packageName": "eu.decideh2020.acsmi.frontend.server",
-      "nativeLanguage": "en",
-      "microservicePath": "../eu.decideh2020.acsmi.backend.support.server"
-    },
-    "jhipsterVersion": "4.5.1",
-    "baseName": "acsmi",
-    "packageName": "eu.decideh2020.acsmi.frontend.server",
-    "packageFolder": "com/tecnalia/acsmi/frontend/server",
-    "serverPort": "8080",
-    "authenticationType": "jwt",
-    "hibernateCache": "hazelcast",
-    "clusteredHttpSession": false,
-    "websocket": "spring-websocket",
-    "databaseType": "sql",
-    "devDatabaseType": "mysql",
-    "prodDatabaseType": "mysql",
-    "searchEngine": false,
-    "messageBroker": false,
-    "serviceDiscoveryType": "eureka",
-    "buildTool": "maven",
-    "enableSocialSignIn": false,
-    "jwtSecretKey": "be36c1293aeb514cc80fb31e4ccc58a1e484232e",
-    "clientFramework": "angular1",
-    "useSass": false,
-    "clientPackageManager": "yarn",
-    "applicationType": "gateway",
-    "testFrameworks": [],
-    "jhiPrefix": "jhi",
-    "enableTranslation": true,
-    "nativeLanguage": "en",
-    "languages": [
-      "en",
-      "es",
-      "it"
-    ]
-  }
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/README.md b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/README.md
deleted file mode 100644
index aa41a7d7b468294956dde561cd50fdfbb552d464..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/README.md
+++ /dev/null
@@ -1,116 +0,0 @@
-# acsmi
-This application was generated using JHipster 4.5.1, you can find documentation and help at [https://jhipster.github.io/documentation-archive/v4.5.1](https://jhipster.github.io/documentation-archive/v4.5.1).
-
-This is a "gateway" application intended to be part of a microservice architecture, please refer to the [Doing microservices with JHipster][] page of the documentation for more information.
-
-This application is configured for Service Discovery and Configuration with the JHipster-Registry. On launch, it will refuse to start if it is not able to connect to the JHipster-Registry at [http://localhost:8761](http://localhost:8761). For more information, read our documentation on [Service Discovery and Configuration with the JHipster-Registry][].
-
-## Development
-
-Before you can build this project, you must install and configure the following dependencies on your machine:
-
-1. [Node.js][]: We use Node to run a development web server and build the project.
-   Depending on your system, you can install Node either from source or as a pre-packaged bundle.
-2. [Yarn][]: We use Yarn to manage Node dependencies.
-   Depending on your system, you can install Yarn either from source or as a pre-packaged bundle.
-
-After installing Node, you should be able to run the following command to install development tools.
-You will only need to run this command when dependencies change in [package.json](package.json).
-
-    yarn install
-
-We use [Gulp][] as our build system. Install the Gulp command-line tool globally with:
-
-    yarn global add gulp-cli
-
-Run the following commands in two separate terminals to create a blissful development experience where your browser
-auto-refreshes when files change on your hard drive.
-
-    ./mvnw
-    gulp
-
-[Bower][] is used to manage CSS and JavaScript dependencies used in this application. You can upgrade dependencies by
-specifying a newer version in [bower.json](bower.json). You can also run `bower update` and `bower install` to manage dependencies.
-Add the `-h` flag on any command to see how you can use it. For example, `bower update -h`.
-
-For further instructions on how to develop with JHipster, have a look at [Using JHipster in development][].
-
-
-## Building for production
-
-To optimize the acsmi application for production, run:
-
-    ./mvnw -Pprod clean package
-
-This will concatenate and minify the client CSS and JavaScript files. It will also modify `index.html` so it references these new files.
-To ensure everything worked, run:
-
-    java -jar target/*.war
-
-Then navigate to [http://localhost:8080](http://localhost:8080) in your browser.
-
-Refer to [Using JHipster in production][] for more details.
-
-## Testing
-
-To launch your application's tests, run:
-
-    ./mvnw clean test
-
-### Client tests
-
-Unit tests are run by [Karma][] and written with [Jasmine][]. They're located in [src/test/javascript/](src/test/javascript/) and can be run with:
-
-    gulp test
-
-
-
-For more information, refer to the [Running tests page][].
-
-## Using Docker to simplify development (optional)
-
-You can use Docker to improve your JHipster development experience. A number of docker-compose configuration are available in the [src/main/docker](src/main/docker) folder to launch required third party services.
-For example, to start a mysql database in a docker container, run:
-
-    docker-compose -f src/main/docker/mysql.yml up -d
-
-To stop it and remove the container, run:
-
-    docker-compose -f src/main/docker/mysql.yml down
-
-You can also fully dockerize your application and all the services that it depends on.
-To achieve this, first build a docker image of your app by running:
-
-    ./mvnw package -Pprod docker:build
-
-Then run:
-
-    docker-compose -f src/main/docker/app.yml up -d
-
-For more information refer to [Using Docker and Docker-Compose][], this page also contains information on the docker-compose sub-generator (`jhipster docker-compose`), which is able to generate docker configurations for one or several JHipster applications.
-
-## Continuous Integration (optional)
-
-To configure CI for your project, run the ci-cd sub-generator (`jhipster ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration][] page for more information.
-
-[JHipster Homepage and latest documentation]: https://jhipster.github.io
-[JHipster 4.5.1 archive]: https://jhipster.github.io/documentation-archive/v4.5.1
-[Doing microservices with JHipster]: https://jhipster.github.io/documentation-archive/v4.5.1/microservices-architecture/
-[Using JHipster in development]: https://jhipster.github.io/documentation-archive/v4.5.1/development/
-[Service Discovery and Configuration with the JHipster-Registry]: https://jhipster.github.io/documentation-archive/v4.5.1/microservices-architecture/#jhipster-registry
-[Using Docker and Docker-Compose]: https://jhipster.github.io/documentation-archive/v4.5.1/docker-compose
-[Using JHipster in production]: https://jhipster.github.io/documentation-archive/v4.5.1/production/
-[Running tests page]: https://jhipster.github.io/documentation-archive/v4.5.1/running-tests/
-[Setting up Continuous Integration]: https://jhipster.github.io/documentation-archive/v4.5.1/setting-up-ci/
-
-
-[Node.js]: https://nodejs.org/
-[Yarn]: https://yarnpkg.org/
-[Bower]: http://bower.io/
-[Gulp]: http://gulpjs.com/
-[BrowserSync]: http://www.browsersync.io/
-[Karma]: http://karma-runner.github.io/
-[Jasmine]: http://jasmine.github.io/2.0/introduction.html
-[Protractor]: https://angular.github.io/protractor/
-[Leaflet]: http://leafletjs.com/
-[DefinitelyTyped]: http://definitelytyped.org/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/bower.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/bower.json
deleted file mode 100644
index 84c8223f99e67ed860bfecec19514c76d770ad22..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/bower.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-  "version": "0.0.0",
-  "name": "acsmi",
-  "appPath": "src/main/webapp/",
-  "testPath": "src/test/javascript/spec",
-  "dependencies": {
-    "angular": "1.5.8",
-    "angular-aria": "1.5.8",
-    "angular-bootstrap": "1.3.3",
-    "angular-cache-buster": "0.4.3",
-    "angular-cookies": "1.5.8",
-    "angular-dynamic-locale": "0.1.32",
-    "angular-i18n": "1.5.8",
-    "ngstorage": "0.3.10",
-    "angular-loading-bar": "0.9.0",
-    "angular-resource": "1.5.8",
-    "angular-sanitize": "1.5.8",
-    "angular-translate": "2.11.1",
-    "angular-translate-interpolation-messageformat": "2.11.1",
-    "angular-translate-loader-partial": "2.11.1",
-    "angular-translate-storage-cookie": "2.11.1",
-    "angular-ui-router": "0.3.1",
-    "bootstrap": "3.3.7",
-    "bootstrap-ui-datetime-picker": "2.4.3",
-    "jquery": "3.1.0",
-    "json3": "3.3.2",
-    "messageformat": "0.3.1",
-    "modernizr": "3.3.1",
-    "ng-file-upload": "12.0.4",
-    "ngInfiniteScroll": "1.3.0",
-    "sockjs-client": "1.1.1",
-    "stomp-websocket": "2.3.4",
-    "swagger-ui": "2.1.5"
-  },
-  "devDependencies": {
-    "angular-mocks": "1.5.8"
-  },
-  "overrides": {
-    "angular": {
-      "dependencies": {
-        "jquery": "3.1.0"
-      }
-    },
-    "angular-cache-buster": {
-      "dependencies": {
-        "angular": "1.5.8"
-      }
-    },
-    "angular-dynamic-locale": {
-      "dependencies": {
-        "angular": "1.5.8"
-      }
-    },
-    "bootstrap": {
-      "main": [
-        "dist/css/bootstrap.css"
-      ]
-    }
-  },
-  "resolutions": {
-    "angular": "1.5.8",
-    "angular-bootstrap": "2.0.0",
-    "jquery": "3.1.0"
-  }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/build.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/build.js
deleted file mode 100644
index ecb5c362ced4844c98824872c6947bb87f08e523..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/build.js
+++ /dev/null
@@ -1,51 +0,0 @@
-'use strict';
-
-var fs = require('fs'),
-    gulp = require('gulp'),
-    lazypipe = require('lazypipe'),
-    footer = require('gulp-footer'),
-    sourcemaps = require('gulp-sourcemaps'),
-    rev = require('gulp-rev'),
-    htmlmin = require('gulp-htmlmin'),
-    ngAnnotate = require('gulp-ng-annotate'),
-    prefix = require('gulp-autoprefixer'),
-    cssnano = require('gulp-cssnano'),
-    uglify = require('gulp-uglify'),
-    useref = require("gulp-useref"),
-    revReplace = require("gulp-rev-replace"),
-    plumber = require('gulp-plumber'),
-    gulpIf = require('gulp-if'),
-    handleErrors = require('./handle-errors');
-
-var config = require('./config');
-
-var initTask = lazypipe()
-    .pipe(sourcemaps.init);
-var jsTask = lazypipe()
-    .pipe(ngAnnotate)
-    .pipe(uglify);
-var cssTask = lazypipe()
-    .pipe(prefix)
-    .pipe(cssnano);
-
-module.exports = function() {
-    var templates = fs.readFileSync(config.tmp + '/templates.js');
-    var manifest = gulp.src(config.revManifest);
-
-    return gulp.src([config.app + '**/*.html',
-        '!' + config.app + 'app/**/*.html',
-        '!' + config.app + 'swagger-ui/**/*',
-        '!' + config.bower + '**/*.html'])
-        .pipe(plumber({errorHandler: handleErrors}))
-        //init sourcemaps and prepend semicolon
-        .pipe(useref({}, initTask))
-        //append html templates
-        .pipe(gulpIf('**/app.js', footer(templates)))
-        .pipe(gulpIf('*.js', jsTask()))
-        .pipe(gulpIf('*.css', cssTask()))
-        .pipe(gulpIf('*.html', htmlmin({collapseWhitespace: true})))
-        .pipe(gulpIf('**/*.!(html)', rev()))
-        .pipe(revReplace({manifest: manifest}))
-        .pipe(sourcemaps.write('.'))
-        .pipe(gulp.dest(config.dist));
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/config.js
deleted file mode 100644
index 49df6e6ddda8e714fdc53fc463060ff18529b652..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/config.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-module.exports = {
-    app: 'src/main/webapp/',
-    dist: 'target/www/',
-    swaggerDist: 'target/www/swagger-ui/',
-    test: 'src/test/javascript/',
-    bower: 'src/main/webapp/bower_components/',
-    tmp: 'target/tmp',
-    revManifest: 'target/tmp/rev-manifest.json',
-    port: 9000,
-    apiPort: 8080,
-    liveReloadPort: 35729,
-    uri: 'http://localhost:',
-    constantTemplate:
-        '(function () {\n' +
-        '    \'use strict\';\n' +
-        '    // DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE\n' +
-        '    angular\n' +
-        '        .module(\'<%- moduleName %>\')\n' +
-        '<% constants.forEach(function(constant) { %>        .constant(\'<%- constant.name %>\', <%= constant.value %>)\n<% }) %>;\n' +
-        '})();\n'
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/copy.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/copy.js
deleted file mode 100644
index 5f202198dd0ea7d53a0dff7aaf93d7b18d6c896c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/copy.js
+++ /dev/null
@@ -1,102 +0,0 @@
-'use strict';
-
-var gulp = require('gulp'),
-    rev = require('gulp-rev'),
-    plumber = require('gulp-plumber'),
-    es = require('event-stream'),
-    flatten = require('gulp-flatten'),
-    replace = require('gulp-replace'),
-    bowerFiles = require('main-bower-files'),
-    changed = require('gulp-changed');
-
-var handleErrors = require('./handle-errors');
-var config = require('./config');
-
-module.exports = {
-    i18n: i18n,
-    languages: languages,
-    fonts: fonts,
-    common: common,
-    swagger: swagger,
-    images: images
-}
-
-var yorc = require('../.yo-rc.json')['generator-jhipster'];
-
-function i18n() {
-    return gulp.src(config.app + 'i18n/**')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist + 'i18n/'))
-        .pipe(gulp.dest(config.dist + 'i18n/'));
-}
-
-function languages() {
-    var locales = yorc.languages.map(function (locale) {
-        return config.bower + 'angular-i18n/angular-locale_' + locale + '.js';
-    });
-    return gulp.src(locales)
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.app + 'i18n/'))
-        .pipe(gulp.dest(config.app + 'i18n/'));
-}
-
-function fonts() {
-    return es.merge(gulp.src(config.bower + 'bootstrap/fonts/*.*')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist + 'content/fonts/'))
-        .pipe(rev())
-        .pipe(gulp.dest(config.dist + 'content/fonts/'))
-        .pipe(rev.manifest(config.revManifest, {
-            base: config.dist,
-            merge: true
-        }))
-        .pipe(gulp.dest(config.dist)),
-        gulp.src(config.app + 'content/**/*.{woff,woff2,svg,ttf,eot,otf}')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist + 'content/fonts/'))
-        .pipe(flatten())
-        .pipe(rev())
-        .pipe(gulp.dest(config.dist + 'content/fonts/'))
-        .pipe(rev.manifest(config.revManifest, {
-            base: config.dist,
-            merge: true
-        }))
-        .pipe(gulp.dest(config.dist))
-    );
-}
-
-function common() {
-    return gulp.src([config.app + 'robots.txt', config.app + 'favicon.ico', config.app + '.htaccess'], { dot: true })
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist))
-        .pipe(gulp.dest(config.dist));
-}
-
-function swagger() {
-    return es.merge(
-        gulp.src([config.bower + 'swagger-ui/dist/**',
-             '!' + config.bower + 'swagger-ui/dist/index.html',
-             '!' + config.bower + 'swagger-ui/dist/swagger-ui.min.js',
-             '!' + config.bower + 'swagger-ui/dist/swagger-ui.js'])
-            .pipe(plumber({errorHandler: handleErrors}))
-            .pipe(changed(config.swaggerDist))
-            .pipe(gulp.dest(config.swaggerDist)),
-        gulp.src(config.app + 'swagger-ui/index.html')
-            .pipe(plumber({errorHandler: handleErrors}))
-            .pipe(changed(config.swaggerDist))
-            .pipe(replace('../bower_components/swagger-ui/dist/', ''))
-            .pipe(replace('swagger-ui.js', 'lib/swagger-ui.min.js'))
-            .pipe(gulp.dest(config.swaggerDist)),
-        gulp.src(config.bower  + 'swagger-ui/dist/swagger-ui.min.js')
-            .pipe(plumber({errorHandler: handleErrors}))
-            .pipe(changed(config.swaggerDist + 'lib/'))
-            .pipe(gulp.dest(config.swaggerDist + 'lib/'))
-    );
-}
-
-function images() {
-    return gulp.src(bowerFiles({filter: ['**/*.{gif,jpg,png}']}), { base: config.bower })
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist +  'bower_components'))
-        .pipe(gulp.dest(config.dist +  'bower_components'));
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/handle-errors.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/handle-errors.js
deleted file mode 100644
index 98c4d4a64c169516bfbb9dbf638ab3e768c30b38..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/handle-errors.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-var notify = require("gulp-notify");
-var argv = require('yargs').argv;
-
-module.exports = function() {
-
-    var args = Array.prototype.slice.call(arguments);
-    var notification = argv.notification === undefined ? true : argv.notification;
-    // Send error to notification center with gulp-notify
-    if(notification) {
-        notify.onError({
-            title:    "JHipster Gulp Build",
-            subtitle: "Failure!",
-            message:  "Error: <%= error.message %>",
-            sound:    "Beep"
-        }).apply(this, args);
-    }
-    // Keep gulp from hanging on this task
-    this.emit('end');
-
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/inject.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/inject.js
deleted file mode 100644
index 1808e31a99e8fc4a207fdad334052ae182de25b8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/inject.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-var gulp = require('gulp'),
-    plumber = require('gulp-plumber'),
-    inject = require('gulp-inject'),
-    es = require('event-stream'),
-    naturalSort = require('gulp-natural-sort'),
-    angularFilesort = require('gulp-angular-filesort'),
-    bowerFiles = require('main-bower-files');
-
-var handleErrors = require('./handle-errors');
-
-var config = require('./config');
-
-module.exports = {
-    app: app,
-    vendor: vendor,
-    test: test,
-    troubleshoot: troubleshoot
-}
-
-function app() {
-    return gulp.src(config.app + 'index.html')
-        .pipe(inject(gulp.src(config.app + 'app/**/*.js')
-            .pipe(plumber({errorHandler: handleErrors}))
-            .pipe(naturalSort())
-            .pipe(angularFilesort()), {relative: true}))
-        .pipe(gulp.dest(config.app));
-}
-
-function vendor() {
-    var stream = gulp.src(config.app + 'index.html')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(inject(gulp.src(bowerFiles(), {read: false}), {
-            name: 'bower',
-            relative: true
-        }))
-        .pipe(gulp.dest(config.app));
-
-    return stream;
-}
-
-function test() {
-    return gulp.src(config.test + 'karma.conf.js')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(inject(gulp.src(bowerFiles({includeDev: true, filter: ['**/*.js']}), {read: false}), {
-            starttag: '// bower:js',
-            endtag: '// endbower',
-            transform: function (filepath) {
-                return '\'' + filepath.substring(1, filepath.length) + '\',';
-            }
-        }))
-        .pipe(gulp.dest(config.test));
-}
-
-function troubleshoot() {
-    /* this task removes the troubleshooting content from index.html*/
-    return gulp.src(config.app + 'index.html')
-        .pipe(plumber({errorHandler: handleErrors}))
-        /* having empty src as we dont have to read any files*/
-        .pipe(inject(gulp.src('', {read: false}), {
-            starttag: '<!-- inject:troubleshoot -->',
-            removeTags: true,
-            transform: function () {
-                return '<!-- Angular views -->';
-            }
-        }))
-        .pipe(gulp.dest(config.app));
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/serve.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/serve.js
deleted file mode 100644
index 243a01784f1b004b533a9792b9c24f4436828842..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/serve.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var gulp = require('gulp'),
-    util = require('./utils'),
-    url = require('url'),
-    browserSync = require('browser-sync'),
-    proxy = require('proxy-middleware');
-
-var config = require('./config');
-
-module.exports = function () {
-    var baseUri = config.uri + config.apiPort;
-    // Routes to proxy to the backend. Routes ending with a / will setup
-    // a redirect so that if accessed without a trailing slash, will
-    // redirect. This is required for some endpoints for proxy-middleware
-    // to correctly handle them.
-    var proxyRoutes = [
-        '/'
-    ];
-
-    var requireTrailingSlash = proxyRoutes.filter(function (r) {
-        return util.endsWith(r, '/');
-    }).map(function (r) {
-        // Strip trailing slash so we can use the route to match requests
-        // with non trailing slash
-        return r.substr(0, r.length - 1);
-    });
-
-    var proxies = [
-        // Ensure trailing slash in routes that require it
-        function (req, res, next) {
-            requireTrailingSlash.forEach(function (route){
-                if (url.parse(req.url).path === route) {
-                    res.statusCode = 301;
-                    res.setHeader('Location', route + '/');
-                    res.end();
-                }
-            });
-
-            next();
-        }
-    ]
-    .concat(
-        // Build a list of proxies for routes: [route1_proxy, route2_proxy, ...]
-        proxyRoutes.map(function (r) {
-            var options = url.parse(baseUri + r);
-            options.route = r;
-            options.preserveHost = true;
-            return proxy(options);
-        }));
-
-    browserSync({
-        open: true,
-        port: config.port,
-        server: {
-            baseDir: config.app,
-            middleware: proxies
-        }
-    });
-
-    gulp.start('watch');
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/utils.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/utils.js
deleted file mode 100644
index abb80d3e31b2a5b053e5a9ed055e06945c8b2bef..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulp/utils.js
+++ /dev/null
@@ -1,36 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-
-module.exports = {
-    endsWith : endsWith,
-    parseVersion : parseVersion,
-    isLintFixed : isLintFixed
-};
-
-function endsWith(str, suffix) {
-    return str.indexOf('/', str.length - suffix.length) !== -1;
-}
-
-var parseString = require('xml2js').parseString;
-// return the version number from `pom.xml` file
-function parseVersion() {
-    var version = null;
-    var pomXml = fs.readFileSync('pom.xml', 'utf8');
-    parseString(pomXml, function (err, result) {
-        if (result.project.version && result.project.version[0]) {
-            version = result.project.version[0];
-        } else if (result.project.parent && result.project.parent[0] && result.project.parent[0].version && result.project.parent[0].version[0]) {
-            version = result.project.parent[0].version[0];
-        }
-    });
-    if (version === null) {
-        throw new Error('pom.xml is malformed. No version is defined');
-    }
-    return version;
-}
-
-function isLintFixed(file) {
-	// Has ESLint fixed the file contents?
-	return file.eslint !== null && file.eslint.fixed;
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulpfile.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulpfile.js
deleted file mode 100644
index 3c37d12ccb796ec091b08edf2a6831d56d29eaa8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/gulpfile.js
+++ /dev/null
@@ -1,170 +0,0 @@
-// Generated on 2017-05-22 using generator-jhipster 4.5.1
-'use strict';
-
-var gulp = require('gulp'),
-    rev = require('gulp-rev'),
-    templateCache = require('gulp-angular-templatecache'),
-    htmlmin = require('gulp-htmlmin'),
-    imagemin = require('gulp-imagemin'),
-    ngConstant = require('gulp-ng-constant'),
-    rename = require('gulp-rename'),
-    eslint = require('gulp-eslint'),
-    del = require('del'),
-    runSequence = require('run-sequence'),
-    browserSync = require('browser-sync'),
-    KarmaServer = require('karma').Server,
-    plumber = require('gulp-plumber'),
-    changed = require('gulp-changed'),
-    gulpIf = require('gulp-if');
-
-var handleErrors = require('./gulp/handle-errors'),
-    serve = require('./gulp/serve'),
-    util = require('./gulp/utils'),
-    copy = require('./gulp/copy'),
-    inject = require('./gulp/inject'),
-    build = require('./gulp/build');
-
-var config = require('./gulp/config');
-
-gulp.task('clean', function () {
-    return del([config.dist], { dot: true });
-});
-
-gulp.task('copy', ['copy:i18n', 'copy:fonts', 'copy:common']);
-
-gulp.task('copy:i18n', copy.i18n);
-
-gulp.task('copy:languages', copy.languages);
-
-gulp.task('copy:fonts', copy.fonts);
-
-gulp.task('copy:common', copy.common);
-
-gulp.task('copy:swagger', copy.swagger);
-
-gulp.task('copy:images', copy.images);
-
-gulp.task('images', function () {
-    return gulp.src(config.app + 'content/images/**')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(changed(config.dist + 'content/images'))
-        .pipe(imagemin({optimizationLevel: 5, progressive: true, interlaced: true}))
-        .pipe(rev())
-        .pipe(gulp.dest(config.dist + 'content/images'))
-        .pipe(rev.manifest(config.revManifest, {
-            base: config.dist,
-            merge: true
-        }))
-        .pipe(gulp.dest(config.dist))
-        .pipe(browserSync.reload({stream: true}));
-});
-
-
-gulp.task('styles', [], function () {
-    return gulp.src(config.app + 'content/css')
-        .pipe(browserSync.reload({stream: true}));
-});
-
-gulp.task('inject', function() {
-    runSequence('inject:dep', 'inject:app');
-});
-
-gulp.task('inject:dep', ['inject:test', 'inject:vendor']);
-
-gulp.task('inject:app', inject.app);
-
-gulp.task('inject:vendor', inject.vendor);
-
-gulp.task('inject:test', inject.test);
-
-gulp.task('inject:troubleshoot', inject.troubleshoot);
-
-gulp.task('assets:prod', ['images', 'styles', 'html', 'copy:swagger', 'copy:images'], build);
-
-gulp.task('html', function () {
-    return gulp.src(config.app + 'app/**/*.html')
-        .pipe(htmlmin({collapseWhitespace: true}))
-        .pipe(templateCache({
-            module: 'acsmiApp',
-            root: 'app/',
-            moduleSystem: 'IIFE'
-        }))
-        .pipe(gulp.dest(config.tmp));
-});
-
-gulp.task('ngconstant:dev', function () {
-    return ngConstant({
-        name: 'acsmiApp',
-        constants: {
-            VERSION: util.parseVersion(),
-            DEBUG_INFO_ENABLED: true
-        },
-        template: config.constantTemplate,
-        stream: true
-    })
-    .pipe(rename('app.constants.js'))
-    .pipe(gulp.dest(config.app + 'app/'));
-});
-
-gulp.task('ngconstant:prod', function () {
-    return ngConstant({
-        name: 'acsmiApp',
-        constants: {
-            VERSION: util.parseVersion(),
-            DEBUG_INFO_ENABLED: false
-        },
-        template: config.constantTemplate,
-        stream: true
-    })
-    .pipe(rename('app.constants.js'))
-    .pipe(gulp.dest(config.app + 'app/'));
-});
-
-// check app for eslint errors
-gulp.task('eslint', function () {
-    return gulp.src(['gulpfile.js', config.app + 'app/**/*.js'])
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(eslint())
-        .pipe(eslint.format())
-        .pipe(eslint.failOnError());
-});
-
-// check app for eslint errors anf fix some of them
-gulp.task('eslint:fix', function () {
-    return gulp.src(config.app + 'app/**/*.js')
-        .pipe(plumber({errorHandler: handleErrors}))
-        .pipe(eslint({
-            fix: true
-        }))
-        .pipe(eslint.format())
-        .pipe(gulpIf(util.isLintFixed, gulp.dest(config.app + 'app')));
-});
-
-gulp.task('test', ['inject:test', 'ngconstant:dev'], function (done) {
-    new KarmaServer({
-        configFile: __dirname + '/' + config.test + 'karma.conf.js',
-        singleRun: true
-    }, done).start();
-});
-
-
-gulp.task('watch', function () {
-    gulp.watch('bower.json', ['install']);
-    gulp.watch(['gulpfile.js', 'pom.xml'], ['ngconstant:dev']);
-    gulp.watch(config.app + 'content/css/**/*.css', ['styles']);
-    gulp.watch(config.app + 'content/images/**', ['images']);
-    gulp.watch(config.app + 'app/**/*.js', ['inject:app']);
-    gulp.watch([config.app + '*.html', config.app + 'app/**', config.app + 'i18n/**']).on('change', browserSync.reload);
-});
-
-gulp.task('install', function () {
-    runSequence(['inject:dep', 'ngconstant:dev'], 'copy:languages', 'inject:app', 'inject:troubleshoot');
-});
-
-gulp.task('serve', ['install'], serve);
-
-gulp.task('build', ['clean'], function (cb) {
-    runSequence(['copy', 'inject:vendor', 'ngconstant:prod', 'copy:languages'], 'inject:app', 'inject:troubleshoot', 'assets:prod', cb);
-});
-
-gulp.task('default', ['serve']);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw
deleted file mode 100644
index a1ba1bf554bb63c401f90c6a472c21470ed4e164..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven2 Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
-  if [ -f /etc/mavenrc ] ; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ] ; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-  MINGW*) mingw=true;;
-  Darwin*) darwin=true
-           #
-           # Look for the Apple JDKs first to preserve the existing behaviour, and then look
-           # for the new JDKs provided by Oracle.
-           #
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
-             #
-             # Oracle JDKs
-             #
-             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=`/usr/libexec/java_home`
-           fi
-           ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
-  if [ -r /etc/gentoo-release ] ; then
-    JAVA_HOME=`java-config --jre-home`
-  fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Migwn, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-  # TODO classpath?
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="`which javac`"
-  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=`which readlink`
-    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
-      if $darwin ; then
-        javaHome="`dirname \"$javaExecutable\"`"
-        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
-      else
-        javaExecutable="`readlink -f \"$javaExecutable\"`"
-      fi
-      javaHome="`dirname \"$javaExecutable\"`"
-      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
-  if [ -n "$JAVA_HOME"  ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="`which java`"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
-fi
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-  local basedir=$(pwd)
-  local wdir=$(pwd)
-  while [ "$wdir" != '/' ] ; do
-    if [ -d "$wdir"/.mvn ] ; then
-      basedir=$wdir
-      break
-    fi
-    wdir=$(cd "$wdir/.."; pwd)
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' < "$1")"
-  fi
-}
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} "$@"
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw.cmd b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw.cmd
deleted file mode 100644
index 2b934e89dd1d9872b747047fa696477264a86ad8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/mvnw.cmd
+++ /dev/null
@@ -1,145 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements.  See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership.  The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License.  You may obtain a copy of the License at
-@REM
-@REM    http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied.  See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven2 Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-set MAVEN_CMD_LINE_ARGS=%*
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-
-set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/package.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/package.json
deleted file mode 100644
index 40b71f4371692a8f69dbacf4d2a86b4fdaaf2ba1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/package.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
-  "name": "acsmi",
-  "version": "0.0.0",
-  "description": "Description for acsmi",
-  "private": true,
-  "cacheDirectories": [
-    "node_modules",
-    "src/main/webapp/bower_components"
-  ],
-  "devDependencies": {
-    "bower": "1.7.9",
-    "browser-sync": "2.17.0",
-    "del": "2.2.2",
-    "eslint-config-angular": "0.5.0",
-    "eslint-plugin-angular": "2.2.1",
-    "event-stream": "3.3.4",
-    "generator-jhipster": "4.5.1",
-    "gulp": "3.9.1",
-    "gulp-angular-filesort": "1.1.1",
-    "gulp-angular-templatecache": "2.0.0",
-    "gulp-autoprefixer": "3.1.1",
-    "gulp-changed": "1.3.2",
-    "gulp-cssnano": "2.1.2",
-    "gulp-eslint": "3.0.1",
-    "gulp-flatten": "0.3.1",
-    "gulp-footer": "1.0.5",
-    "gulp-htmlmin": "2.0.0",
-    "gulp-if": "2.0.1",
-    "gulp-imagemin": "3.0.3",
-    "gulp-inject": "4.1.0",
-    "gulp-natural-sort": "0.1.1",
-    "gulp-ng-annotate": "2.0.0",
-    "gulp-ng-constant": "1.1.0",
-    "gulp-notify": "2.2.0",
-    "gulp-plumber": "1.1.0",
-    "gulp-rename": "1.2.2",
-    "gulp-replace": "0.5.4",
-    "gulp-rev": "7.1.2",
-    "gulp-rev-replace": "0.4.3",
-    "gulp-sourcemaps": "1.6.0",
-    "gulp-uglify": "2.0.0",
-    "gulp-useref": "3.1.2",
-    "jasmine-core": "2.5.0",
-    "karma": "1.2.0",
-    "karma-chrome-launcher": "2.0.0",
-    "karma-coverage": "1.1.1",
-    "karma-jasmine": "1.0.2",
-    "karma-junit-reporter": "1.1.0",
-    "karma-phantomjs-launcher": "1.0.2",
-    "karma-script-launcher": "1.0.0",
-    "lazypipe": "1.0.1",
-    "lodash": "4.15.0",
-    "main-bower-files": "2.13.1",
-    "map-stream": "0.0.6",
-    "phantomjs-prebuilt": "2.1.12",
-    "proxy-middleware": "0.15.0",
-    "run-sequence": "1.2.2",
-    "xml2js": "0.4.17",
-    "yargs": "5.0.0"
-  },
-  "engines": {
-    "node": "^4.3"
-  },
-  "scripts": {
-    "test": "gulp test"
-  }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/pom.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/pom.xml
deleted file mode 100644
index 8032ec70d44142a9418d808b880c2d6c83bf22c7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/pom.xml
+++ /dev/null
@@ -1,991 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <groupId>org.springframework.boot</groupId>
-        <version>1.5.3.RELEASE</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>eu.decideh2020.acsmi</groupId>
-    <artifactId>eu.decideh2020.acsmi.frontend.server</artifactId>
-    <version>1.0.0</version>
-    <packaging>war</packaging>
-    <name>Acsmi</name>
-
-    <properties>
-        <argLine>-Djava.security.egd=file:/dev/./urandom -Xmx256m</argLine>
-        <assertj.version>3.6.2</assertj.version>
-        <awaitility.version>2.0.0</awaitility.version>
-        <bucket4j.version>2.0.1</bucket4j.version>
-        <commons-io.version>2.5</commons-io.version>
-        <commons-lang.version>3.5</commons-lang.version>
-        <docker-maven-plugin.version>0.4.13</docker-maven-plugin.version>
-        <!-- Overridden to get metrics-jcache -->
-        <dropwizard-metrics.version>3.2.2</dropwizard-metrics.version>
-        <frontend-maven-plugin.version>1.4</frontend-maven-plugin.version>
-        <hazelcast-hibernate52.version>1.2</hazelcast-hibernate52.version>
-        <hibernate.version>5.2.8.Final</hibernate.version>
-        <hikaricp.version>2.6.0</hikaricp.version>
-        <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
-        <java.version>1.8</java.version>
-        <jcache.version>1.0.0</jcache.version>
-        <jhipster.server.version>1.1.3</jhipster.server.version>
-        <jjwt.version>0.7.0</jjwt.version>
-        <liquibase-hibernate5.version>3.6</liquibase-hibernate5.version>
-        <liquibase-slf4j.version>2.0.0</liquibase-slf4j.version>
-        <logstash-logback-encoder.version>4.9</logstash-logback-encoder.version>
-        <m2e.apt.activation>jdt_apt</m2e.apt.activation>
-        <mapstruct.version>1.1.0.Final</mapstruct.version>
-        <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
-        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
-        <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
-        <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
-        <maven.compiler.source>${java.version}</maven.compiler.source>
-        <maven.compiler.target>${java.version}</maven.compiler.target>
-        <maven.version>3.0.0</maven.version>
-        <metrics-spring.version>3.1.3</metrics-spring.version>
-        <node.version>v6.10.3</node.version>
-        <!-- These remain empty unless the corresponding profile is active -->
-        <profile.no-liquibase />
-        <profile.swagger />
-        <prometheus-simpleclient.version>0.0.20</prometheus-simpleclient.version>
-        <!-- Sonar properties -->
-        <project.testresult.directory>${project.build.directory}/test-results</project.testresult.directory>
-        <run.addResources>false</run.addResources>
-        <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
-        <scala.version>2.12.1</scala.version>
-        <sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
-
-        <sonar.exclusions>src/main/webapp/content/**/*.*, src/main/webapp/bower_components/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.*</sonar.exclusions>
-
-        <sonar.issue.ignore.multicriteria>S3437,UndocumentedApi,BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria>
-
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is recommended by http://fontawesome.io/examples/ -->
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>src/main/webapp/app/**/*.*</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>Web:BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient -->
-        <sonar.issue.ignore.multicriteria.S3437.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.S3437.resourceKey>
-        <sonar.issue.ignore.multicriteria.S3437.ruleKey>squid:S3437</sonar.issue.ignore.multicriteria.S3437.ruleKey>
-        <!-- Rule http://sonarqube.com/coding_rules#rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory -->
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>squid:UndocumentedApi</sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>
-
-        <sonar.jacoco.itReportPath>${project.testresult.directory}/coverage/jacoco/jacoco-it.exec</sonar.jacoco.itReportPath>
-        <sonar.jacoco.reportPath>${project.testresult.directory}/coverage/jacoco/jacoco.exec</sonar.jacoco.reportPath>
-        <sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
-
-        <sonar.javascript.jstestdriver.reportsPath>${project.testresult.directory}/karma</sonar.javascript.jstestdriver.reportsPath>
-        <!-- For Sonar < 6.2 -->
-        <sonar.javascript.lcov.reportPath>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPath>
-        <!-- For Sonar >= 6.2 -->
-        <sonar.javascript.lcov.reportPaths>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPaths>
-
-        <sonar.sources>${project.basedir}/src/main/</sonar.sources>
-        <sonar.surefire.reportsPath>${project.testresult.directory}/surefire-reports</sonar.surefire.reportsPath>
-        <sonar.tests>${project.basedir}/src/test/</sonar.tests>
-
-        <!-- Spring properties -->
-        <spring-cloud.version>Dalston.RELEASE</spring-cloud.version>
-        <springfox.version>2.6.1</springfox.version>
-        <validation-api.version>1.1.0.Final</validation-api.version>
-        <yarn.version>v0.24.4</yarn.version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.cloud</groupId>
-                <artifactId>spring-cloud-dependencies</artifactId>
-                <version>${spring-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.github.jhipster</groupId>
-            <artifactId>jhipster</artifactId>
-            <version>${jhipster.server.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-annotation</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-json</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-jvm</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlet</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlets</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hibernate5</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hppc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-json-org</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast-hibernate52</artifactId>
-            <version>${hazelcast-hibernate52.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.hazelcast</groupId>
-            <artifactId>hazelcast-spring</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <version>${awaitility.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.jayway.jsonpath</groupId>
-            <artifactId>json-path</artifactId>
-            <scope>test</scope>
-            <!-- parent POM declares this dependency in default (compile) scope -->
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>${springfox.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.mapstruct</groupId>
-                    <artifactId>mapstruct</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-bean-validators</artifactId>
-            <version>${springfox.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.mattbertolini</groupId>
-            <artifactId>liquibase-slf4j</artifactId>
-            <version>${liquibase-slf4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.ryantenney.metrics</groupId>
-            <artifactId>metrics-spring</artifactId>
-            <version>${metrics-spring.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.zaxxer</groupId>
-            <artifactId>HikariCP</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons-io.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>${commons-lang.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.cache</groupId>
-            <artifactId>cache-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-envers</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.liquibase</groupId>
-            <artifactId>liquibase-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-jdk8</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-loader-tools</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-aop</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-mail</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-websocket</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-            <version>${jjwt.version}</version>
-        </dependency>
-        <!-- Spring Cloud -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-zuul</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.github.vladimir-bukhtoyarov</groupId>
-            <artifactId>bucket4j-core</artifactId>
-            <version>${bucket4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.vladimir-bukhtoyarov</groupId>
-            <artifactId>bucket4j-jcache</artifactId>
-            <version>${bucket4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-ribbon</artifactId>
-            <!-- netty's native is pulled, but is useless unless you explicitly add the native binary dependency.
-                 Having it in the classpath without the binary can cause warnings -->
-            <exclusions>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty-transport-native-epoll</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-hystrix</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-spectator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.retry</groupId>
-            <artifactId>spring-retry</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-eureka</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-config</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>${logstash-logback-encoder.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-classic</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-access</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cloud-connectors</artifactId>
-        </dependency>
-        <!-- security -->
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-data</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-messaging</artifactId>
-        </dependency>
-        <!-- jhipster-needle-maven-add-dependency -->
-    </dependencies>
-    <build>
-        <defaultGoal>spring-boot:run</defaultGoal>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>${maven-compiler-plugin.version}</version>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${mapstruct.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-eclipse-plugin</artifactId>
-                <configuration>
-                    <downloadSources>true</downloadSources>
-                    <downloadJavadocs>true</downloadJavadocs>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>${maven-enforcer-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>enforce-versions</id>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <rules>
-                        <requireMavenVersion>
-                            <message>You are running an older version of Maven. JHipster requires at least Maven ${maven.version}</message>
-                            <version>[${maven.version},)</version>
-                        </requireMavenVersion>
-                        <requireJavaVersion>
-                            <message>You are running an older version of Java. JHipster requires at least JDK ${java.version}</message>
-                            <version>[${java.version}.0,)</version>
-                        </requireJavaVersion>
-                    </rules>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven-resources-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>default-resources</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>target/classes</outputDirectory>
-                            <useDefaultDelimiters>false</useDefaultDelimiters>
-                            <delimiters>
-                                <delimiter>#</delimiter>
-                            </delimiters>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>true</filtering>
-                                    <includes>
-                                        <include>**/*.xml</include>
-                                        <include>**/*.yml</include>
-                                    </includes>
-                                </resource>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>false</filtering>
-                                    <excludes>
-                                        <exclude>**/*.xml</exclude>
-                                        <exclude>**/*.yml</exclude>
-                                    </excludes>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <!-- Force alphabetical order to have a reproducible build -->
-                    <runOrder>alphabetical</runOrder>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco-maven-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>pre-unit-tests</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Sets the path to the file which contains the execution data. -->
-                            <destFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</destFile>
-                        </configuration>
-                    </execution>
-                    <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
-                    <execution>
-                        <id>post-unit-test</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                        <configuration>
-                            <dataFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</dataFile>
-                            <outputDirectory>${project.testresult.directory}/coverage/jacoco</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.sonarsource.scanner.maven</groupId>
-                <artifactId>sonar-maven-plugin</artifactId>
-                <version>${sonar-maven-plugin.version}</version>
-            </plugin>
-            <plugin>
-                <groupId>org.liquibase</groupId>
-                <artifactId>liquibase-maven-plugin</artifactId>
-                <version>${liquibase.version}</version>
-                <configuration>
-                    <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
-                    <diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
-                    <driver>com.mysql.jdbc.Driver</driver>
-                    <url>jdbc:mysql://localhost:3306/acsmi</url>
-                    <defaultSchemaName>acsmi</defaultSchemaName>
-                    <username>root</username>
-                    <password></password>
-                    <referenceUrl>hibernate:spring:eu.decideh2020.acsmi.frontend.server.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
-                    <verbose>true</verbose>
-                    <logging>debug</logging>
-                </configuration>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.javassist</groupId>
-                        <artifactId>javassist</artifactId>
-                        <version>${javassist.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.liquibase.ext</groupId>
-                        <artifactId>liquibase-hibernate5</artifactId>
-                        <version>${liquibase-hibernate5.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-starter-data-jpa</artifactId>
-                        <version>${project.parent.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>javax.validation</groupId>
-                        <artifactId>validation-api</artifactId>
-                        <version>${validation-api.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <executable>true</executable>
-                    <fork>true</fork>
-                    <!--
-                    Enable the line below to have remote debugging of your application on port 5005
-                    <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                    -->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>com.spotify</groupId>
-                <artifactId>docker-maven-plugin</artifactId>
-                <version>${docker-maven-plugin.version}</version>
-                <configuration>
-                    <imageName>acsmi</imageName>
-                    <dockerDirectory>src/main/docker</dockerDirectory>
-                    <resources>
-                        <resource>
-                            <targetPath>/</targetPath>
-                            <directory>${project.build.directory}</directory>
-                            <include>${project.build.finalName}.war</include>
-                        </resource>
-                    </resources>
-                </configuration>
-            </plugin>
-            <!-- jhipster-needle-maven-add-plugin -->
-        </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--
-                    This plugin's configuration is used to store Eclipse m2e settings only.
-                    It has no influence on the Maven build itself.
-                    Remove when the m2e plugin can correctly bind to Maven lifecycle
-                -->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.jacoco</groupId>
-                                        <artifactId>
-                                            jacoco-maven-plugin
-                                        </artifactId>
-                                        <versionRange>
-                                            ${jacoco-maven-plugin.version}
-                                        </versionRange>
-                                        <goals>
-                                            <goal>prepare-agent</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>com.github.eirslett</groupId>
-                                        <artifactId>frontend-maven-plugin</artifactId>
-                                        <versionRange>${frontend-maven-plugin.version}</versionRange>
-                                        <goals>
-                                            <goal>install-node-and-yarn</goal>
-                                            <goal>yarn</goal>
-                                            <goal>bower</goal>
-                                            <goal>gulp</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-    <profiles>
-        <profile>
-            <id>no-liquibase</id>
-            <properties>
-                <profile.no-liquibase>,no-liquibase</profile.no-liquibase>
-            </properties>
-        </profile>
-        <profile>
-            <id>swagger</id>
-            <properties>
-                <profile.swagger>,swagger</profile.swagger>
-            </properties>
-        </profile>
-        <profile>
-            <id>dev</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>src/main/webapp/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev${profile.no-liquibase}</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <id>prod</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-clean-plugin</artifactId>
-                        <configuration>
-                            <filesets>
-                                <fileset>
-                                    <directory>target/www/</directory>
-                                </fileset>
-                            </filesets>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>target/www/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>build-info</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>com.github.eirslett</groupId>
-                        <artifactId>frontend-maven-plugin</artifactId>
-                        <version>${frontend-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>install node and yarn</id>
-                                <goals>
-                                    <goal>install-node-and-yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <nodeVersion>${node.version}</nodeVersion>
-                                    <yarnVersion>${yarn.version}</yarnVersion>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>yarn install</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <arguments>install</arguments>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>bower install</id>
-                                <goals>
-                                    <goal>bower</goal>
-                                </goals>
-                                <configuration>
-                                    <arguments>install --no-color</arguments>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>gulp build</id>
-                                <goals>
-                                    <goal>gulp</goal>
-                                </goals>
-                                <configuration>
-                                    <arguments>build --no-notification</arguments>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>gulp test</id>
-                                <goals>
-                                    <goal>gulp</goal>
-                                </goals>
-                                <phase>test</phase>
-                                <configuration>
-                                    <arguments>test --no-notification</arguments>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>INFO</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>prod${profile.swagger}${profile.no-liquibase}</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for doing "continuous compilation" with the Scala Maven plugin.
-                It allows automatic compilation of Java classes as soon as they are saved.
-                To use it, run in 3 terminals:
-                - './mvnw -Pcc scala:cc' for continous compilation of your classes
-                - './mvnw -Pcc' for hot reload of Spring boot
-                - 'gulp' for hot reload of the HTML/JavaScript assets
-                Everything should hot reload automatically!
-            -->
-            <id>cc</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>src/main/webapp/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                            <fork>true</fork>
-                            <addResources>true</addResources>
-                            <!--
-                            Enable the line below to have remote debugging of your application on port 5005
-                            <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                            -->
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>default-compile</id>
-                                <phase>none</phase>
-                            </execution>
-                            <execution>
-                                <id>default-testCompile</id>
-                                <phase>none</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>net.alchim31.maven</groupId>
-                        <artifactId>scala-maven-plugin</artifactId>
-                        <version>${scala-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>compile</id>
-                                <phase>compile</phase>
-                                <goals>
-                                    <goal>add-source</goal>
-                                    <goal>compile</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>test-compile</id>
-                                <phase>test-compile</phase>
-                                <goals>
-                                    <goal>add-source</goal>
-                                    <goal>testCompile</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <recompileMode>incremental</recompileMode>
-                            <verbose>true</verbose>
-                            <scalaVersion>${scala.version}</scalaVersion>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev,swagger</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Graphite.
-            -->
-            <id>graphite</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.dropwizard.metrics</groupId>
-                    <artifactId>metrics-graphite</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Prometheus.
-            -->
-            <id>prometheus</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_servlet</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_dropwizard</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for tracing requests with Zipkin.
-            -->
-            <id>zipkin</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.cloud</groupId>
-                    <artifactId>spring-cloud-starter-zipkin</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for applying IDE-specific configuration.
-                At the moment it only configures MapStruct, which you need when working
-                with DTOs.
-            -->
-            <id>IDE</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.mapstruct</groupId>
-                    <artifactId>mapstruct-processor</artifactId>
-                    <version>${mapstruct.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-    </profiles>
-</project>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/Dockerfile b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/Dockerfile
deleted file mode 100644
index d4533d46bd6b6c24e5a04cb8b56b5f5aa455e01f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/Dockerfile
+++ /dev/null
@@ -1,13 +0,0 @@
-FROM openjdk:8-jre-alpine
-
-ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
-    JHIPSTER_SLEEP=0 \
-    JAVA_OPTS=""
-
-# add directly the war
-ADD *.war /app.war
-
-EXPOSE 8080 5701/udp
-CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
-    sleep ${JHIPSTER_SLEEP} && \
-    java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/app.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/app.yml
deleted file mode 100644
index 6e4ca2a954e8798a40dbbe6923c4a220bd67b62b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/app.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-version: '2'
-services:
-    acsmi-app:
-        image: acsmi
-        environment:
-            - SPRING_PROFILES_ACTIVE=prod,swagger
-            - EUREKA_CLIENT_SERVICE-URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
-            - SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
-            - SPRING_DATASOURCE_URL=jdbc:mysql://acsmi-mysql:3306/acsmi?useUnicode=true&characterEncoding=utf8&useSSL=false
-            - JHIPSTER_SLEEP=30 # gives time for the JHipster Registry to boot before the application
-        ports:
-            - 8080:8080
-    acsmi-mysql:
-        extends:
-            file: mysql.yml
-            service: acsmi-mysql
-    jhipster-registry:
-        extends:
-            file: jhipster-registry.yml
-            service: jhipster-registry
-        environment:
-            - SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:./central-config/docker-config/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/README.md b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/README.md
deleted file mode 100644
index 022a152863489166b7aa7c23c9e00c0e175e2ca2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Central configuration sources details
-
-The JHipster-Registry will use the following directories as its configuration source :
-- localhost-config : when running the registry in docker with the jhipster-registry.yml docker-compose file
-- docker-config : when running the registry and the app both in docker with the app.yml docker-compose file
-
-For more info, refer to http://jhipster.github.io/microservices-architecture/#registry_app_configuration
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/docker-config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/docker-config/application.yml
deleted file mode 100644
index d95847f6a2d65dddc1ce68da91c7757035b0fe69..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/docker-config/application.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Common configuration shared between all applications
-configserver:
-    name: Docker JHipster Registry
-    status: Connected to the JHipster Registry running in Docker
-
-jhipster:
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-
-eureka:
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@jhipster-registry:8761/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/localhost-config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/localhost-config/application.yml
deleted file mode 100644
index 2c8a0dea779ef33fe40f6a394d5155405a2df38c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/central-server-config/localhost-config/application.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Common configuration shared between all applications
-configserver:
-    name: Docker JHipster Registry
-    status: Connected to the JHipster Registry running in Docker
-
-jhipster:
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-
-eureka:
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/jhipster-registry.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/jhipster-registry.yml
deleted file mode 100644
index 25772b0d51c8f21d0cb1f1ccc40131e518b1391b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/jhipster-registry.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-version: '2'
-services:
-    jhipster-registry:
-        image: jhipster/jhipster-registry:v3.0.1
-        volumes:
-            - ./central-server-config:/central-config
-        # When run with the "dev" Spring profile, the JHipster Registry will
-        # read the config from the local filesystem (central-server-config directory)
-        # When run with the "prod" Spring profile, it will read the config from a git repository
-        # See http://jhipster.github.io/microservices-architecture/#registry_app_configuration
-        environment:
-            - SPRING_PROFILES_ACTIVE=dev
-            - SECURITY_USER_PASSWORD=admin
-            - SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:./central-config/localhost-config/
-            # - GIT_URI=https://github.com/jhipster/jhipster-registry/
-            # - GIT_SEARCH_PATHS=central-config
-        ports:
-            - 8761:8761
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/mysql.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/mysql.yml
deleted file mode 100644
index ea64eb514035413d8fcee2266e433106d27366cb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/mysql.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: '2'
-services:
-    acsmi-mysql:
-        image: mysql:5.7.18
-        # volumes:
-        #     - ~/volumes/jhipster/acsmi/mysql/:/var/lib/mysql/
-        environment:
-            - MYSQL_USER=root
-            - MYSQL_ALLOW_EMPTY_PASSWORD=yes
-            - MYSQL_DATABASE=acsmi
-        ports:
-            - 3306:3306
-        command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8 --explicit_defaults_for_timestamp
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/sonar.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/sonar.yml
deleted file mode 100644
index 9c71a2c8899388e70deb3ddbcf25c670c349a15e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/docker/sonar.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: '2'
-services:
-    acsmi-sonar:
-        image: sonarqube:6.2-alpine
-        ports:
-            - 9000:9000
-            - 9092:9092
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/AcsmiApp.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/AcsmiApp.java
deleted file mode 100644
index 4fe2ebb70313ad19afe3f73fefe5103df320d2be..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/AcsmiApp.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server;
-
-import eu.decideh2020.acsmi.frontend.server.config.ApplicationProperties;
-import eu.decideh2020.acsmi.frontend.server.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.actuate.autoconfigure.*;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.core.env.Environment;
-
-import javax.annotation.PostConstruct;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collection;
-
-@ComponentScan
-@EnableAutoConfiguration(exclude = {MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class, MetricsDropwizardAutoConfiguration.class})
-@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
-@EnableDiscoveryClient
-@EnableZuulProxy
-public class AcsmiApp {
-
-    private static final Logger log = LoggerFactory.getLogger(AcsmiApp.class);
-
-    private final Environment env;
-
-    public AcsmiApp(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Initializes acsmi.
-     * <p>
-     * Spring profiles can be configured with a program arguments --spring.profiles.active=your-active-profile
-     * <p>
-     * You can find more information on how profiles work with JHipster on <a href="http://jhipster.github.io/profiles/">http://jhipster.github.io/profiles/</a>.
-     */
-    @PostConstruct
-    public void initApplication() {
-        Collection<String> activeProfiles = Arrays.asList(env.getActiveProfiles());
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            log.error("You have misconfigured your application! It should not run " +
-                "with both the 'dev' and 'prod' profiles at the same time.");
-        }
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_CLOUD)) {
-            log.error("You have misconfigured your application! It should not" +
-                "run with both the 'dev' and 'cloud' profiles at the same time.");
-        }
-    }
-
-    /**
-     * Main method, used to run the application.
-     *
-     * @param args the command line arguments
-     * @throws UnknownHostException if the local host name could not be resolved into an address
-     */
-    public static void main(String[] args) throws UnknownHostException {
-        SpringApplication app = new SpringApplication(AcsmiApp.class);
-        DefaultProfileUtil.addDefaultProfile(app);
-        Environment env = app.run(args).getEnvironment();
-        String protocol = "http";
-        if (env.getProperty("server.ssl.key-store") != null) {
-            protocol = "https";
-        }
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Application '{}' is running! Access URLs:\n\t" +
-                "Local: \t\t{}://localhost:{}\n\t" +
-                "External: \t{}://{}:{}\n\t" +
-                "Profile(s): \t{}\n----------------------------------------------------------",
-            env.getProperty("spring.application.name"),
-            protocol,
-            env.getProperty("server.port"),
-            protocol,
-            InetAddress.getLocalHost().getHostAddress(),
-            env.getProperty("server.port"),
-            env.getActiveProfiles());
-
-        String configServerStatus = env.getProperty("configserver.status");
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Config Server: \t{}\n----------------------------------------------------------",
-            configServerStatus == null ? "Not found or not setup for this application" : configServerStatus);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/ApplicationWebXml.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/ApplicationWebXml.java
deleted file mode 100644
index 2589bc406f181c2ff2b71aac254ff41e725f8305..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/ApplicationWebXml.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server;
-
-import eu.decideh2020.acsmi.frontend.server.config.DefaultProfileUtil;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-/**
- * This is a helper Java class that provides an alternative to creating a web.xml.
- * This will be invoked only when the application is deployed to a servlet container like Tomcat, JBoss etc.
- */
-public class ApplicationWebXml extends SpringBootServletInitializer {
-
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
-        /**
-         * set a default to use when no profile is configured.
-         */
-        DefaultProfileUtil.addDefaultProfile(application.application());
-        return application.sources(AcsmiApp.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/aop/logging/LoggingAspect.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/aop/logging/LoggingAspect.java
deleted file mode 100644
index dc71e9a839c66e5fc16f8569bab4442314ffc5e2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/aop/logging/LoggingAspect.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.aop.logging;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.env.Environment;
-
-import java.util.Arrays;
-
-/**
- * Aspect for logging execution of service and repository Spring components.
- *
- * By default, it only runs with the "dev" profile.
- */
-@Aspect
-public class LoggingAspect {
-
-    private final Logger log = LoggerFactory.getLogger(this.getClass());
-
-    private final Environment env;
-
-    public LoggingAspect(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Pointcut that matches all repositories, services and Web REST endpoints.
-     */
-    @Pointcut("(within(eu.decideh2020.acsmi.frontend.server.repository..*) && @annotation(org.springframework.stereotype.Repository))"+
-        " || (within(eu.decideh2020.acsmi.frontend.server.service..*) && @annotation(org.springframework.stereotype.Service))"+
-        " || (within(eu.decideh2020.acsmi.frontend.server.web.rest..*) && @annotation(org.springframework.web.bind.annotation.RestController))")
-    public void loggingPointcut() {
-        // Method is empty as this is just a Pointcut, the implementations are in the advices.
-    }
-
-    /**
-     * Advice that logs methods throwing exceptions.
-     *
-     * @param joinPoint join point for advice
-     * @param e exception
-     */
-    @AfterThrowing(pointcut = "loggingPointcut()", throwing = "e")
-    public void logAfterThrowing(JoinPoint joinPoint, Throwable e) {
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) {
-            log.error("Exception in {}.{}() with cause = \'{}\' and exception = \'{}\'", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL", e.getMessage(), e);
-
-        } else {
-            log.error("Exception in {}.{}() with cause = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL");
-        }
-    }
-
-    /**
-     * Advice that logs when a method is entered and exited.
-     *
-     * @param joinPoint join point for advice
-     * @return result
-     * @throws Throwable throws IllegalArgumentException
-     */
-    @Around("loggingPointcut()")
-    public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {
-        if (log.isDebugEnabled()) {
-            log.debug("Enter: {}.{}() with argument[s] = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), Arrays.toString(joinPoint.getArgs()));
-        }
-        try {
-            Object result = joinPoint.proceed();
-            if (log.isDebugEnabled()) {
-                log.debug("Exit: {}.{}() with result = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                    joinPoint.getSignature().getName(), result);
-            }
-            return result;
-        } catch (IllegalArgumentException e) {
-            log.error("Illegal argument: {} in {}.{}()", Arrays.toString(joinPoint.getArgs()),
-                joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName());
-
-            throw e;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ApplicationProperties.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ApplicationProperties.java
deleted file mode 100644
index be567d6ea561f01b798ccf1a86e8bb07f7f3b353..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ApplicationProperties.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Properties specific to JHipster.
- *
- * <p>
- *     Properties are configured in the application.yml file.
- * </p>
- */
-@ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
-public class ApplicationProperties {
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/AsyncConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/AsyncConfiguration.java
deleted file mode 100644
index f16d402d1370444171c8c54f62d347fef9375b5e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/AsyncConfiguration.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor;
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
-import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.*;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-
-import java.util.concurrent.Executor;
-
-@Configuration
-@EnableAsync
-@EnableScheduling
-public class AsyncConfiguration implements AsyncConfigurer {
-
-    private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class);
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public AsyncConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    @Bean(name = "taskExecutor")
-    public Executor getAsyncExecutor() {
-        log.debug("Creating Async Task Executor");
-        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        executor.setCorePoolSize(jHipsterProperties.getAsync().getCorePoolSize());
-        executor.setMaxPoolSize(jHipsterProperties.getAsync().getMaxPoolSize());
-        executor.setQueueCapacity(jHipsterProperties.getAsync().getQueueCapacity());
-        executor.setThreadNamePrefix("acsmi-Executor-");
-        return new ExceptionHandlingAsyncTaskExecutor(executor);
-    }
-
-    @Override
-    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
-        return new SimpleAsyncUncaughtExceptionHandler();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CacheConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CacheConfiguration.java
deleted file mode 100644
index 2096a3a2cb3b37f68767274a1e73e4580a9a531a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CacheConfiguration.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-
-import com.hazelcast.config.Config;
-import com.hazelcast.core.HazelcastInstance;
-import com.hazelcast.core.Hazelcast;
-import com.hazelcast.config.MapConfig;
-import com.hazelcast.config.EvictionPolicy;
-import com.hazelcast.config.MaxSizeConfig;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.AutoConfigureBefore;
-import org.springframework.boot.autoconfigure.web.ServerProperties;
-
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.cloud.client.ServiceInstance;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.cloud.client.serviceregistry.Registration;
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-
-import javax.annotation.PreDestroy;
-
-@Configuration
-@EnableCaching
-@AutoConfigureAfter(value = { MetricsConfiguration.class })
-@AutoConfigureBefore(value = { WebConfigurer.class, DatabaseConfiguration.class })
-public class CacheConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(CacheConfiguration.class);
-
-    private final Environment env;
-
-    private final ServerProperties serverProperties;
-
-    private final DiscoveryClient discoveryClient;
-
-    private Registration registration;
-
-    public CacheConfiguration(Environment env, ServerProperties serverProperties, DiscoveryClient discoveryClient) {
-        this.env = env;
-        this.serverProperties = serverProperties;
-        this.discoveryClient = discoveryClient;
-    }
-
-    @Autowired(required = false)
-    public void setRegistration(Registration registration) {
-        this.registration = registration;
-    }
-
-    @PreDestroy
-    public void destroy() {
-        log.info("Closing Cache Manager");
-        Hazelcast.shutdownAll();
-    }
-
-    @Bean
-    public CacheManager cacheManager(HazelcastInstance hazelcastInstance) {
-        log.debug("Starting HazelcastCacheManager");
-        CacheManager cacheManager = new com.hazelcast.spring.cache.HazelcastCacheManager(hazelcastInstance);
-        return cacheManager;
-    }
-
-    @Bean
-    public HazelcastInstance hazelcastInstance(JHipsterProperties jHipsterProperties) {
-        log.debug("Configuring Hazelcast");
-        HazelcastInstance hazelCastInstance = Hazelcast.getHazelcastInstanceByName("acsmi");
-        if (hazelCastInstance != null) {
-            log.debug("Hazelcast already initialized");
-            return hazelCastInstance;
-        }
-        Config config = new Config();
-        config.setInstanceName("acsmi");
-        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
-        if (this.registration == null) {
-            log.warn("No discovery service is set up, Hazelcast cannot create a cluster.");
-        } else {
-            // The serviceId is by default the application's name, see Spring Boot's eureka.instance.appname property
-            String serviceId = registration.getServiceId();
-            log.debug("Configuring Hazelcast clustering for instanceId: {}", serviceId);
-            // In development, everything goes through 127.0.0.1, with a different port
-            if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) {
-                log.debug("Application is running with the \"dev\" profile, Hazelcast " +
-                          "cluster will only work with localhost instances");
-
-                System.setProperty("hazelcast.local.localAddress", "127.0.0.1");
-                config.getNetworkConfig().setPort(serverProperties.getPort() + 5701);
-                config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
-                for (ServiceInstance instance : discoveryClient.getInstances(serviceId)) {
-                    String clusterMember = "127.0.0.1:" + (instance.getPort() + 5701);
-                    log.debug("Adding Hazelcast (dev) cluster member " + clusterMember);
-                    config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(clusterMember);
-                }
-            } else { // Production configuration, one host per instance all using port 5701
-                config.getNetworkConfig().setPort(5701);
-                config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
-                for (ServiceInstance instance : discoveryClient.getInstances(serviceId)) {
-                    String clusterMember = instance.getHost() + ":5701";
-                    log.debug("Adding Hazelcast (prod) cluster member " + clusterMember);
-                    config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(clusterMember);
-                }
-            }
-        }
-        config.getMapConfigs().put("default", initializeDefaultMapConfig());
-        config.getMapConfigs().put("eu.decideh2020.acsmi.frontend.server.domain.*", initializeDomainMapConfig(jHipsterProperties));
-        return Hazelcast.newHazelcastInstance(config);
-    }
-
-    private MapConfig initializeDefaultMapConfig() {
-        MapConfig mapConfig = new MapConfig();
-
-    /*
-        Number of backups. If 1 is set as the backup-count for example,
-        then all entries of the map will be copied to another JVM for
-        fail-safety. Valid numbers are 0 (no backup), 1, 2, 3.
-     */
-        mapConfig.setBackupCount(0);
-
-    /*
-        Valid values are:
-        NONE (no eviction),
-        LRU (Least Recently Used),
-        LFU (Least Frequently Used).
-        NONE is the default.
-     */
-        mapConfig.setEvictionPolicy(EvictionPolicy.LRU);
-
-    /*
-        Maximum size of the map. When max size is reached,
-        map is evicted based on the policy defined.
-        Any integer between 0 and Integer.MAX_VALUE. 0 means
-        Integer.MAX_VALUE. Default is 0.
-     */
-        mapConfig.setMaxSizeConfig(new MaxSizeConfig(0, MaxSizeConfig.MaxSizePolicy.USED_HEAP_SIZE));
-
-        return mapConfig;
-    }
-
-    private MapConfig initializeDomainMapConfig(JHipsterProperties jHipsterProperties) {
-        MapConfig mapConfig = new MapConfig();
-        mapConfig.setTimeToLiveSeconds(jHipsterProperties.getCache().getHazelcast().getTimeToLiveSeconds());
-        return mapConfig;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CloudDatabaseConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CloudDatabaseConfiguration.java
deleted file mode 100644
index 0087cf33bffce6e5576ee8c24c9059e3ac7e2513..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/CloudDatabaseConfiguration.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cache.CacheManager;
-import org.springframework.cloud.config.java.AbstractCloudConfig;
-import org.springframework.context.annotation.*;
-
-import javax.sql.DataSource;
-
-@Configuration
-@Profile(JHipsterConstants.SPRING_PROFILE_CLOUD)
-public class CloudDatabaseConfiguration extends AbstractCloudConfig {
-
-    private final Logger log = LoggerFactory.getLogger(CloudDatabaseConfiguration.class);
-
-    @Bean
-    public DataSource dataSource(CacheManager cacheManager) {
-        log.info("Configuring JDBC datasource from a cloud provider");
-        return connectionFactory().dataSource();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/Constants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/Constants.java
deleted file mode 100644
index 6565539fe9dbe5624e84e4a21307f222f3ee1e54..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/Constants.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-/**
- * Application constants.
- */
-public final class Constants {
-
-    //Regex for acceptable logins
-    public static final String LOGIN_REGEX = "^[_'.@A-Za-z0-9-]*$";
-
-    public static final String SYSTEM_ACCOUNT = "system";
-    public static final String ANONYMOUS_USER = "anonymoususer";
-
-    private Constants() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DatabaseConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DatabaseConfiguration.java
deleted file mode 100644
index 263ca57ca3d8fd466c95a8649b7feb840eff867b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DatabaseConfiguration.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.liquibase.AsyncSpringLiquibase;
-
-import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module;
-import liquibase.integration.spring.SpringLiquibase;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import javax.sql.DataSource;
-
-@Configuration
-@EnableJpaRepositories("eu.decideh2020.acsmi.frontend.server.repository")
-@EnableJpaAuditing(auditorAwareRef = "springSecurityAuditorAware")
-@EnableTransactionManagement
-public class DatabaseConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(DatabaseConfiguration.class);
-
-    private final Environment env;
-
-    public DatabaseConfiguration(Environment env) {
-        this.env = env;
-    }
-
-    @Bean
-    public SpringLiquibase liquibase(@Qualifier("taskExecutor") TaskExecutor taskExecutor,
-            DataSource dataSource, LiquibaseProperties liquibaseProperties) {
-
-        // Use liquibase.integration.spring.SpringLiquibase if you don't want Liquibase to start asynchronously
-        SpringLiquibase liquibase = new AsyncSpringLiquibase(taskExecutor, env);
-        liquibase.setDataSource(dataSource);
-        liquibase.setChangeLog("classpath:config/liquibase/master.xml");
-        liquibase.setContexts(liquibaseProperties.getContexts());
-        liquibase.setDefaultSchema(liquibaseProperties.getDefaultSchema());
-        liquibase.setDropFirst(liquibaseProperties.isDropFirst());
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_NO_LIQUIBASE)) {
-            liquibase.setShouldRun(false);
-        } else {
-            liquibase.setShouldRun(liquibaseProperties.isEnabled());
-            log.debug("Configuring Liquibase");
-        }
-        return liquibase;
-    }
-
-    @Bean
-    public Hibernate5Module hibernate5Module() {
-        return new Hibernate5Module();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DateTimeFormatConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DateTimeFormatConfiguration.java
deleted file mode 100644
index 03306976d986b2e4323e54afc3a7ba040535999b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DateTimeFormatConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.format.FormatterRegistry;
-import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class DateTimeFormatConfiguration extends WebMvcConfigurerAdapter {
-
-    @Override
-    public void addFormatters(FormatterRegistry registry) {
-        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
-        registrar.setUseIsoFormat(true);
-        registrar.registerFormatters(registry);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DefaultProfileUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DefaultProfileUtil.java
deleted file mode 100644
index 73bb78539e6ffc278a0fbc3027bc9fb16825f2fa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/DefaultProfileUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.core.env.Environment;
-
-import java.util.*;
-
-/**
- * Utility class to load a Spring profile to be used as default
- * when there is no <code>spring.profiles.active</code> set in the environment or as command line argument.
- * If the value is not available in <code>application.yml</code> then <code>dev</code> profile will be used as default.
- */
-public final class DefaultProfileUtil {
-
-    private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default";
-
-    private DefaultProfileUtil() {
-    }
-
-    /**
-     * Set a default to use when no profile is configured.
-     *
-     * @param app the Spring application
-     */
-    public static void addDefaultProfile(SpringApplication app) {
-        Map<String, Object> defProperties =  new HashMap<>();
-        /*
-        * The default profile to use when no other profiles are defined
-        * This cannot be set in the <code>application.yml</code> file.
-        * See https://github.com/spring-projects/spring-boot/issues/1219
-        */
-        defProperties.put(SPRING_PROFILE_DEFAULT, JHipsterConstants.SPRING_PROFILE_DEVELOPMENT);
-        app.setDefaultProperties(defProperties);
-    }
-
-    /**
-     * Get the profiles that are applied else get default profiles.
-     *
-     * @param env spring environment
-     * @return profiles
-     */
-    public static String[] getActiveProfiles(Environment env) {
-        String[] profiles = env.getActiveProfiles();
-        if (profiles.length == 0) {
-            return env.getDefaultProfiles();
-        }
-        return profiles;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/GatewayConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/GatewayConfiguration.java
deleted file mode 100644
index 9e4fe6a09e9e9ee77bb9e6782ea98add4f63807c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/GatewayConfiguration.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import eu.decideh2020.acsmi.frontend.server.gateway.ratelimiting.RateLimitingFilter;
-import eu.decideh2020.acsmi.frontend.server.gateway.accesscontrol.AccessControlFilter;
-import eu.decideh2020.acsmi.frontend.server.gateway.responserewriting.SwaggerBasePathRewritingFilter;
-
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class GatewayConfiguration {
-
-    @Configuration
-    public static class SwaggerBasePathRewritingConfiguration {
-
-        @Bean
-        public SwaggerBasePathRewritingFilter swaggerBasePathRewritingFilter(){
-            return new SwaggerBasePathRewritingFilter();
-        }
-    }
-
-    @Configuration
-    public static class AccessControlFilterConfiguration {
-
-        @Bean
-        public AccessControlFilter accessControlFilter(RouteLocator routeLocator, JHipsterProperties jHipsterProperties){
-            return new AccessControlFilter(routeLocator, jHipsterProperties);
-        }
-    }
-
-    /**
-     * Configures the Zuul filter that limits the number of API calls per user.
-     * <p>
-     * For this filter to work, you need to have:
-     * <ul>
-     * <li>A working Cassandra cluster
-     * <li>A schema with the JHipster rate-limiting tables configured, using the
-     * "create_keyspace.cql" and "create_tables.cql" scripts from the
-     * "src/main/resources/config/cql" directory
-     * <li>Your cluster configured in your application-*.yml files, using the
-     * "spring.data.cassandra" keys
-     * </ul>
-     */
-    @Configuration
-    @ConditionalOnProperty("jhipster.gateway.rate-limiting.enabled")
-    public static class RateLimitingConfiguration {
-
-        private final JHipsterProperties jHipsterProperties;
-
-        public RateLimitingConfiguration(JHipsterProperties jHipsterProperties) {
-            this.jHipsterProperties = jHipsterProperties;
-        }
-
-        @Bean
-        public RateLimitingFilter rateLimitingFilter() {
-            return new RateLimitingFilter(jHipsterProperties);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LocaleConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LocaleConfiguration.java
deleted file mode 100644
index c907e461f7f49d83a1af7096899ce8373535ab23..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LocaleConfiguration.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.locale.AngularCookieLocaleResolver;
-
-import org.springframework.context.EnvironmentAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.servlet.LocaleResolver;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
-
-@Configuration
-public class LocaleConfiguration extends WebMvcConfigurerAdapter implements EnvironmentAware {
-
-    @Override
-    public void setEnvironment(Environment environment) {
-        // unused
-    }
-
-    @Bean(name = "localeResolver")
-    public LocaleResolver localeResolver() {
-        AngularCookieLocaleResolver cookieLocaleResolver = new AngularCookieLocaleResolver();
-        cookieLocaleResolver.setCookieName("NG_TRANSLATE_LANG_KEY");
-        return cookieLocaleResolver;
-    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
-        localeChangeInterceptor.setParamName("language");
-        registry.addInterceptor(localeChangeInterceptor);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingAspectConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingAspectConfiguration.java
deleted file mode 100644
index d02f7360afc7b9fc3424a276c69772b0ab8c2ece..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingAspectConfiguration.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import eu.decideh2020.acsmi.frontend.server.aop.logging.LoggingAspect;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-
-@Configuration
-@EnableAspectJAutoProxy
-public class LoggingAspectConfiguration {
-
-    @Bean
-    @Profile(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)
-    public LoggingAspect loggingAspect(Environment env) {
-        return new LoggingAspect(env);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingConfiguration.java
deleted file mode 100644
index 381d9daf2e5ed12ef8777cfbfe6051edeb51ebcd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/LoggingConfiguration.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import ch.qos.logback.classic.AsyncAppender;
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.spi.LoggerContextListener;
-import ch.qos.logback.core.spi.ContextAwareBase;
-import net.logstash.logback.appender.LogstashSocketAppender;
-import net.logstash.logback.stacktrace.ShortenedThrowableConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class LoggingConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(LoggingConfiguration.class);
-
-    private LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-
-    private final String appName;
-
-    private final String serverPort;
-
-    private final String instanceId;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public LoggingConfiguration(@Value("${spring.application.name}") String appName, @Value("${server.port}") String serverPort,
-        @Value("${eureka.instance.instanceId}") String instanceId, JHipsterProperties jHipsterProperties) {
-        this.appName = appName;
-        this.serverPort = serverPort;
-        this.instanceId = instanceId;
-        this.jHipsterProperties = jHipsterProperties;
-        if (jHipsterProperties.getLogging().getLogstash().isEnabled()) {
-            addLogstashAppender(context);
-
-            // Add context listener
-            LogbackLoggerContextListener loggerContextListener = new LogbackLoggerContextListener();
-            loggerContextListener.setContext(context);
-            context.addListener(loggerContextListener);
-        }
-    }
-
-    public void addLogstashAppender(LoggerContext context) {
-        log.info("Initializing Logstash logging");
-
-        LogstashSocketAppender logstashAppender = new LogstashSocketAppender();
-        logstashAppender.setName("LOGSTASH");
-        logstashAppender.setContext(context);
-        String customFields = "{\"app_name\":\"" + appName + "\",\"app_port\":\"" + serverPort + "\"," +
-            "\"instance_id\":\"" + instanceId + "\"}";
-
-        // Set the Logstash appender config from JHipster properties
-        logstashAppender.setSyslogHost(jHipsterProperties.getLogging().getLogstash().getHost());
-        logstashAppender.setPort(jHipsterProperties.getLogging().getLogstash().getPort());
-        logstashAppender.setCustomFields(customFields);
-
-        // Limit the maximum length of the forwarded stacktrace so that it won't exceed the 8KB UDP limit of logstash
-        ShortenedThrowableConverter throwableConverter = new ShortenedThrowableConverter();
-        throwableConverter.setMaxLength(7500);
-        throwableConverter.setRootCauseFirst(true);
-        logstashAppender.setThrowableConverter(throwableConverter);
-
-        logstashAppender.start();
-
-        // Wrap the appender in an Async appender for performance
-        AsyncAppender asyncLogstashAppender = new AsyncAppender();
-        asyncLogstashAppender.setContext(context);
-        asyncLogstashAppender.setName("ASYNC_LOGSTASH");
-        asyncLogstashAppender.setQueueSize(jHipsterProperties.getLogging().getLogstash().getQueueSize());
-        asyncLogstashAppender.addAppender(logstashAppender);
-        asyncLogstashAppender.start();
-
-        context.getLogger("ROOT").addAppender(asyncLogstashAppender);
-    }
-
-    /**
-     * Logback configuration is achieved by configuration file and API.
-     * When configuration file change is detected, the configuration is reset.
-     * This listener ensures that the programmatic configuration is also re-applied after reset.
-     */
-    class LogbackLoggerContextListener extends ContextAwareBase implements LoggerContextListener {
-
-        @Override
-        public boolean isResetResistant() {
-            return true;
-        }
-
-        @Override
-        public void onStart(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onReset(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onStop(LoggerContext context) {
-            // Nothing to do.
-        }
-
-        @Override
-        public void onLevelChange(ch.qos.logback.classic.Logger logger, Level level) {
-            // Nothing to do.
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/MetricsConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/MetricsConfiguration.java
deleted file mode 100644
index 995a9e42ecda2525e43f8ee3498618392bbf4308..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/MetricsConfiguration.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.config.metrics.SpectatorLogMetricWriter;
-
-import com.netflix.spectator.api.Registry;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricReader;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricWriter;
-import org.springframework.boot.actuate.metrics.writer.MetricWriter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.netflix.metrics.spectator.SpectatorMetricReader;
-
-import com.codahale.metrics.JmxReporter;
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.Slf4jReporter;
-import com.codahale.metrics.health.HealthCheckRegistry;
-import com.codahale.metrics.jvm.*;
-import com.ryantenney.metrics.spring.config.annotation.EnableMetrics;
-import com.ryantenney.metrics.spring.config.annotation.MetricsConfigurerAdapter;
-import com.zaxxer.hikari.HikariDataSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.*;
-
-import javax.annotation.PostConstruct;
-import java.lang.management.ManagementFactory;
-import java.util.concurrent.TimeUnit;
-
-@Configuration
-@EnableMetrics(proxyTargetClass = true)
-public class MetricsConfiguration extends MetricsConfigurerAdapter {
-
-    private static final String PROP_METRIC_REG_JVM_MEMORY = "jvm.memory";
-    private static final String PROP_METRIC_REG_JVM_GARBAGE = "jvm.garbage";
-    private static final String PROP_METRIC_REG_JVM_THREADS = "jvm.threads";
-    private static final String PROP_METRIC_REG_JVM_FILES = "jvm.files";
-    private static final String PROP_METRIC_REG_JVM_BUFFERS = "jvm.buffers";
-    private final Logger log = LoggerFactory.getLogger(MetricsConfiguration.class);
-
-    private MetricRegistry metricRegistry = new MetricRegistry();
-
-    private HealthCheckRegistry healthCheckRegistry = new HealthCheckRegistry();
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private HikariDataSource hikariDataSource;
-
-    public MetricsConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Autowired(required = false)
-    public void setHikariDataSource(HikariDataSource hikariDataSource) {
-        this.hikariDataSource = hikariDataSource;
-    }
-
-    @Override
-    @Bean
-    public MetricRegistry getMetricRegistry() {
-        return metricRegistry;
-    }
-
-    @Override
-    @Bean
-    public HealthCheckRegistry getHealthCheckRegistry() {
-        return healthCheckRegistry;
-    }
-
-    @PostConstruct
-    public void init() {
-        log.debug("Registering JVM gauges");
-        metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge());
-        metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()));
-        if (hikariDataSource != null) {
-            log.debug("Monitoring the datasource");
-            hikariDataSource.setMetricRegistry(metricRegistry);
-        }
-        if (jHipsterProperties.getMetrics().getJmx().isEnabled()) {
-            log.debug("Initializing Metrics JMX reporting");
-            JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build();
-            jmxReporter.start();
-        }
-        if (jHipsterProperties.getMetrics().getLogs().isEnabled()) {
-            log.info("Initializing Metrics Log reporting");
-            final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry)
-                .outputTo(LoggerFactory.getLogger("metrics"))
-                .convertRatesTo(TimeUnit.SECONDS)
-                .convertDurationsTo(TimeUnit.MILLISECONDS)
-                .build();
-            reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS);
-        }
-    }
-
-    /* Spectator metrics log reporting */
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricReader
-    public SpectatorMetricReader SpectatorMetricReader(Registry registry) {
-        log.info("Initializing Spectator Metrics Log reporting");
-        return new SpectatorMetricReader(registry);
-    }
-
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricWriter
-    MetricWriter metricWriter() {
-        return new SpectatorLogMetricWriter();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/SecurityConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/SecurityConfiguration.java
deleted file mode 100644
index 7c507b492deac056cfe33fb8a9bf1d43968655e6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/SecurityConfiguration.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import eu.decideh2020.acsmi.frontend.server.security.*;
-import eu.decideh2020.acsmi.frontend.server.security.jwt.*;
-
-import io.github.jhipster.security.*;
-
-import org.springframework.beans.factory.BeanInitializationException;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.data.repository.query.SecurityEvaluationContextExtension;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.web.filter.CorsFilter;
-
-import javax.annotation.PostConstruct;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
-public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
-
-    private final AuthenticationManagerBuilder authenticationManagerBuilder;
-
-    private final UserDetailsService userDetailsService;
-
-    private final TokenProvider tokenProvider;
-
-    private final CorsFilter corsFilter;
-
-    public SecurityConfiguration(AuthenticationManagerBuilder authenticationManagerBuilder, UserDetailsService userDetailsService,
-            TokenProvider tokenProvider,
-        CorsFilter corsFilter) {
-
-        this.authenticationManagerBuilder = authenticationManagerBuilder;
-        this.userDetailsService = userDetailsService;
-        this.tokenProvider = tokenProvider;
-        this.corsFilter = corsFilter;
-    }
-
-    @PostConstruct
-    public void init() {
-        try {
-            authenticationManagerBuilder
-                .userDetailsService(userDetailsService)
-                    .passwordEncoder(passwordEncoder());
-        } catch (Exception e) {
-            throw new BeanInitializationException("Security configuration failed", e);
-        }
-    }
-
-    @Bean
-    public Http401UnauthorizedEntryPoint http401UnauthorizedEntryPoint() {
-        return new Http401UnauthorizedEntryPoint();
-    }
-
-    @Bean
-    public PasswordEncoder passwordEncoder() {
-        return new BCryptPasswordEncoder();
-    }
-
-    @Override
-    public void configure(WebSecurity web) throws Exception {
-        web.ignoring()
-            .antMatchers(HttpMethod.OPTIONS, "/**")
-            .antMatchers("/app/**/*.{js,html}")
-            .antMatchers("/bower_components/**")
-            .antMatchers("/i18n/**")
-            .antMatchers("/content/**")
-            .antMatchers("/swagger-ui/index.html")
-            .antMatchers("/test/**");
-    }
-
-    @Override
-    protected void configure(HttpSecurity http) throws Exception {
-        http
-            .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
-            .exceptionHandling()
-            .authenticationEntryPoint(http401UnauthorizedEntryPoint())
-        .and()
-            .csrf()
-            .disable()
-            .headers()
-            .frameOptions()
-            .disable()
-        .and()
-            .sessionManagement()
-            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-        .and()
-            .authorizeRequests()
-            .antMatchers("/api/register").permitAll()
-            .antMatchers("/api/activate").permitAll()
-            .antMatchers("/api/authenticate").permitAll()
-            .antMatchers("/api/account/reset_password/init").permitAll()
-            .antMatchers("/api/account/reset_password/finish").permitAll()
-            .antMatchers("/api/profile-info").permitAll()
-            .antMatchers("/api/**").authenticated()
-            .antMatchers("/websocket/tracker").hasAuthority(AuthoritiesConstants.ADMIN)
-            .antMatchers("/websocket/**").permitAll()
-            .antMatchers("/management/health").permitAll()
-            .antMatchers("/management/**").hasAuthority(AuthoritiesConstants.ADMIN)
-            .antMatchers("/v2/api-docs/**").permitAll()
-            .antMatchers("/swagger-resources/configuration/ui").permitAll()
-            .antMatchers("/swagger-ui/index.html").hasAuthority(AuthoritiesConstants.ADMIN)
-        .and()
-            .apply(securityConfigurerAdapter());
-
-    }
-
-    private JWTConfigurer securityConfigurerAdapter() {
-        return new JWTConfigurer(tokenProvider);
-    }
-
-    @Bean
-    public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
-        return new SecurityEvaluationContextExtension();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ThymeleafConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ThymeleafConfiguration.java
deleted file mode 100644
index 255bc1b7a99c3f43c9db15daadf0f4dfe273c127..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/ThymeleafConfiguration.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import org.apache.commons.lang3.CharEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.*;
-import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
-
-@Configuration
-public class ThymeleafConfiguration {
-
-    @SuppressWarnings("unused")
-    private final Logger log = LoggerFactory.getLogger(ThymeleafConfiguration.class);
-
-    @Bean
-    @Description("Thymeleaf template resolver serving HTML 5 emails")
-    public ClassLoaderTemplateResolver emailTemplateResolver() {
-        ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
-        emailTemplateResolver.setPrefix("mails/");
-        emailTemplateResolver.setSuffix(".html");
-        emailTemplateResolver.setTemplateMode("HTML5");
-        emailTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
-        emailTemplateResolver.setOrder(1);
-        return emailTemplateResolver;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurer.java
deleted file mode 100644
index b1cfc17a7d001ba45ae68c23e4308ba76d6e4b20..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurer.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.web.filter.CachingHttpHeadersFilter;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilter;
-import com.codahale.metrics.servlets.MetricsServlet;
-import com.hazelcast.core.HazelcastInstance;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.embedded.*;
-import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
-import io.undertow.UndertowOptions;
-import org.springframework.boot.web.servlet.ServletContextInitializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import java.io.File;
-import java.nio.file.Paths;
-import java.util.*;
-import javax.servlet.*;
-
-/**
- * Configuration of web application with Servlet 3.0 APIs.
- */
-@Configuration
-public class WebConfigurer implements ServletContextInitializer, EmbeddedServletContainerCustomizer {
-
-    private final Logger log = LoggerFactory.getLogger(WebConfigurer.class);
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private final HazelcastInstance hazelcastInstance;
-
-    private MetricRegistry metricRegistry;
-
-    public WebConfigurer(Environment env, JHipsterProperties jHipsterProperties, HazelcastInstance hazelcastInstance) {
-
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-        this.hazelcastInstance = hazelcastInstance;
-    }
-
-    @Override
-    public void onStartup(ServletContext servletContext) throws ServletException {
-        if (env.getActiveProfiles().length != 0) {
-            log.info("Web application configuration, using profiles: {}", (Object[]) env.getActiveProfiles());
-        }
-        EnumSet<DispatcherType> disps = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC);
-        initMetrics(servletContext, disps);
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            initCachingHttpHeadersFilter(servletContext, disps);
-        }
-        log.info("Web application fully configured");
-    }
-
-    /**
-     * Customize the Servlet engine: Mime types, the document root, the cache.
-     */
-    @Override
-    public void customize(ConfigurableEmbeddedServletContainer container) {
-        MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
-        // IE issue, see https://github.com/jhipster/generator-jhipster/pull/711
-        mappings.add("html", "text/html;charset=utf-8");
-        // CloudFoundry issue, see https://github.com/cloudfoundry/gorouter/issues/64
-        mappings.add("json", "text/html;charset=utf-8");
-        container.setMimeMappings(mappings);
-        // When running in an IDE or with ./mvnw spring-boot:run, set location of the static web assets.
-        setLocationForStaticAssets(container);
-
-        /*
-         * Enable HTTP/2 for Undertow - https://twitter.com/ankinson/status/829256167700492288
-         * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1.
-         * See the JHipsterProperties class and your application-*.yml configuration files
-         * for more information.
-         */
-        if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0) &&
-            container instanceof UndertowEmbeddedServletContainerFactory) {
-
-            ((UndertowEmbeddedServletContainerFactory) container)
-                .addBuilderCustomizers(builder ->
-                    builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
-        }
-    }
-
-    private void setLocationForStaticAssets(ConfigurableEmbeddedServletContainer container) {
-        File root;
-        String prefixPath = resolvePathPrefix();
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            root = new File(prefixPath + "target/www/");
-        } else {
-            root = new File(prefixPath + "src/main/webapp/");
-        }
-        if (root.exists() && root.isDirectory()) {
-            container.setDocumentRoot(root);
-        }
-    }
-
-    /**
-     *  Resolve path prefix to static resources.
-     */
-    private String resolvePathPrefix() {
-        String fullExecutablePath = this.getClass().getResource("").getPath();
-        String rootPath = Paths.get(".").toUri().normalize().getPath();
-        String extractedPath = fullExecutablePath.replace(rootPath, "");
-        int extractionEndIndex = extractedPath.indexOf("target/");
-        if(extractionEndIndex <= 0) {
-            return "";
-        }
-        return extractedPath.substring(0, extractionEndIndex);
-    }
-
-    /**
-     * Initializes the caching HTTP Headers Filter.
-     */
-    private void initCachingHttpHeadersFilter(ServletContext servletContext,
-                                              EnumSet<DispatcherType> disps) {
-        log.debug("Registering Caching HTTP Headers Filter");
-        FilterRegistration.Dynamic cachingHttpHeadersFilter =
-            servletContext.addFilter("cachingHttpHeadersFilter",
-                new CachingHttpHeadersFilter(jHipsterProperties));
-
-        cachingHttpHeadersFilter.addMappingForUrlPatterns(disps, true, "/content/*");
-        cachingHttpHeadersFilter.addMappingForUrlPatterns(disps, true, "/app/*");
-        cachingHttpHeadersFilter.setAsyncSupported(true);
-    }
-
-    /**
-     * Initializes Metrics.
-     */
-    private void initMetrics(ServletContext servletContext, EnumSet<DispatcherType> disps) {
-        log.debug("Initializing Metrics registries");
-        servletContext.setAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE,
-            metricRegistry);
-        servletContext.setAttribute(MetricsServlet.METRICS_REGISTRY,
-            metricRegistry);
-
-        log.debug("Registering Metrics Filter");
-        FilterRegistration.Dynamic metricsFilter = servletContext.addFilter("webappMetricsFilter",
-            new InstrumentedFilter());
-
-        metricsFilter.addMappingForUrlPatterns(disps, true, "/*");
-        metricsFilter.setAsyncSupported(true);
-
-        log.debug("Registering Metrics Servlet");
-        ServletRegistration.Dynamic metricsAdminServlet =
-            servletContext.addServlet("metricsServlet", new MetricsServlet());
-
-        metricsAdminServlet.addMapping("/management/metrics/*");
-        metricsAdminServlet.setAsyncSupported(true);
-        metricsAdminServlet.setLoadOnStartup(2);
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        CorsConfiguration config = jHipsterProperties.getCors();
-        if (config.getAllowedOrigins() != null && !config.getAllowedOrigins().isEmpty()) {
-            log.debug("Registering CORS filter");
-            source.registerCorsConfiguration("/api/**", config);
-            source.registerCorsConfiguration("/v2/api-docs", config);
-            source.registerCorsConfiguration("/*/api/**", config);
-        }
-        return new CorsFilter(source);
-    }
-
-    @Autowired(required = false)
-    public void setMetricRegistry(MetricRegistry metricRegistry) {
-        this.metricRegistry = metricRegistry;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketConfiguration.java
deleted file mode 100644
index df783921db1fcc2910e82c31ff6f87764593d2cb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketConfiguration.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.server.ServerHttpRequest;
-import org.springframework.http.server.ServerHttpResponse;
-import org.springframework.http.server.ServletServerHttpRequest;
-import org.springframework.messaging.simp.config.MessageBrokerRegistry;
-import org.springframework.security.authentication.AnonymousAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
-import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
-import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
-import org.springframework.web.socket.server.HandshakeInterceptor;
-import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
-
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Optional;
-
-@Configuration
-@EnableWebSocketMessageBroker
-public class WebsocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
-
-    private final Logger log = LoggerFactory.getLogger(WebsocketConfiguration.class);
-
-    public static final String IP_ADDRESS = "IP_ADDRESS";
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public WebsocketConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    public void configureMessageBroker(MessageBrokerRegistry config) {
-        config.enableSimpleBroker("/topic");
-    }
-
-    @Override
-    public void registerStompEndpoints(StompEndpointRegistry registry) {
-        String[] allowedOrigins = Optional.ofNullable(jHipsterProperties.getCors().getAllowedOrigins()).map(origins -> origins.toArray(new String[0])).orElse(new String[0]);
-        registry.addEndpoint("/websocket/tracker")
-            .setHandshakeHandler(new DefaultHandshakeHandler() {
-                @Override
-                protected Principal determineUser(ServerHttpRequest request, WebSocketHandler wsHandler, Map<String, Object> attributes) {
-                    Principal principal = request.getPrincipal();
-                    if (principal == null) {
-                        Collection<SimpleGrantedAuthority> authorities = new ArrayList<>();
-                        authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
-                        principal = new AnonymousAuthenticationToken("WebsocketConfiguration", "anonymous", authorities);
-                    }
-                    return principal;
-                }
-            })
-            .setAllowedOrigins(allowedOrigins)
-            .withSockJS()
-            .setInterceptors(httpSessionHandshakeInterceptor());
-    }
-
-    @Bean
-    public HandshakeInterceptor httpSessionHandshakeInterceptor() {
-        return new HandshakeInterceptor() {
-
-            @Override
-            public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
-                if (request instanceof ServletServerHttpRequest) {
-                    ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
-                    attributes.put(IP_ADDRESS, servletRequest.getRemoteAddress());
-                }
-                return true;
-            }
-
-            @Override
-            public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {
-
-            }
-        };
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketSecurityConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketSecurityConfiguration.java
deleted file mode 100644
index 49816b9d1fedd1fa54d8b82959fce08f9e19969b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/WebsocketSecurityConfiguration.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.messaging.simp.SimpMessageType;
-import org.springframework.security.config.annotation.web.messaging.MessageSecurityMetadataSourceRegistry;
-import org.springframework.security.config.annotation.web.socket.AbstractSecurityWebSocketMessageBrokerConfigurer;
-
-@Configuration
-public class WebsocketSecurityConfiguration extends AbstractSecurityWebSocketMessageBrokerConfigurer {
-
-    @Override
-    protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) {
-        messages
-            .nullDestMatcher().authenticated()
-            .simpDestMatchers("/topic/tracker").hasAuthority(AuthoritiesConstants.ADMIN)
-            // matches any destination that starts with /topic/
-            // (i.e. cannot send messages directly to /topic/)
-            // (i.e. cannot subscribe to /topic/messages/* to get messages sent to
-            // /topic/messages-user<id>)
-            .simpDestMatchers("/topic/**").authenticated()
-            // message types other than MESSAGE and SUBSCRIBE
-            .simpTypeMatchers(SimpMessageType.MESSAGE, SimpMessageType.SUBSCRIBE).denyAll()
-            // catch all
-            .anyMessage().denyAll();
-    }
-
-    /**
-     * Disables CSRF for Websockets.
-     */
-    @Override
-    protected boolean sameOriginDisabled() {
-        return true;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/apidoc/GatewaySwaggerResourcesProvider.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/apidoc/GatewaySwaggerResourcesProvider.java
deleted file mode 100644
index 8c4f1c4ddceec6d54018d4eac0acde5e8f101c6c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/apidoc/GatewaySwaggerResourcesProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config.apidoc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.*;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.cloud.netflix.zuul.filters.Route;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
-
-import springfox.documentation.swagger.web.SwaggerResource;
-import springfox.documentation.swagger.web.SwaggerResourcesProvider;
-
-/**
- * Retrieves all registered microservices Swagger resources.
- */
-@Component
-@Primary
-@Profile(JHipsterConstants.SPRING_PROFILE_SWAGGER)
-public class GatewaySwaggerResourcesProvider implements SwaggerResourcesProvider {
-
-    private final Logger log = LoggerFactory.getLogger(GatewaySwaggerResourcesProvider.class);
-
-    private final RouteLocator routeLocator;
-
-    private final DiscoveryClient discoveryClient;
-
-    public GatewaySwaggerResourcesProvider(RouteLocator routeLocator, DiscoveryClient discoveryClient) {
-        this.routeLocator = routeLocator;
-        this.discoveryClient = discoveryClient;
-    }
-
-    @Override
-    public List<SwaggerResource> get() {
-        List<SwaggerResource> resources = new ArrayList<>();
-
-        //Add the default swagger resource that correspond to the gateway's own swagger doc
-        resources.add(swaggerResource("default", "/v2/api-docs"));
-
-        //Add the registered microservices swagger docs as additional swagger resources
-        List<Route> routes = routeLocator.getRoutes();
-        routes.forEach(route -> {
-            resources.add(swaggerResource(route.getId(), route.getFullPath().replace("**", "v2/api-docs")));
-        });
-
-        return resources;
-    }
-
-    private SwaggerResource swaggerResource(String name, String location) {
-        SwaggerResource swaggerResource = new SwaggerResource();
-        swaggerResource.setName(name);
-        swaggerResource.setLocation(location);
-        swaggerResource.setSwaggerVersion("2.0");
-        return swaggerResource;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/AuditEventConverter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/AuditEventConverter.java
deleted file mode 100644
index e189429cd0be14c2f3230e7a7da9d7fda9fd3a54..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/AuditEventConverter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config.audit;
-
-import eu.decideh2020.acsmi.frontend.server.domain.PersistentAuditEvent;
-
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.security.web.authentication.WebAuthenticationDetails;
-import org.springframework.stereotype.Component;
-
-import java.util.*;
-
-@Component
-public class AuditEventConverter {
-
-    /**
-     * Convert a list of PersistentAuditEvent to a list of AuditEvent
-     *
-     * @param persistentAuditEvents the list to convert
-     * @return the converted list.
-     */
-    public List<AuditEvent> convertToAuditEvent(Iterable<PersistentAuditEvent> persistentAuditEvents) {
-        if (persistentAuditEvents == null) {
-            return Collections.emptyList();
-        }
-        List<AuditEvent> auditEvents = new ArrayList<>();
-        for (PersistentAuditEvent persistentAuditEvent : persistentAuditEvents) {
-            auditEvents.add(convertToAuditEvent(persistentAuditEvent));
-        }
-        return auditEvents;
-    }
-
-    /**
-     * Convert a PersistentAuditEvent to an AuditEvent
-     *
-     * @param persistentAuditEvent the event to convert
-     * @return the converted list.
-     */
-    public AuditEvent convertToAuditEvent(PersistentAuditEvent persistentAuditEvent) {
-        return new AuditEvent(Date.from(persistentAuditEvent.getAuditEventDate()), persistentAuditEvent.getPrincipal(),
-            persistentAuditEvent.getAuditEventType(), convertDataToObjects(persistentAuditEvent.getData()));
-    }
-
-    /**
-     * Internal conversion. This is needed to support the current SpringBoot actuator AuditEventRepository interface
-     *
-     * @param data the data to convert
-     * @return a map of String, Object
-     */
-    public Map<String, Object> convertDataToObjects(Map<String, String> data) {
-        Map<String, Object> results = new HashMap<>();
-
-        if (data != null) {
-            for (Map.Entry<String, String> entry : data.entrySet()) {
-                results.put(entry.getKey(), entry.getValue());
-            }
-        }
-        return results;
-    }
-
-    /**
-     * Internal conversion. This method will allow to save additional data.
-     * By default, it will save the object as string
-     *
-     * @param data the data to convert
-     * @return a map of String, String
-     */
-    public Map<String, String> convertDataToStrings(Map<String, Object> data) {
-        Map<String, String> results = new HashMap<>();
-
-        if (data != null) {
-            for (Map.Entry<String, Object> entry : data.entrySet()) {
-                Object object = entry.getValue();
-
-                // Extract the data that will be saved.
-                if (object instanceof WebAuthenticationDetails) {
-                    WebAuthenticationDetails authenticationDetails = (WebAuthenticationDetails) object;
-                    results.put("remoteAddress", authenticationDetails.getRemoteAddress());
-                    results.put("sessionId", authenticationDetails.getSessionId());
-                } else if (object != null) {
-                    results.put(entry.getKey(), object.toString());
-                } else {
-                    results.put(entry.getKey(), "null");
-                }
-            }
-        }
-
-        return results;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/package-info.java
deleted file mode 100644
index 749efec81b2bf750a663c1e34a12f18daca06aea..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/audit/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Audit specific code.
- */
-package eu.decideh2020.acsmi.frontend.server.config.audit;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/package-info.java
deleted file mode 100644
index 251b9dc2803e387605b486fd984a8dfab090c6eb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/config/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring Framework configuration files.
- */
-package eu.decideh2020.acsmi.frontend.server.config;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/AbstractAuditingEntity.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/AbstractAuditingEntity.java
deleted file mode 100644
index f5b6d4347ddbb4063609d53963c465b231c26aec..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/AbstractAuditingEntity.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.domain;
-
-import java.io.Serializable;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import org.hibernate.envers.Audited;
-import org.springframework.data.annotation.CreatedBy;
-import org.springframework.data.annotation.CreatedDate;
-import org.springframework.data.annotation.LastModifiedBy;
-import org.springframework.data.annotation.LastModifiedDate;
-import org.springframework.data.jpa.domain.support.AuditingEntityListener;
-import java.time.Instant;
-import javax.persistence.Column;
-import javax.persistence.EntityListeners;
-import javax.persistence.MappedSuperclass;
-
-/**
- * Base abstract class for entities which will hold definitions for created, last modified by and created,
- * last modified by date.
- */
-@MappedSuperclass
-@Audited
-@EntityListeners(AuditingEntityListener.class)
-public abstract class AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @CreatedBy
-    @Column(name = "created_by", nullable = false, length = 50, updatable = false)
-    @JsonIgnore
-    private String createdBy;
-
-    @CreatedDate
-    @Column(name = "created_date", nullable = false)
-    @JsonIgnore
-    private Instant createdDate = Instant.now();
-
-    @LastModifiedBy
-    @Column(name = "last_modified_by", length = 50)
-    @JsonIgnore
-    private String lastModifiedBy;
-
-    @LastModifiedDate
-    @Column(name = "last_modified_date")
-    @JsonIgnore
-    private Instant lastModifiedDate = Instant.now();
-
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    public Instant getCreatedDate() {
-        return createdDate;
-    }
-
-    public void setCreatedDate(Instant createdDate) {
-        this.createdDate = createdDate;
-    }
-
-    public String getLastModifiedBy() {
-        return lastModifiedBy;
-    }
-
-    public void setLastModifiedBy(String lastModifiedBy) {
-        this.lastModifiedBy = lastModifiedBy;
-    }
-
-    public Instant getLastModifiedDate() {
-        return lastModifiedDate;
-    }
-
-    public void setLastModifiedDate(Instant lastModifiedDate) {
-        this.lastModifiedDate = lastModifiedDate;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/Authority.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/Authority.java
deleted file mode 100644
index 52c6546d4ea6ba6331b5e25845c45da19993e884..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/Authority.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.domain;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Column;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import java.io.Serializable;
-
-/**
- * An authority (a security role) used by Spring Security.
- */
-@Entity
-@Table(name = "jhi_authority")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class Authority implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @NotNull
-    @Size(min = 0, max = 50)
-    @Id
-    @Column(length = 50)
-    private String name;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        Authority authority = (Authority) o;
-
-        return !(name != null ? !name.equals(authority.name) : authority.name != null);
-    }
-
-    @Override
-    public int hashCode() {
-        return name != null ? name.hashCode() : 0;
-    }
-
-    @Override
-    public String toString() {
-        return "Authority{" +
-            "name='" + name + '\'' +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/PersistentAuditEvent.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/PersistentAuditEvent.java
deleted file mode 100644
index 394205ff0f6a9f75ea35122e37f1afb5adb03bc0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/PersistentAuditEvent.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.domain;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import java.io.Serializable;
-import java.time.Instant;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Persist AuditEvent managed by the Spring Boot actuator
- * @see org.springframework.boot.actuate.audit.AuditEvent
- */
-@Entity
-@Table(name = "jhi_persistent_audit_event")
-public class PersistentAuditEvent implements Serializable {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "event_id")
-    private Long id;
-
-    @NotNull
-    @Column(nullable = false)
-    private String principal;
-
-    @Column(name = "event_date")
-    private Instant auditEventDate;
-    @Column(name = "event_type")
-    private String auditEventType;
-
-    @ElementCollection
-    @MapKeyColumn(name = "name")
-    @Column(name = "value")
-    @CollectionTable(name = "jhi_persistent_audit_evt_data", joinColumns=@JoinColumn(name="event_id"))
-    private Map<String, String> data = new HashMap<>();
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getPrincipal() {
-        return principal;
-    }
-
-    public void setPrincipal(String principal) {
-        this.principal = principal;
-    }
-
-    public Instant getAuditEventDate() {
-        return auditEventDate;
-    }
-
-    public void setAuditEventDate(Instant auditEventDate) {
-        this.auditEventDate = auditEventDate;
-    }
-
-    public String getAuditEventType() {
-        return auditEventType;
-    }
-
-    public void setAuditEventType(String auditEventType) {
-        this.auditEventType = auditEventType;
-    }
-
-    public Map<String, String> getData() {
-        return data;
-    }
-
-    public void setData(Map<String, String> data) {
-        this.data = data;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/User.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/User.java
deleted file mode 100644
index 673c3dccc0df94ab11c9a10cdecba2b7729e8e04..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/User.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.domain;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import org.hibernate.annotations.BatchSize;
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-import org.hibernate.validator.constraints.Email;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Set;
-import java.time.Instant;
-
-/**
- * A user.
- */
-@Entity
-@Table(name = "jhi_user")
-@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class User extends AbstractAuditingEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    private Long id;
-
-    @NotNull
-    @Pattern(regexp = Constants.LOGIN_REGEX)
-    @Size(min = 1, max = 50)
-    @Column(length = 50, unique = true, nullable = false)
-    private String login;
-
-    @JsonIgnore
-    @NotNull
-    @Size(min = 60, max = 60)
-    @Column(name = "password_hash",length = 60)
-    private String password;
-
-    @Size(max = 50)
-    @Column(name = "first_name", length = 50)
-    private String firstName;
-
-    @Size(max = 50)
-    @Column(name = "last_name", length = 50)
-    private String lastName;
-
-    @Email
-    @Size(min = 5, max = 100)
-    @Column(length = 100, unique = true)
-    private String email;
-
-    @Size(max = 100)
-    @Column(name = "company", length = 100)
-    private String company;
-
-    @Size(min = 1, max = 50)
-    @Column(name = "users_group", length = 50)
-    private String usersGroup;
-
-    @Size(min = 2, max = 3)
-    @Column(name = "user_type", length = 3)
-    private String userType;
-
-    @Size(max = 30)
-    @Column(name = "credit_card_type", length = 30)
-    private String creditCardType;
-
-    @Size(min = 13, max = 16)
-    @Column(name = "credit_card", length = 16)
-    private String creditCard;
-
-    @Size(min = 13, max = 16)
-    @Column(name = "contract_reference", length = 16)
-    private String contractReference;
-
-    @Size(min = 8, max = 12)
-    @Column(name = "cif_or_vat", length = 12)
-    private String cifOrVat;
-
-    @NotNull
-    @Column(nullable = false)
-    private boolean activated = false;
-
-    @Size(min = 2, max = 5)
-    @Column(name = "lang_key", length = 5)
-    private String langKey;
-
-    @Size(max = 256)
-    @Column(name = "image_url", length = 256)
-    private String imageUrl;
-
-    @Size(max = 20)
-    @Column(name = "activation_key", length = 20)
-    @JsonIgnore
-    private String activationKey;
-
-    @Size(max = 20)
-    @Column(name = "reset_key", length = 20)
-    @JsonIgnore
-    private String resetKey;
-
-    @Column(name = "reset_date")
-    private Instant resetDate = null;
-
-    @JsonIgnore
-    @ManyToMany
-    @JoinTable(
-        name = "jhi_user_authority",
-        joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
-        inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "name")})
-    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-    @BatchSize(size = 20)
-    private Set<Authority> authorities = new HashSet<>();
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getLogin() {
-        return login;
-    }
-
-    //Lowercase the login before saving it in database
-    public void setLogin(String login) {
-        this.login = login.toLowerCase(Locale.ENGLISH);
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = email;
-    }
-
-    public String getCompany() {
-        return company;
-    }
-
-    public void setCompany(String company) {
-        this.company = company;
-    }
-
-    public String getUsersGroup() {
-        return usersGroup;
-    }
-
-    public void setUsersGroup(String usersGroup) {
-        this.usersGroup = usersGroup;
-    }
-
-    public String getUserType() {
-        return userType;
-    }
-
-    public void setUserType(String userType) {
-        this.userType = userType;
-    }
-
-    public String getCreditCardType() {
-        return creditCardType;
-    }
-
-    public void setCreditCardType(String creditCardType) {
-        this.creditCardType = creditCardType;
-    }
-
-    public String getCreditCard() {
-        return creditCard;
-    }
-
-    public void setCreditCard(String creditCard) {
-        this.creditCard = creditCard;
-    }
-
-    public String getContractReference() {
-        return contractReference;
-    }
-
-    public void setContractReference(String contractReference) {
-        this.contractReference = contractReference;
-    }
-
-    public String getCifOrVat() {
-        return cifOrVat;
-    }
-
-    public void setCifOrVat(String cifOrVat) {
-        this.cifOrVat = cifOrVat;
-    }
-
-    public String getImageUrl() {
-        return imageUrl;
-    }
-
-    public void setImageUrl(String imageUrl) {
-        this.imageUrl = imageUrl;
-    }
-
-    public boolean getActivated() {
-        return activated;
-    }
-
-    public void setActivated(boolean activated) {
-        this.activated = activated;
-    }
-
-    public String getActivationKey() {
-        return activationKey;
-    }
-
-    public void setActivationKey(String activationKey) {
-        this.activationKey = activationKey;
-    }
-
-    public String getResetKey() {
-        return resetKey;
-    }
-
-    public void setResetKey(String resetKey) {
-        this.resetKey = resetKey;
-    }
-
-    public Instant getResetDate() {
-       return resetDate;
-    }
-
-    public void setResetDate(Instant resetDate) {
-       this.resetDate = resetDate;
-    }
-    public String getLangKey() {
-        return langKey;
-    }
-
-    public void setLangKey(String langKey) {
-        this.langKey = langKey;
-    }
-
-    public Set<Authority> getAuthorities() {
-        return authorities;
-    }
-
-    public void setAuthorities(Set<Authority> authorities) {
-        this.authorities = authorities;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        User user = (User) o;
-
-        return login.equals(user.login);
-    }
-
-    @Override
-    public int hashCode() {
-        return login.hashCode();
-    }
-
-    @Override
-    public String toString() {
-        return "User{" +
-            "login='" + login + '\'' +
-            ", firstName='" + firstName + '\'' +
-            ", lastName='" + lastName + '\'' +
-            ", email='" + email + '\'' +
-            ", company='" + company + '\'' +
-            ", usersGroup='" + usersGroup + '\'' +
-            ", userType='" + userType + '\'' +
-            ", creditCardType='" + creditCardType + '\'' +
-            ", creditCard='" + creditCard + '\'' +
-            ", contractReference='" + contractReference + '\'' +
-            ", cifOrVat='" + cifOrVat + '\'' +
-            ", imageUrl='" + imageUrl + '\'' +
-            ", activated='" + activated + '\'' +
-            ", langKey='" + langKey + '\'' +
-            ", activationKey='" + activationKey + '\'' +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/package-info.java
deleted file mode 100644
index 4ac2f2d9cf8d4dfc6e7f42721187c8d79e2c070f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/domain/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * JPA domain objects.
- */
-package eu.decideh2020.acsmi.frontend.server.domain;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/TokenRelayFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/TokenRelayFilter.java
deleted file mode 100644
index e402d80d480f55f6410bb648fa51e76d0e1f4632..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/TokenRelayFilter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.gateway;
-
-import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
-import org.springframework.stereotype.Component;
-
-import java.util.Set;
-
-@Component
-public class TokenRelayFilter extends ZuulFilter {
-    @Override
-    public Object run() {
-        RequestContext ctx = RequestContext.getCurrentContext();
-
-        Set<String> headers = (Set<String>) ctx.get("ignoredHeaders");
-        // We need our JWT tokens relayed to resource servers
-        headers.remove("authorization");
-
-        return null;
-    }
-
-    @Override
-    public boolean shouldFilter() {
-        return true;
-    }
-
-    @Override
-    public String filterType() {
-        return "pre";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 10000;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/accesscontrol/AccessControlFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/accesscontrol/AccessControlFilter.java
deleted file mode 100644
index a6912dfab7baf1f7fd835d330274d508e033f6da..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/accesscontrol/AccessControlFilter.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.gateway.accesscontrol;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.netflix.zuul.filters.Route;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.http.HttpStatus;
-
-import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
-
-/**
- * Zuul filter for restricting access to backend micro-services endpoints.
- */
-public class AccessControlFilter extends ZuulFilter {
-
-    private final Logger log = LoggerFactory.getLogger(AccessControlFilter.class);
-
-    private final RouteLocator routeLocator;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public AccessControlFilter(RouteLocator routeLocator, JHipsterProperties jHipsterProperties) {
-        this.routeLocator = routeLocator;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    public String filterType() {
-        return "pre";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 0;
-    }
-
-    /**
-     * Filter requests on endpoints that are not in the list of authorized microservices endpoints.
-     */
-    @Override
-    public boolean shouldFilter() {
-        String requestUri = RequestContext.getCurrentContext().getRequest().getRequestURI();
-
-        // If the request Uri does not start with the path of the authorized endpoints, we block the request
-        for (Route route : routeLocator.getRoutes()) {
-            String serviceUrl = route.getFullPath();
-            String serviceName = route.getId();
-
-            // If this route correspond to the current request URI
-            // We do a substring to remove the "**" at the end of the route URL
-            if (requestUri.startsWith(serviceUrl.substring(0, serviceUrl.length() - 2))) {
-				return !isAuthorizedRequest(serviceUrl, serviceName, requestUri);
-            }
-        }
-        return true;
-    }
-
-    private boolean isAuthorizedRequest(String serviceUrl, String serviceName, String requestUri) {
-        Map<String, List<String>> authorizedMicroservicesEndpoints = jHipsterProperties.getGateway()
-            .getAuthorizedMicroservicesEndpoints();
-
-        // If the authorized endpoints list was left empty for this route, all access are allowed
-        if (authorizedMicroservicesEndpoints.get(serviceName) == null) {
-            log.debug("Access Control: allowing access for {}, as no access control policy has been set up for " +
-                "service: {}", requestUri, serviceName);
-            return true;
-        } else {
-            List<String> authorizedEndpoints = authorizedMicroservicesEndpoints.get(serviceName);
-
-            // Go over the authorized endpoints to control that the request URI matches it
-            for (String endpoint : authorizedEndpoints) {
-                // We do a substring to remove the "**/" at the end of the route URL
-                String gatewayEndpoint = serviceUrl.substring(0, serviceUrl.length() - 3) + endpoint;
-                if (requestUri.startsWith(gatewayEndpoint)) {
-                    log.debug("Access Control: allowing access for {}, as it matches the following authorized " +
-                        "microservice endpoint: {}", requestUri, gatewayEndpoint);
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public Object run() {
-        RequestContext ctx = RequestContext.getCurrentContext();
-        ctx.setResponseStatusCode(HttpStatus.FORBIDDEN.value());
-        if (ctx.getResponseBody() == null && !ctx.getResponseGZipped()) {
-            ctx.setSendZuulResponse(false);
-        }
-        log.debug("Access Control: filtered unauthorized access on endpoint {}", ctx.getRequest().getRequestURI());
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/ratelimiting/RateLimitingFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/ratelimiting/RateLimitingFilter.java
deleted file mode 100644
index 9fa087c80fec4b512f94adda3f3403a243a82082..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/ratelimiting/RateLimitingFilter.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.gateway.ratelimiting;
-
-import eu.decideh2020.acsmi.frontend.server.security.SecurityUtils;
-
-import java.time.Duration;
-import java.util.function.Supplier;
-import javax.cache.CacheManager;
-import javax.cache.Caching;
-import javax.cache.configuration.CompleteConfiguration;
-import javax.cache.configuration.MutableConfiguration;
-import javax.cache.spi.CachingProvider;
-import javax.servlet.http.HttpServletRequest;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-
-import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
-
-import io.github.bucket4j.*;
-import io.github.bucket4j.grid.GridBucketState;
-import io.github.bucket4j.grid.ProxyManager;
-import io.github.bucket4j.grid.jcache.JCache;
-import io.github.jhipster.config.JHipsterProperties;
-
-/**
- * Zuul filter for limiting the number of HTTP calls per client.
- *
- * See the Bucket4j documentation at https://github.com/vladimir-bukhtoyarov/bucket4j
- * https://github.com/vladimir-bukhtoyarov/bucket4j/blob/master/doc-pages/jcache-usage
- * .md#example-1---limiting-access-to-http-server-by-ip-address
- */
-public class RateLimitingFilter extends ZuulFilter {
-
-    private final Logger log = LoggerFactory.getLogger(RateLimitingFilter.class);
-
-    public final static String GATEWAY_RATE_LIMITING_CACHE_NAME = "gateway-rate-limiting";
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private javax.cache.Cache<String, GridBucketState> cache;
-
-    private ProxyManager<String> buckets;
-
-    public RateLimitingFilter(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-
-        CachingProvider cachingProvider = Caching.getCachingProvider();
-        CacheManager cacheManager = cachingProvider.getCacheManager();
-        CompleteConfiguration<String, GridBucketState> config =
-            new MutableConfiguration<String, GridBucketState>()
-                .setTypes(String.class, GridBucketState.class);
-
-        this.cache = cacheManager.createCache(GATEWAY_RATE_LIMITING_CACHE_NAME, config);
-        this.buckets = Bucket4j.extension(JCache.class).proxyManagerForCache(cache);
-    }
-
-    @Override
-    public String filterType() {
-        return "pre";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 10;
-    }
-
-    @Override
-    public boolean shouldFilter() {
-        // specific APIs can be filtered out using
-        // if (RequestContext.getCurrentContext().getRequest().getRequestURI().startsWith("/api")) { ... }
-        return true;
-    }
-
-    @Override
-    public Object run() {
-        String bucketId = getId(RequestContext.getCurrentContext().getRequest());
-        Bucket bucket = buckets.getProxy(bucketId, getConfigSupplier());
-        if (bucket.tryConsume(1)) {
-            // the limit is not exceeded
-            log.debug("API rate limit OK for {}", bucketId);
-        } else {
-            // limit is exceeded
-            log.info("API rate limit exceeded for {}", bucketId);
-            apiLimitExceeded();
-        }
-        return null;
-    }
-
-    private Supplier<BucketConfiguration> getConfigSupplier() {
-        return () -> {
-            JHipsterProperties.Gateway.RateLimiting rateLimitingProperties =
-                jHipsterProperties.getGateway().getRateLimiting();
-
-            return Bucket4j.configurationBuilder()
-                .addLimit(Bandwidth.simple(rateLimitingProperties.getLimit(),
-                    Duration.ofSeconds(rateLimitingProperties.getDurationInSeconds())))
-                .buildConfiguration();
-        };
-    }
-
-    /**
-     * Create a Zuul response error when the API limit is exceeded.
-     */
-    private void apiLimitExceeded() {
-        RequestContext ctx = RequestContext.getCurrentContext();
-        ctx.setResponseStatusCode(HttpStatus.TOO_MANY_REQUESTS.value());
-        if (ctx.getResponseBody() == null) {
-            ctx.setResponseBody("API rate limit exceeded");
-            ctx.setSendZuulResponse(false);
-        }
-    }
-
-    /**
-     * The ID that will identify the limit: the user login or the user IP address.
-     */
-    private String getId(HttpServletRequest httpServletRequest) {
-        String login = SecurityUtils.getCurrentUserLogin();
-        if (login != null) {
-            return login;
-        } else {
-            return httpServletRequest.getRemoteAddr();
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilter.java
deleted file mode 100644
index 5314e5ad6e11f78f65327bc421a14b2a370a1ded..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.gateway.responserewriting;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.netflix.zuul.context.RequestContext;
-import org.apache.commons.io.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.netflix.zuul.filters.post.SendResponseFilter;
-import springfox.documentation.swagger2.web.Swagger2Controller;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.LinkedHashMap;
-import java.util.zip.GZIPInputStream;
-
-/**
- * Zuul filter to rewrite micro-services Swagger URL Base Path.
- */
-public class SwaggerBasePathRewritingFilter extends SendResponseFilter {
-
-    private final Logger log = LoggerFactory.getLogger(SwaggerBasePathRewritingFilter.class);
-
-    private ObjectMapper mapper = new ObjectMapper();
-
-    @Override
-    public String filterType() {
-        return "post";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 100;
-    }
-
-    /**
-     * Filter requests to micro-services Swagger docs.
-     */
-    @Override
-    public boolean shouldFilter() {
-        return RequestContext.getCurrentContext().getRequest().getRequestURI().endsWith(Swagger2Controller.DEFAULT_URL);
-    }
-
-    @Override
-    public Object run() {
-        RequestContext context = RequestContext.getCurrentContext();
-
-        if (!context.getResponseGZipped()) {
-            context.getResponse().setCharacterEncoding("UTF-8");
-        }
-
-        String rewrittenResponse = rewriteBasePath(context);
-        context.setResponseBody(rewrittenResponse);
-        return null;
-    }
-
-    private String rewriteBasePath(RequestContext context) {
-        InputStream responseDataStream = context.getResponseDataStream();
-        String requestUri = RequestContext.getCurrentContext().getRequest().getRequestURI();
-        try {
-            if (context.getResponseGZipped()) {
-                responseDataStream = new GZIPInputStream(context.getResponseDataStream());
-            }
-            String response = IOUtils.toString(responseDataStream, StandardCharsets.UTF_8);
-            if (response != null) {
-                LinkedHashMap<String, Object> map = this.mapper.readValue(response, LinkedHashMap.class);
-
-                String basePath = requestUri.replace(Swagger2Controller.DEFAULT_URL,"");
-                map.put("basePath",basePath);
-                log.debug("Swagger-docs: rewritten Base URL with correct micro-service route: {}", basePath);
-                return mapper.writeValueAsString(map);
-            }
-        } catch (IOException e) {
-            log.error("Swagger-docs filter error", e);
-        }
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/AuthorityRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/AuthorityRepository.java
deleted file mode 100644
index 05c99d2aa23672242c585582e602a328ea16b7a2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/AuthorityRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.repository;
-
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-
-/**
- * Spring Data JPA repository for the Authority entity.
- */
-public interface AuthorityRepository extends JpaRepository<Authority, String> {
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepository.java
deleted file mode 100644
index eaba1d39ce2656ad837ffb0308e7f9458ab0e5ca..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepository.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.repository;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import eu.decideh2020.acsmi.frontend.server.config.audit.AuditEventConverter;
-import eu.decideh2020.acsmi.frontend.server.domain.PersistentAuditEvent;
-
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.boot.actuate.audit.AuditEventRepository;
-import org.springframework.stereotype.Repository;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * An implementation of Spring Boot's AuditEventRepository.
- */
-@Repository
-public class CustomAuditEventRepository implements AuditEventRepository {
-
-    private static final String AUTHORIZATION_FAILURE = "AUTHORIZATION_FAILURE";
-
-    private final PersistenceAuditEventRepository persistenceAuditEventRepository;
-
-    private final AuditEventConverter auditEventConverter;
-
-    public CustomAuditEventRepository(PersistenceAuditEventRepository persistenceAuditEventRepository,
-            AuditEventConverter auditEventConverter) {
-
-        this.persistenceAuditEventRepository = persistenceAuditEventRepository;
-        this.auditEventConverter = auditEventConverter;
-    }
-
-    @Override
-    public List<AuditEvent> find(Date after) {
-        Iterable<PersistentAuditEvent> persistentAuditEvents =
-            persistenceAuditEventRepository.findByAuditEventDateAfter(after.toInstant());
-        return auditEventConverter.convertToAuditEvent(persistentAuditEvents);
-    }
-
-    @Override
-    public List<AuditEvent> find(String principal, Date after) {
-        Iterable<PersistentAuditEvent> persistentAuditEvents;
-        if (principal == null && after == null) {
-            persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        } else if (after == null) {
-            persistentAuditEvents = persistenceAuditEventRepository.findByPrincipal(principal);
-        } else {
-            persistentAuditEvents =
-                persistenceAuditEventRepository.findByPrincipalAndAuditEventDateAfter(principal, after.toInstant());
-        }
-        return auditEventConverter.convertToAuditEvent(persistentAuditEvents);
-    }
-
-    @Override
-    public List<AuditEvent> find(String principal, Date after, String type) {
-        Iterable<PersistentAuditEvent> persistentAuditEvents =
-            persistenceAuditEventRepository.findByPrincipalAndAuditEventDateAfterAndAuditEventType(principal, after.toInstant(), type);
-        return auditEventConverter.convertToAuditEvent(persistentAuditEvents);
-    }
-
-    @Override
-    @Transactional(propagation = Propagation.REQUIRES_NEW)
-    public void add(AuditEvent event) {
-        if (!AUTHORIZATION_FAILURE.equals(event.getType()) &&
-            !Constants.ANONYMOUS_USER.equals(event.getPrincipal())) {
-
-            PersistentAuditEvent persistentAuditEvent = new PersistentAuditEvent();
-            persistentAuditEvent.setPrincipal(event.getPrincipal());
-            persistentAuditEvent.setAuditEventType(event.getType());
-            persistentAuditEvent.setAuditEventDate(event.getTimestamp().toInstant());
-            persistentAuditEvent.setData(auditEventConverter.convertDataToStrings(event.getData()));
-            persistenceAuditEventRepository.save(persistentAuditEvent);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/PersistenceAuditEventRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/PersistenceAuditEventRepository.java
deleted file mode 100644
index 2176041e3fd84780d1fa2d68082de914c2dcd795..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/PersistenceAuditEventRepository.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.repository;
-
-import eu.decideh2020.acsmi.frontend.server.domain.PersistentAuditEvent;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.time.Instant;
-import java.util.List;
-
-/**
- * Spring Data JPA repository for the PersistentAuditEvent entity.
- */
-public interface PersistenceAuditEventRepository extends JpaRepository<PersistentAuditEvent, Long> {
-
-    List<PersistentAuditEvent> findByPrincipal(String principal);
-
-    List<PersistentAuditEvent> findByAuditEventDateAfter(Instant after);
-
-    List<PersistentAuditEvent> findByPrincipalAndAuditEventDateAfter(String principal, Instant after);
-
-    List<PersistentAuditEvent> findByPrincipalAndAuditEventDateAfterAndAuditEventType(String principle, Instant after, String type);
-
-    Page<PersistentAuditEvent> findAllByAuditEventDateBetween(Instant fromDate, Instant toDate, Pageable pageable);
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/UserRepository.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/UserRepository.java
deleted file mode 100644
index 52a3963f63b7ffb3f31ef6ee85d0fa57504e54a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/UserRepository.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.repository;
-
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.jpa.repository.EntityGraph;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-import java.util.Optional;
-import java.time.Instant;
-
-/**
- * Spring Data JPA repository for the User entity.
- */
-public interface UserRepository extends JpaRepository<User, Long> {
-
-    Optional<User> findOneByActivationKey(String activationKey);
-
-    List<User> findAllByActivatedIsFalseAndCreatedDateBefore(Instant dateTime);
-
-    Optional<User> findOneByResetKey(String resetKey);
-
-    Optional<User> findOneByEmail(String email);
-
-    Optional<User> findOneByUsersGroup(String usersGroup);
-    
-    List<User> findAllByCreditCardType(String creditCardType);
-    
-    List<User> findAllByCreditCard(String creditCard);
-    
-    List<User> findAllByContractReference(String contractReference);
-
-    Optional<User> findOneByLogin(String login);
-
-    @EntityGraph(attributePaths = "authorities")
-    User findOneWithAuthoritiesById(Long id);
-
-    @EntityGraph(attributePaths = "authorities")
-    Optional<User> findOneWithAuthoritiesByLogin(String login);
-
-    Page<User> findAllByLoginNot(Pageable pageable, String login);
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/package-info.java
deleted file mode 100644
index 68c48042318068c49e20155b2db443f7bfd85b72..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/repository/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring Data JPA repositories.
- */
-package eu.decideh2020.acsmi.frontend.server.repository;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/AuthoritiesConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/AuthoritiesConstants.java
deleted file mode 100644
index 017797033aa9639302f3c85a3c517614f27a47a4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/AuthoritiesConstants.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-/**
- * Constants for Spring Security authorities.
- */
-public final class AuthoritiesConstants {
-
-    public static final String ADMIN = "ROLE_ADMIN";
-
-    public static final String USER = "ROLE_USER";
-
-    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
-
-    public static final String CSP_OWNER = "ROLE_CSP_OWNER";
-
-    public static final String CSP_USER = "ROLE_CSP_USER";
-
-    public static final String CSP_EXTERNAL = "ROLE_CSP_EXTERNAL";
-
-    public static final String PA_OWNER = "ROLE_PA_OWNER";
-
-    public static final String PA_USER = "ROLE_PA_USER";
-
-    public static final String CB_OPERATOR = "ROLE_CB_OPERATOR";
-
-    public static final String CB_LAW = "ROLE_CB_LAW";
-
-    private AuthoritiesConstants() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/DomainUserDetailsService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/DomainUserDetailsService.java
deleted file mode 100644
index 610bd9b444a3cf6fa552e91bf0c9377a6ea554bb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/DomainUserDetailsService.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * Authenticate a user from the database.
- */
-@Component("userDetailsService")
-public class DomainUserDetailsService implements UserDetailsService {
-
-    private final Logger log = LoggerFactory.getLogger(DomainUserDetailsService.class);
-
-    private final UserRepository userRepository;
-
-    public DomainUserDetailsService(UserRepository userRepository) {
-        this.userRepository = userRepository;
-    }
-
-    @Override
-    @Transactional
-    public UserDetails loadUserByUsername(final String login) {
-        log.debug("Authenticating {}", login);
-        String lowercaseLogin = login.toLowerCase(Locale.ENGLISH);
-        Optional<User> userFromDatabase = userRepository.findOneWithAuthoritiesByLogin(lowercaseLogin);
-        return userFromDatabase.map(user -> {
-            if (!user.getActivated()) {
-                throw new UserNotActivatedException("User " + lowercaseLogin + " was not activated");
-            }
-            List<GrantedAuthority> grantedAuthorities = user.getAuthorities().stream()
-                    .map(authority -> new SimpleGrantedAuthority(authority.getName()))
-                .collect(Collectors.toList());
-            return new org.springframework.security.core.userdetails.User(lowercaseLogin,
-                user.getPassword(),
-                grantedAuthorities);
-        }).orElseThrow(() -> new UsernameNotFoundException("User " + lowercaseLogin + " was not found in the " +
-        "database"));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtils.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtils.java
deleted file mode 100644
index b1cf464abe2220bbc60202cbe7b90e98f0466342..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtils.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-
-/**
- * Utility class for Spring Security.
- */
-public final class SecurityUtils {
-
-    private SecurityUtils() {
-    }
-
-    /**
-     * Get the login of the current user.
-     *
-     * @return the login of the current user
-     */
-    public static String getCurrentUserLogin() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        String userName = null;
-        if (authentication != null) {
-            if (authentication.getPrincipal() instanceof UserDetails) {
-                UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal();
-                userName = springSecurityUser.getUsername();
-            } else if (authentication.getPrincipal() instanceof String) {
-                userName = (String) authentication.getPrincipal();
-            }
-        }
-        return userName;
-    }
-
-    /**
-     * Get the JWT of the current user.
-     *
-     * @return the JWT of the current user
-     */
-    public static String getCurrentUserJWT() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null && authentication.getCredentials() instanceof String) {
-            return (String) authentication.getCredentials();
-        }
-        return null;
-    }
-
-    /**
-     * Check if a user is authenticated.
-     *
-     * @return true if the user is authenticated, false otherwise
-     */
-    public static boolean isAuthenticated() {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null) {
-            return authentication.getAuthorities().stream()
-                .noneMatch(grantedAuthority -> grantedAuthority.getAuthority().equals(AuthoritiesConstants.ANONYMOUS));
-        }
-        return false;
-    }
-
-    /**
-     * If the current user has a specific authority (security role).
-     *
-     * <p>The name of this method comes from the isUserInRole() method in the Servlet API</p>
-     *
-     * @param authority the authority to check
-     * @return true if the current user has the authority, false otherwise
-     */
-    public static boolean isCurrentUserInRole(String authority) {
-        SecurityContext securityContext = SecurityContextHolder.getContext();
-        Authentication authentication = securityContext.getAuthentication();
-        if (authentication != null) {
-            return authentication.getAuthorities().stream()
-                .anyMatch(grantedAuthority -> grantedAuthority.getAuthority().equals(authority));
-        }
-        return false;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SpringSecurityAuditorAware.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SpringSecurityAuditorAware.java
deleted file mode 100644
index 45f6e901f2a6eed1945829fca2197cd34842eddb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/SpringSecurityAuditorAware.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-
-import org.springframework.data.domain.AuditorAware;
-import org.springframework.stereotype.Component;
-
-/**
- * Implementation of AuditorAware based on Spring Security.
- */
-@Component
-public class SpringSecurityAuditorAware implements AuditorAware<String> {
-
-    @Override
-    public String getCurrentAuditor() {
-        String userName = SecurityUtils.getCurrentUserLogin();
-        return userName != null ? userName : Constants.SYSTEM_ACCOUNT;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/UserNotActivatedException.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/UserNotActivatedException.java
deleted file mode 100644
index 7750edff5e60981a9d0e0470ffd3292e58284bbe..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/UserNotActivatedException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-import org.springframework.security.core.AuthenticationException;
-
-/**
- * This exception is thrown in case of a not activated user trying to authenticate.
- */
-public class UserNotActivatedException extends AuthenticationException {
-
-    private static final long serialVersionUID = 1L;
-
-    public UserNotActivatedException(String message) {
-        super(message);
-    }
-
-    public UserNotActivatedException(String message, Throwable t) {
-        super(message, t);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTConfigurer.java
deleted file mode 100644
index c7d5c223863fb16beb7a636ca20c006e9979b0cf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTConfigurer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security.jwt;
-
-import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.web.DefaultSecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-
-public class JWTConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
-
-    public static final String AUTHORIZATION_HEADER = "Authorization";
-
-    public static final String AUTHORIZATION_TOKEN = "access_token";
-
-    private TokenProvider tokenProvider;
-
-    public JWTConfigurer(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void configure(HttpSecurity http) throws Exception {
-        JWTFilter customFilter = new JWTFilter(tokenProvider);
-        http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilter.java
deleted file mode 100644
index ae0f9d5ce76f70b3b8e15f78ea2a4f4b71f746ab..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security.jwt;
-
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.GenericFilterBean;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-
-/**
- * Filters incoming requests and installs a Spring Security principal if a header corresponding to a valid user is
- * found.
- */
-public class JWTFilter extends GenericFilterBean {
-
-    private TokenProvider tokenProvider;
-
-    public JWTFilter(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
-        throws IOException, ServletException {
-        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
-        String jwt = resolveToken(httpServletRequest);
-        if (StringUtils.hasText(jwt) && this.tokenProvider.validateToken(jwt)) {
-            Authentication authentication = this.tokenProvider.getAuthentication(jwt);
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-        }
-        filterChain.doFilter(servletRequest, servletResponse);
-    }
-
-    private String resolveToken(HttpServletRequest request){
-        String bearerToken = request.getHeader(JWTConfigurer.AUTHORIZATION_HEADER);
-        if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) {
-            return bearerToken.substring(7, bearerToken.length());
-        }
-        String jwt = request.getParameter(JWTConfigurer.AUTHORIZATION_TOKEN);
-        if (StringUtils.hasText(jwt)) {
-            return jwt;
-        }
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProvider.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProvider.java
deleted file mode 100644
index f4226fc12b3978bb3908ecc8cfa50238e9f12041..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security.jwt;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import java.util.*;
-import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.stereotype.Component;
-
-import io.jsonwebtoken.*;
-
-@Component
-public class TokenProvider {
-
-    private final Logger log = LoggerFactory.getLogger(TokenProvider.class);
-
-    private static final String AUTHORITIES_KEY = "auth";
-
-    private String secretKey;
-
-    private long tokenValidityInMilliseconds;
-
-    private long tokenValidityInMillisecondsForRememberMe;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public TokenProvider(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @PostConstruct
-    public void init() {
-        this.secretKey =
-            jHipsterProperties.getSecurity().getAuthentication().getJwt().getSecret();
-
-        this.tokenValidityInMilliseconds =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSeconds();
-        this.tokenValidityInMillisecondsForRememberMe =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSecondsForRememberMe();
-    }
-
-    public String createToken(Authentication authentication, Boolean rememberMe) {
-        String authorities = authentication.getAuthorities().stream()
-            .map(GrantedAuthority::getAuthority)
-            .collect(Collectors.joining(","));
-
-        long now = (new Date()).getTime();
-        Date validity;
-        if (rememberMe) {
-            validity = new Date(now + this.tokenValidityInMillisecondsForRememberMe);
-        } else {
-            validity = new Date(now + this.tokenValidityInMilliseconds);
-        }
-
-        return Jwts.builder()
-            .setSubject(authentication.getName())
-            .claim(AUTHORITIES_KEY, authorities)
-            .signWith(SignatureAlgorithm.HS512, secretKey)
-            .setExpiration(validity)
-            .compact();
-    }
-
-    public Authentication getAuthentication(String token) {
-        Claims claims = Jwts.parser()
-            .setSigningKey(secretKey)
-            .parseClaimsJws(token)
-            .getBody();
-
-        Collection<? extends GrantedAuthority> authorities =
-            Arrays.stream(claims.get(AUTHORITIES_KEY).toString().split(","))
-                .map(SimpleGrantedAuthority::new)
-                .collect(Collectors.toList());
-
-        User principal = new User(claims.getSubject(), "", authorities);
-
-        return new UsernamePasswordAuthenticationToken(principal, token, authorities);
-    }
-
-    public boolean validateToken(String authToken) {
-        try {
-            Jwts.parser().setSigningKey(secretKey).parseClaimsJws(authToken);
-            return true;
-        } catch (SignatureException e) {
-            log.info("Invalid JWT signature.");
-            log.trace("Invalid JWT signature trace: {}", e);
-        } catch (MalformedJwtException e) {
-            log.info("Invalid JWT token.");
-            log.trace("Invalid JWT token trace: {}", e);
-        } catch (ExpiredJwtException e) {
-            log.info("Expired JWT token.");
-            log.trace("Expired JWT token trace: {}", e);
-        } catch (UnsupportedJwtException e) {
-            log.info("Unsupported JWT token.");
-            log.trace("Unsupported JWT token trace: {}", e);
-        } catch (IllegalArgumentException e) {
-            log.info("JWT token compact of handler are invalid.");
-            log.trace("JWT token compact of handler are invalid trace: {}", e);
-        }
-        return false;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/package-info.java
deleted file mode 100644
index 96e8f42cfd01d96bbb8746364354c1bf0d3703bc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/security/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring Security configuration.
- */
-package eu.decideh2020.acsmi.frontend.server.security;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/AuditEventService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/AuditEventService.java
deleted file mode 100644
index 8d82f9b0baf3b1a03d0f744ee5520c9b5cf0671e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/AuditEventService.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service;
-
-import eu.decideh2020.acsmi.frontend.server.config.audit.AuditEventConverter;
-import eu.decideh2020.acsmi.frontend.server.repository.PersistenceAuditEventRepository;
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.Instant;
-import java.util.Optional;
-
-/**
- * Service for managing audit events.
- * <p>
- * This is the default implementation to support SpringBoot Actuator AuditEventRepository
- * </p>
- */
-@Service
-@Transactional
-public class AuditEventService {
-
-    private final PersistenceAuditEventRepository persistenceAuditEventRepository;
-
-    private final AuditEventConverter auditEventConverter;
-
-    public AuditEventService(
-        PersistenceAuditEventRepository persistenceAuditEventRepository,
-        AuditEventConverter auditEventConverter) {
-
-        this.persistenceAuditEventRepository = persistenceAuditEventRepository;
-        this.auditEventConverter = auditEventConverter;
-    }
-
-    public Page<AuditEvent> findAll(Pageable pageable) {
-        return persistenceAuditEventRepository.findAll(pageable)
-            .map(auditEventConverter::convertToAuditEvent);
-    }
-
-    public Page<AuditEvent> findByDates(Instant fromDate, Instant toDate, Pageable pageable) {
-        return persistenceAuditEventRepository.findAllByAuditEventDateBetween(fromDate, toDate, pageable)
-            .map(auditEventConverter::convertToAuditEvent);
-    }
-
-    public Optional<AuditEvent> find(Long id) {
-        return Optional.ofNullable(persistenceAuditEventRepository.findOne(id)).map
-            (auditEventConverter::convertToAuditEvent);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/MailService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/MailService.java
deleted file mode 100644
index 811151d577d4d14d20913e4e8530180e6fc9c091..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/MailService.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service;
-
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.apache.commons.lang3.CharEncoding;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.MessageSource;
-import org.springframework.mail.javamail.JavaMailSender;
-import org.springframework.mail.javamail.MimeMessageHelper;
-import org.springframework.scheduling.annotation.Async;
-import org.springframework.stereotype.Service;
-import org.thymeleaf.context.Context;
-import org.thymeleaf.spring4.SpringTemplateEngine;
-
-import javax.mail.internet.MimeMessage;
-import java.util.Locale;
-
-/**
- * Service for sending emails.
- * <p>
- * We use the @Async annotation to send emails asynchronously.
- * </p>
- */
-@Service
-public class MailService {
-
-    private final Logger log = LoggerFactory.getLogger(MailService.class);
-
-    private static final String USER = "user";
-
-    private static final String BASE_URL = "baseUrl";
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private final JavaMailSender javaMailSender;
-
-    private final MessageSource messageSource;
-
-    private final SpringTemplateEngine templateEngine;
-
-    public MailService(JHipsterProperties jHipsterProperties, JavaMailSender javaMailSender,
-            MessageSource messageSource, SpringTemplateEngine templateEngine) {
-
-        this.jHipsterProperties = jHipsterProperties;
-        this.javaMailSender = javaMailSender;
-        this.messageSource = messageSource;
-        this.templateEngine = templateEngine;
-    }
-
-    @Async
-    public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
-        log.debug("Send email[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
-            isMultipart, isHtml, to, subject, content);
-
-        // Prepare message using a Spring helper
-        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
-        try {
-            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);
-            message.setTo(to);
-            message.setFrom(jHipsterProperties.getMail().getFrom());
-            message.setSubject(subject);
-            message.setText(content, isHtml);
-            javaMailSender.send(mimeMessage);
-            log.debug("Sent email to User '{}'", to);
-        } catch (Exception e) {
-            log.warn("Email could not be sent to user '{}'", to, e);
-        }
-    }
-
-    @Async
-    public void sendEmailFromTemplate(User user, String templateName, String titleKey) {
-        Locale locale = Locale.forLanguageTag(user.getLangKey());
-        Context context = new Context(locale);
-        context.setVariable(USER, user);
-        context.setVariable(BASE_URL, jHipsterProperties.getMail().getBaseUrl());
-        String content = templateEngine.process(templateName, context);
-        String subject = messageSource.getMessage(titleKey, null, locale);
-        sendEmail(user.getEmail(), subject, content, false, true);
-
-    }
-
-    @Async
-    public void sendActivationEmail(User user) {
-        log.debug("Sending activation email to '{}'", user.getEmail());
-        sendEmailFromTemplate(user, "activationEmail", "email.activation.title");
-    }
-
-    @Async
-    public void sendCreationEmail(User user) {
-        log.debug("Sending creation email to '{}'", user.getEmail());
-        sendEmailFromTemplate(user, "creationEmail", "email.activation.title");
-    }
-
-    @Async
-    public void sendPasswordResetMail(User user) {
-        log.debug("Sending password reset email to '{}'", user.getEmail());
-        sendEmailFromTemplate(user, "passwordResetEmail", "email.reset.title");
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/UserService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/UserService.java
deleted file mode 100644
index b1d7077984ac9f147af543116fdebe907f1b8e28..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/UserService.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service;
-
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.AuthorityRepository;
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import eu.decideh2020.acsmi.frontend.server.security.SecurityUtils;
-import eu.decideh2020.acsmi.frontend.server.service.util.RandomUtil;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.Instant;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * Service class for managing users.
- */
-@Service
-@Transactional
-public class UserService {
-
-    private final Logger log = LoggerFactory.getLogger(UserService.class);
-
-    private final UserRepository userRepository;
-
-    private final PasswordEncoder passwordEncoder;
-
-    private final AuthorityRepository authorityRepository;
-
-    private String ownerCompany;
-
-    private String originalCreditCardType;
-
-    private String originalCreditCard;
-
-    private String originalContractReference;
-
-    public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder, AuthorityRepository authorityRepository) {
-        this.userRepository = userRepository;
-        this.passwordEncoder = passwordEncoder;
-        this.authorityRepository = authorityRepository;
-    }
-
-    public Optional<User> activateRegistration(String key) {
-        log.debug("Activating user for activation key {}", key);
-        return userRepository.findOneByActivationKey(key)
-            .map(user -> {
-                // activate given user for the registration key.
-                user.setActivated(true);
-                user.setActivationKey(null);
-                log.debug("Activated user: {}", user);
-                return user;
-            });
-    }
-
-    public Optional<User> completePasswordReset(String newPassword, String key) {
-       log.debug("Reset user password for reset key {}", key);
-
-       return userRepository.findOneByResetKey(key)
-           .filter(user -> user.getResetDate().isAfter(Instant.now().minusSeconds(86400)))
-           .map(user -> {
-                user.setPassword(passwordEncoder.encode(newPassword));
-                user.setResetKey(null);
-                user.setResetDate(null);
-                return user;
-           });
-    }
-
-    public Optional<User> requestPasswordReset(String mail) {
-        return userRepository.findOneByEmail(mail)
-            .filter(User::getActivated)
-            .map(user -> {
-                user.setResetKey(RandomUtil.generateResetKey());
-                user.setResetDate(Instant.now());
-                return user;
-            });
-    }
-
-    public User createUser(String login, String password, String firstName, String lastName, String email,
-    	String company, String usersGroup, String userType, String creditCardType, String creditCard, String contractReference,
-      String cifOrVat, String imageUrl, String langKey) {
-
-        User newUser = new User();
-        Authority authorityOwner = null;
-
-        if(userType.equals("csp")) {
-        	log.debug("ROLE CSP_OWNER ADDED");
-        	authorityOwner = authorityRepository.findOne(AuthoritiesConstants.CSP_OWNER);
-        } else if(userType.equals("pa")) {
-        	log.debug("ROLE PA_OWNER ADDED");
-        	authorityOwner = authorityRepository.findOne(AuthoritiesConstants.PA_OWNER);
-        }
-
-        Authority authorityBasic = authorityRepository.findOne(AuthoritiesConstants.USER);
-        Set<Authority> authorities = new HashSet<>();
-
-        String encryptedPassword = passwordEncoder.encode(password);
-        newUser.setLogin(login);
-        // new user gets initially a generated password
-        newUser.setPassword(encryptedPassword);
-        newUser.setFirstName(firstName);
-        newUser.setLastName(lastName);
-        newUser.setEmail(email);
-        newUser.setCompany(company);
-        newUser.setUsersGroup(usersGroup);
-        newUser.setUserType(userType);
-        newUser.setCreditCardType(creditCardType);
-        newUser.setCreditCard(creditCard);
-        newUser.setContractReference(contractReference);
-        newUser.setCifOrVat(cifOrVat);
-        newUser.setImageUrl(imageUrl);
-        newUser.setLangKey(langKey);
-        // new user is not active
-        newUser.setActivated(false);
-        // new user gets registration key
-        newUser.setActivationKey(RandomUtil.generateActivationKey());
-
-        authorities.add(authorityBasic);
-        if(authorityOwner != null) {
-        	authorities.add(authorityOwner);
-        }
-        newUser.setAuthorities(authorities);
-
-        userRepository.save(newUser);
-        log.debug("Created Information for User: {}", newUser);
-        return newUser;
-    }
-
-    public User createUser(UserDTO userDTO) {
-        User user = new User();
-        user.setLogin(userDTO.getLogin());
-        user.setFirstName(userDTO.getFirstName());
-        user.setLastName(userDTO.getLastName());
-        user.setEmail(userDTO.getEmail());
-        user.setCompany(userDTO.getCompany());
-        user.setUsersGroup(userDTO.getUsersGroup());
-        user.setUserType(userDTO.getUserType());
-        user.setCreditCardType(userDTO.getCreditCardType());
-        user.setCreditCard(userDTO.getCreditCard());
-        user.setContractReference(userDTO.getContractReference());
-        user.setCifOrVat(userDTO.getCifOrVat());
-        user.setImageUrl(userDTO.getImageUrl());
-        if (userDTO.getLangKey() == null) {
-            user.setLangKey("en"); // default language
-        } else {
-            user.setLangKey(userDTO.getLangKey());
-        }
-        if (userDTO.getAuthorities() != null) {
-            Set<Authority> authorities = new HashSet<>();
-            userDTO.getAuthorities().forEach(
-                authority -> authorities.add(authorityRepository.findOne(authority))
-            );
-            user.setAuthorities(authorities);
-        }
-        String encryptedPassword = passwordEncoder.encode(RandomUtil.generatePassword());
-        user.setPassword(encryptedPassword);
-        user.setResetKey(RandomUtil.generateResetKey());
-        user.setResetDate(Instant.now());
-        user.setActivated(true);
-        userRepository.save(user);
-        log.debug("Created Information for User: {}", user);
-        return user;
-    }
-
-    /**
-     * Update basic information (first name, last name, email, creditCardType, creditCard, contractReference, language) for the current user.
-     *
-     * @param firstName first name of user
-     * @param lastName last name of user
-     * @param email email id of user
-     * @param company company name of user
-     * @param creditCardType creditCardType of user
-     * @param creditCard creditCard of user
-     * @param contractReference contractReference of user
-     * @param langKey language key
-     * @param imageUrl image URL of user
-     */
-    public void updateUser(String firstName, String lastName, String email, String company, String creditCardType,
-    		String creditCard, String contractReference, String langKey, String imageUrl) {
-    	// Actualiza la info del usuario
-    	userRepository.findOneByLogin(SecurityUtils.getCurrentUserLogin()).ifPresent(user -> {
-            // Establece valores del usuario padre en variables para las siguientes comparaciones
-    		ownerCompany = user.getCompany();
-    		originalCreditCardType = user.getCreditCardType();
-    		originalCreditCard = user.getCreditCard();
-    		originalContractReference = user.getContractReference();
-
-    		// Sustituye los valores antiguos por los nuevos
-    		user.setFirstName(firstName);
-    		user.setLastName(lastName);
-            user.setEmail(email);
-            user.setCreditCardType(creditCardType);
-            user.setCreditCard(creditCard);
-            user.setContractReference(contractReference);
-            user.setLangKey(langKey);
-            user.setImageUrl(imageUrl);
-            log.debug("Changed Information for User: {}", user);
-        });
-    	// Actualiza la informacion que haya cambiado a los demas usuarios que dependen de este
-    	userRepository.findAllByCreditCardType(originalCreditCardType).forEach(user -> {
-        	if(ownerCompany.equals(user.getCompany())) {
-        		user.setCreditCardType(creditCardType);
-                log.debug("Changed Credit Card Type for User: {}", user.getLogin());
-        	} else {
-        		log.debug("This user does not belong to the same company: {}", user.getLogin());
-        	}
-        });
-    	userRepository.findAllByCreditCard(originalCreditCard).forEach(user -> {
-    		if(ownerCompany.equals(user.getCompany())) {
-    			user.setCreditCard(creditCard);
-    			log.debug("Changed Credit Card Number for User: {}", user.getLogin());
-        	} else {
-        		log.debug("This user does not belong to the same company: {}", user.getLogin());
-        	}
-        });
-        userRepository.findAllByContractReference(originalContractReference).forEach(user -> {
-        	if(ownerCompany.equals(user.getCompany())) {
-        		user.setContractReference(contractReference);
-                log.debug("Changed Contract Reference for User: {}", user.getLogin());
-        	} else {
-        		log.debug("This user does not belong to the same company: {}", user.getLogin());
-        	}
-        });
-    }
-
-    /**
-     * Update all information for a specific user, and return the modified user.
-     *
-     * @param userDTO user to update
-     * @return updated user
-     */
-    public Optional<UserDTO> updateUser(UserDTO userDTO) {
-        return Optional.of(userRepository
-            .findOne(userDTO.getId()))
-            .map(user -> {
-                user.setLogin(userDTO.getLogin());
-                user.setFirstName(userDTO.getFirstName());
-                user.setLastName(userDTO.getLastName());
-                user.setEmail(userDTO.getEmail());
-                user.setCompany(userDTO.getCompany());
-                user.setUsersGroup(userDTO.getUsersGroup());
-                user.setUserType(userDTO.getUserType());
-                user.setCreditCardType(userDTO.getCreditCardType());
-                user.setCreditCard(userDTO.getCreditCard());
-                user.setContractReference(userDTO.getContractReference());
-                user.setCifOrVat(userDTO.getCifOrVat());
-                user.setImageUrl(userDTO.getImageUrl());
-                user.setActivated(userDTO.isActivated());
-                user.setLangKey(userDTO.getLangKey());
-                Set<Authority> managedAuthorities = user.getAuthorities();
-                managedAuthorities.clear();
-                userDTO.getAuthorities().stream()
-                    .map(authorityRepository::findOne)
-                    .forEach(managedAuthorities::add);
-                log.debug("Changed Information for User: {}", user);
-                return user;
-            })
-            .map(UserDTO::new);
-    }
-
-    public void deleteUser(String login) {
-        userRepository.findOneByLogin(login).ifPresent(user -> {
-            userRepository.delete(user);
-            log.debug("Deleted User: {}", user);
-        });
-    }
-
-    public void changePassword(String password) {
-        userRepository.findOneByLogin(SecurityUtils.getCurrentUserLogin()).ifPresent(user -> {
-            String encryptedPassword = passwordEncoder.encode(password);
-            user.setPassword(encryptedPassword);
-            log.debug("Changed password for User: {}", user);
-        });
-    }
-
-    @Transactional(readOnly = true)
-    public Page<UserDTO> getAllManagedUsers(Pageable pageable) {
-        return userRepository.findAllByLoginNot(pageable, Constants.ANONYMOUS_USER).map(UserDTO::new);
-    }
-
-    @Transactional(readOnly = true)
-    public Optional<User> getUserWithAuthoritiesByLogin(String login) {
-        return userRepository.findOneWithAuthoritiesByLogin(login);
-    }
-
-    @Transactional(readOnly = true)
-    public User getUserWithAuthorities(Long id) {
-        return userRepository.findOneWithAuthoritiesById(id);
-    }
-
-    @Transactional(readOnly = true)
-    public User getUserWithAuthorities() {
-        return userRepository.findOneWithAuthoritiesByLogin(SecurityUtils.getCurrentUserLogin()).orElse(null);
-    }
-
-
-    /**
-     * Not activated users should be automatically deleted after 3 days.
-     * <p>
-     * This is scheduled to get fired everyday, at 01:00 (am).
-     * </p>
-     */
-    @Scheduled(cron = "0 0 1 * * ?")
-    public void removeNotActivatedUsers() {
-        List<User> users = userRepository.findAllByActivatedIsFalseAndCreatedDateBefore(Instant.now().minus(3, ChronoUnit.DAYS));
-        for (User user : users) {
-            log.debug("Deleting not activated user {}", user.getLogin());
-            userRepository.delete(user);
-        }
-    }
-
-    /**
-     * @return a list of all the authorities
-     */
-    public List<String> getAuthorities() {
-        return authorityRepository.findAll().stream().map(Authority::getName).collect(Collectors.toList());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/UserDTO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/UserDTO.java
deleted file mode 100644
index d06f9f5c22131d343e8eb80ba2f0693556b52388..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/UserDTO.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service.dto;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-
-import org.hibernate.validator.constraints.Email;
-import org.hibernate.validator.constraints.NotBlank;
-
-import javax.validation.constraints.*;
-import java.time.Instant;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-/**
- * A DTO representing a user, with his authorities.
- */
-public class UserDTO {
-
-    private Long id;
-
-    @NotBlank
-    @Pattern(regexp = Constants.LOGIN_REGEX)
-    @Size(min = 1, max = 50)
-    private String login;
-
-    @Size(max = 50)
-    private String firstName;
-
-    @Size(max = 50)
-    private String lastName;
-
-    @Email
-    @Size(min = 5, max = 100)
-    private String email;
-
-    @Size(max = 100)
-    private String company;
-
-    @Size(min = 1, max = 50)
-    private String usersGroup;
-
-    @Size(min = 2, max = 3)
-    private String userType;
-
-    @Size(max = 30)
-    private String creditCardType;
-
-    @Size(min = 13, max = 16)
-    private String creditCard;
-
-    @Size(min = 13, max = 16)
-    private String contractReference;
-
-    @Size(min = 8, max = 12)
-    private String cifOrVat;
-
-    @Size(max = 256)
-    private String imageUrl;
-
-    private boolean activated = false;
-
-    @Size(min = 2, max = 5)
-    private String langKey;
-
-    private String createdBy;
-
-    private Instant createdDate;
-
-    private String lastModifiedBy;
-
-    private Instant lastModifiedDate;
-
-    private Set<String> authorities;
-
-    public UserDTO() {
-        // Empty constructor needed for Jackson.
-    }
-
-    public UserDTO(User user) {
-        this(user.getId(), user.getLogin(), user.getFirstName(), user.getLastName(),
-            user.getEmail(), user.getCompany(), user.getUsersGroup(), user.getUserType(), user.getCreditCardType(),
-            user.getCreditCard(), user.getContractReference(), user.getCifOrVat(), user.getActivated(),
-            user.getImageUrl(), user.getLangKey(), user.getCreatedBy(), user.getCreatedDate(),
-            user.getLastModifiedBy(), user.getLastModifiedDate(),
-            user.getAuthorities().stream().map(Authority::getName)
-                .collect(Collectors.toSet()));
-    }
-
-    public UserDTO(Long id, String login, String firstName, String lastName,
-        String email, String company, String usersGroup, String userType, String creditCardType,
-        String creditCard, String contractReference, String cifOrVat, boolean activated,
-        String imageUrl, String langKey, String createdBy, Instant createdDate,
-        String lastModifiedBy, Instant lastModifiedDate,
-        Set<String> authorities) {
-
-        this.id = id;
-        this.login = login;
-        this.firstName = firstName;
-        this.lastName = lastName;
-        this.email = email;
-        this.company = company;
-        this.usersGroup = usersGroup;
-        this.userType = userType;
-        this.creditCardType = creditCardType;
-        this.creditCard = creditCard;
-        this.contractReference = contractReference;
-        this.cifOrVat = cifOrVat;
-        this.activated = activated;
-        this.imageUrl = imageUrl;
-        this.langKey = langKey;
-        this.createdBy = createdBy;
-        this.createdDate = createdDate;
-        this.lastModifiedBy = lastModifiedBy;
-        this.lastModifiedDate = lastModifiedDate;
-        this.authorities = authorities;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getLogin() {
-        return login;
-    }
-
-    public void setLogin(String login) {
-        this.login = login;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public String getCompany() {
-        return company;
-    }
-
-    public String getUsersGroup() {
-        return usersGroup;
-    }
-
-    public String getUserType() {
-        return userType;
-    }
-
-    public String getCreditCardType() {
-        return creditCardType;
-    }
-
-    public String getCreditCard() {
-        return creditCard;
-    }
-
-    public String getContractReference() {
-        return contractReference;
-    }
-
-    public String getCifOrVat() {
-        return cifOrVat;
-    }
-
-    public String getImageUrl() {
-        return imageUrl;
-    }
-
-    public boolean isActivated() {
-        return activated;
-    }
-
-    public String getLangKey() {
-        return langKey;
-    }
-
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    public Instant getCreatedDate() {
-        return createdDate;
-    }
-
-    public String getLastModifiedBy() {
-        return lastModifiedBy;
-    }
-
-    public Instant getLastModifiedDate() {
-        return lastModifiedDate;
-    }
-
-    public void setLastModifiedDate(Instant lastModifiedDate) {
-        this.lastModifiedDate = lastModifiedDate;
-    }
-
-    public Set<String> getAuthorities() {
-        return authorities;
-    }
-
-    @Override
-    public String toString() {
-        return "UserDTO{" +
-            "login='" + login + '\'' +
-            ", firstName='" + firstName + '\'' +
-            ", lastName='" + lastName + '\'' +
-            ", email='" + email + '\'' +
-            ", company='" + company + '\'' +
-            ", usersGroup='" + usersGroup + '\'' +
-            ", userType='" + userType + '\'' +
-            ", creditCardType='" + creditCardType + '\'' +
-            ", creditCard='" + creditCard + '\'' +
-            ", contractReference='" + contractReference + '\'' +
-            ", cifOrVat='" + cifOrVat + '\'' +
-            ", imageUrl='" + imageUrl + '\'' +
-            ", activated=" + activated +
-            ", langKey='" + langKey + '\'' +
-            ", createdBy=" + createdBy +
-            ", createdDate=" + createdDate +
-            ", lastModifiedBy='" + lastModifiedBy + '\'' +
-            ", lastModifiedDate=" + lastModifiedDate +
-            ", authorities=" + authorities +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/package-info.java
deleted file mode 100644
index 19766f003497140509abdd9ee56829599166d10e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/dto/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Data Transfer Objects.
- */
-package eu.decideh2020.acsmi.frontend.server.service.dto;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/UserMapper.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/UserMapper.java
deleted file mode 100644
index e2a59af139d4bf7cdef2424484809799f58fd402..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/UserMapper.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service.mapper;
-
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import org.mapstruct.*;
-
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-/**
- * Mapper for the entity User and its DTO UserDTO.
- */
-@Mapper(componentModel = "spring")
-public interface UserMapper {
-
-    default UserDTO userToUserDTO(User user) {
-        return new UserDTO(user);
-    }
-
-    List<UserDTO> usersToUserDTOs(List<User> users);
-
-    @Mapping(target = "createdBy", ignore = true)
-    @Mapping(target = "createdDate", ignore = true)
-    @Mapping(target = "lastModifiedBy", ignore = true)
-    @Mapping(target = "lastModifiedDate", ignore = true)
-    @Mapping(target = "activationKey", ignore = true)
-    @Mapping(target = "resetKey", ignore = true)
-    @Mapping(target = "resetDate", ignore = true)
-    @Mapping(target = "password", ignore = true)
-    User userDTOToUser(UserDTO userDTO);
-
-    List<User> userDTOsToUsers(List<UserDTO> userDTOs);
-
-    default User userFromId(Long id) {
-        if (id == null) {
-            return null;
-        }
-        User user = new User();
-        user.setId(id);
-        return user;
-    }
-
-    default Set<Authority> authoritiesFromStrings(Set<String> strings) {
-        return strings.stream().map(string -> {
-            Authority auth = new Authority();
-            auth.setName(string);
-            return auth;
-        }).collect(Collectors.toSet());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/package-info.java
deleted file mode 100644
index a2c4a779596ac8028fb26a845f604ed4b6e4a6bf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/mapper/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * MapStruct mappers for mapping domain objects and Data Transfer Objects.
- */
-package eu.decideh2020.acsmi.frontend.server.service.mapper;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/package-info.java
deleted file mode 100644
index 46cc3905fdeb7f4d5acbc1a3f26f380f42a2b54c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Service layer beans.
- */
-package eu.decideh2020.acsmi.frontend.server.service;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/util/RandomUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/util/RandomUtil.java
deleted file mode 100644
index df202e323c0987fabbf1743ff22277c11a303306..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/service/util/RandomUtil.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service.util;
-
-import org.apache.commons.lang3.RandomStringUtils;
-
-/**
- * Utility class for generating random Strings.
- */
-public final class RandomUtil {
-
-    private static final int DEF_COUNT = 20;
-
-    private RandomUtil() {
-    }
-
-    /**
-     * Generate a password.
-     *
-     * @return the generated password
-     */
-    public static String generatePassword() {
-        return RandomStringUtils.randomAlphanumeric(DEF_COUNT);
-    }
-
-    /**
-     * Generate an activation key.
-     *
-     * @return the generated activation key
-     */
-    public static String generateActivationKey() {
-        return RandomStringUtils.randomNumeric(DEF_COUNT);
-    }
-
-    /**
-    * Generate a reset key.
-    *
-    * @return the generated reset key
-    */
-    public static String generateResetKey() {
-        return RandomStringUtils.randomNumeric(DEF_COUNT);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResource.java
deleted file mode 100644
index 3dab6b91706cd38355ad97b0f114bc5a5b898b04..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResource.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.SecurityUtils;
-import eu.decideh2020.acsmi.frontend.server.service.MailService;
-import eu.decideh2020.acsmi.frontend.server.service.UserService;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.KeyAndPasswordVM;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.ManagedUserVM;
-import eu.decideh2020.acsmi.frontend.server.web.rest.util.HeaderUtil;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.validation.Valid;
-import java.util.*;
-
-/**
- * REST controller for managing the current user's account.
- */
-@RestController
-@RequestMapping("/api")
-public class AccountResource {
-
-    private final Logger log = LoggerFactory.getLogger(AccountResource.class);
-
-    private final UserRepository userRepository;
-
-    private final UserService userService;
-
-    private final MailService mailService;
-
-    public AccountResource(UserRepository userRepository, UserService userService,
-            MailService mailService) {
-
-        this.userRepository = userRepository;
-        this.userService = userService;
-        this.mailService = mailService;
-    }
-
-    /**
-     * POST  /register : register the user.
-     *
-     * @param managedUserVM the managed user View Model
-     * @return the ResponseEntity with status 201 (Created) if the user is registered or 400 (Bad Request) if the login or email is already in use
-     */
-    @PostMapping(path = "/register",
-        produces={MediaType.APPLICATION_JSON_VALUE, MediaType.TEXT_PLAIN_VALUE})
-    @Timed
-    public ResponseEntity registerAccount(@Valid @RequestBody ManagedUserVM managedUserVM) {
-
-        HttpHeaders textPlainHeaders = new HttpHeaders();
-        textPlainHeaders.setContentType(MediaType.TEXT_PLAIN);
-
-        return userRepository.findOneByLogin(managedUserVM.getLogin().toLowerCase())
-            .map(user -> new ResponseEntity<>("login already in use", textPlainHeaders, HttpStatus.BAD_REQUEST))
-            .orElseGet(() -> userRepository.findOneByEmail(managedUserVM.getEmail())
-                .map(user -> new ResponseEntity<>("email address already in use", textPlainHeaders, HttpStatus.BAD_REQUEST))
-                .orElseGet(() -> userRepository.findOneByUsersGroup(managedUserVM.getUsersGroup())
-                    .map(user -> new ResponseEntity<>("user group already exists", textPlainHeaders, HttpStatus.BAD_REQUEST))
-                    .orElseGet(() -> {
-                        User user = userService
-                            .createUser(managedUserVM.getLogin(), managedUserVM.getPassword(),
-                                managedUserVM.getFirstName(), managedUserVM.getLastName(),
-                                managedUserVM.getEmail().toLowerCase(), managedUserVM.getCompany(),
-                                managedUserVM.getUsersGroup(), managedUserVM.getUserType(), 
-                                managedUserVM.getCreditCardType(), managedUserVM.getCreditCard(),
-                                managedUserVM.getContractReference(), managedUserVM.getCifOrVat(),
-                                managedUserVM.getImageUrl(), managedUserVM.getLangKey());
-
-                        mailService.sendActivationEmail(user);
-                        return new ResponseEntity<>(HttpStatus.CREATED);
-                    })
-              )
-        );
-    }
-
-    /**
-     * GET  /activate : activate the registered user.
-     *
-     * @param key the activation key
-     * @return the ResponseEntity with status 200 (OK) and the activated user in body, or status 500 (Internal Server Error) if the user couldn't be activated
-     */
-    @GetMapping("/activate")
-    @Timed
-    public ResponseEntity<String> activateAccount(@RequestParam(value = "key") String key) {
-        return userService.activateRegistration(key)
-            .map(user -> new ResponseEntity<String>(HttpStatus.OK))
-            .orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
-    }
-
-    /**
-     * GET  /authenticate : check if the user is authenticated, and return its login.
-     *
-     * @param request the HTTP request
-     * @return the login if the user is authenticated
-     */
-    @GetMapping("/authenticate")
-    @Timed
-    public String isAuthenticated(HttpServletRequest request) {
-        log.debug("REST request to check if the current user is authenticated");
-        return request.getRemoteUser();
-    }
-
-    /**
-     * GET  /account : get the current user.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the current user in body, or status 500 (Internal Server Error) if the user couldn't be returned
-     */
-    @GetMapping("/account")
-    @Timed
-    public ResponseEntity<UserDTO> getAccount() {
-        return Optional.ofNullable(userService.getUserWithAuthorities())
-            .map(user -> new ResponseEntity<>(new UserDTO(user), HttpStatus.OK))
-            .orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
-    }
-
-    /**
-     * POST  /account : update the current user information.
-     *
-     * @param userDTO the current user information
-     * @return the ResponseEntity with status 200 (OK), or status 400 (Bad Request) or 500 (Internal Server Error) if the user couldn't be updated
-     */
-    @PostMapping("/account")
-    @Timed
-    public ResponseEntity saveAccount(@Valid @RequestBody UserDTO userDTO) {
-        final String userLogin = SecurityUtils.getCurrentUserLogin();
-        Optional<User> existingUser = userRepository.findOneByEmail(userDTO.getEmail());
-        if (existingUser.isPresent() && (!existingUser.get().getLogin().equalsIgnoreCase(userLogin))) {
-            return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert("user-management", "emailexists", "Email already in use")).body(null);
-        }
-        return userRepository
-            .findOneByLogin(userLogin)
-            .map(u -> {
-                userService.updateUser(userDTO.getFirstName(), userDTO.getLastName(), userDTO.getEmail(),
-                	userDTO.getCompany(), userDTO.getCreditCardType(), userDTO.getCreditCard(),
-                	userDTO.getContractReference(), userDTO.getLangKey(), userDTO.getImageUrl());
-                return new ResponseEntity(HttpStatus.OK);
-            })
-            .orElseGet(() -> new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
-    }
-
-    /**
-     * POST  /account/change_password : changes the current user's password
-     *
-     * @param password the new password
-     * @return the ResponseEntity with status 200 (OK), or status 400 (Bad Request) if the new password is not strong enough
-     */
-    @PostMapping(path = "/account/change_password",
-        produces = MediaType.TEXT_PLAIN_VALUE)
-    @Timed
-    public ResponseEntity changePassword(@RequestBody String password) {
-        if (!checkPasswordLength(password)) {
-            return new ResponseEntity<>("Incorrect password", HttpStatus.BAD_REQUEST);
-        }
-        userService.changePassword(password);
-        return new ResponseEntity<>(HttpStatus.OK);
-    }
-
-    /**
-     * POST   /account/reset_password/init : Send an email to reset the password of the user
-     *
-     * @param mail the mail of the user
-     * @return the ResponseEntity with status 200 (OK) if the email was sent, or status 400 (Bad Request) if the email address is not registered
-     */
-    @PostMapping(path = "/account/reset_password/init",
-        produces = MediaType.TEXT_PLAIN_VALUE)
-    @Timed
-    public ResponseEntity requestPasswordReset(@RequestBody String mail) {
-        return userService.requestPasswordReset(mail)
-            .map(user -> {
-                mailService.sendPasswordResetMail(user);
-                return new ResponseEntity<>("email was sent", HttpStatus.OK);
-            }).orElse(new ResponseEntity<>("email address not registered", HttpStatus.BAD_REQUEST));
-    }
-
-    /**
-     * POST   /account/reset_password/finish : Finish to reset the password of the user
-     *
-     * @param keyAndPassword the generated key and the new password
-     * @return the ResponseEntity with status 200 (OK) if the password has been reset,
-     * or status 400 (Bad Request) or 500 (Internal Server Error) if the password could not be reset
-     */
-    @PostMapping(path = "/account/reset_password/finish",
-        produces = MediaType.TEXT_PLAIN_VALUE)
-    @Timed
-    public ResponseEntity<String> finishPasswordReset(@RequestBody KeyAndPasswordVM keyAndPassword) {
-        if (!checkPasswordLength(keyAndPassword.getNewPassword())) {
-            return new ResponseEntity<>("Incorrect password", HttpStatus.BAD_REQUEST);
-        }
-        return userService.completePasswordReset(keyAndPassword.getNewPassword(), keyAndPassword.getKey())
-              .map(user -> new ResponseEntity<String>(HttpStatus.OK))
-              .orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
-    }
-
-    private boolean checkPasswordLength(String password) {
-        return !StringUtils.isEmpty(password) &&
-            password.length() >= ManagedUserVM.PASSWORD_MIN_LENGTH &&
-            password.length() <= ManagedUserVM.PASSWORD_MAX_LENGTH;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResource.java
deleted file mode 100644
index 7ca91033b4ef362bb8ee5222372e9229f0d0982d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResource.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.service.AuditEventService;
-import eu.decideh2020.acsmi.frontend.server.web.rest.util.PaginationUtil;
-
-import io.github.jhipster.web.util.ResponseUtil;
-import io.swagger.annotations.ApiParam;
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import java.time.LocalDate;
-import java.time.ZoneId;
-import java.util.List;
-
-/**
- * REST controller for getting the audit events.
- */
-@RestController
-@RequestMapping("/management/audits")
-public class AuditResource {
-
-    private final AuditEventService auditEventService;
-
-    public AuditResource(AuditEventService auditEventService) {
-        this.auditEventService = auditEventService;
-    }
-
-    /**
-     * GET  /audits : get a page of AuditEvents.
-     *
-     * @param pageable the pagination information
-     * @return the ResponseEntity with status 200 (OK) and the list of AuditEvents in body
-     */
-    @GetMapping
-    public ResponseEntity<List<AuditEvent>> getAll(@ApiParam Pageable pageable) {
-        Page<AuditEvent> page = auditEventService.findAll(pageable);
-        HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/management/audits");
-        return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
-    }
-
-    /**
-     * GET  /audits : get a page of AuditEvents between the fromDate and toDate.
-     *
-     * @param fromDate the start of the time period of AuditEvents to get
-     * @param toDate the end of the time period of AuditEvents to get
-     * @param pageable the pagination information
-     * @return the ResponseEntity with status 200 (OK) and the list of AuditEvents in body
-     */
-    @GetMapping(params = {"fromDate", "toDate"})
-    public ResponseEntity<List<AuditEvent>> getByDates(
-        @RequestParam(value = "fromDate") LocalDate fromDate,
-        @RequestParam(value = "toDate") LocalDate toDate,
-        @ApiParam Pageable pageable) {
-
-        Page<AuditEvent> page = auditEventService.findByDates(
-            fromDate.atStartOfDay(ZoneId.systemDefault()).toInstant(),
-            toDate.atStartOfDay(ZoneId.systemDefault()).plusDays(1).toInstant(),
-            pageable);
-        HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/management/audits");
-        return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
-    }
-
-    /**
-     * GET  /audits/:id : get an AuditEvent by id.
-     *
-     * @param id the id of the entity to get
-     * @return the ResponseEntity with status 200 (OK) and the AuditEvent in body, or status 404 (Not Found)
-     */
-    @GetMapping("/{id:.+}")
-    public ResponseEntity<AuditEvent> get(@PathVariable Long id) {
-        return ResponseUtil.wrapOrNotFound(auditEventService.find(id));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/GatewayResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/GatewayResource.java
deleted file mode 100644
index 75b1c1bdb0fa152f07bbedf5a379262dffae245a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/GatewayResource.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.RouteVM;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.cloud.netflix.zuul.filters.Route;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.http.*;
-import org.springframework.web.bind.annotation.*;
-
-import com.codahale.metrics.annotation.Timed;
-
-/**
- * REST controller for managing Gateway configuration.
- */
-@RestController
-@RequestMapping("/api/gateway")
-public class GatewayResource {
-
-    private final Logger log = LoggerFactory.getLogger(GatewayResource.class);
-
-    private final RouteLocator routeLocator;
-
-    private final DiscoveryClient discoveryClient;
-
-    public GatewayResource(RouteLocator routeLocator, DiscoveryClient discoveryClient) {
-        this.routeLocator = routeLocator;
-        this.discoveryClient = discoveryClient;
-    }
-
-    /**
-     * GET  /routes : get the active routes.
-     *
-     * @return the ResponseEntity with status 200 (OK) and with body the list of routes
-     */
-    @GetMapping("/routes")
-    @Timed
-    public ResponseEntity<List<RouteVM>> activeRoutes() {
-        List<Route> routes = routeLocator.getRoutes();
-        List<RouteVM> routeVMs = new ArrayList<>();
-        routes.forEach(route -> {
-            RouteVM routeVM = new RouteVM();
-            routeVM.setPath(route.getFullPath());
-            routeVM.setServiceId(route.getId());
-            routeVM.setServiceInstances(discoveryClient.getInstances(route.getId()));
-            routeVMs.add(routeVM);
-        });
-        return new ResponseEntity<>(routeVMs, HttpStatus.OK);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResource.java
deleted file mode 100644
index a1673385398d1fe8623bf2e29acb282b2ab7a66b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResource.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.LoggerVM;
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import com.codahale.metrics.annotation.Timed;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Controller for view and managing Log Level at runtime.
- */
-@RestController
-@RequestMapping("/management")
-public class LogsResource {
-
-    @GetMapping("/logs")
-    @Timed
-    public List<LoggerVM> getList() {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        return context.getLoggerList()
-            .stream()
-            .map(LoggerVM::new)
-            .collect(Collectors.toList());
-    }
-
-    @PutMapping("/logs")
-    @ResponseStatus(HttpStatus.NO_CONTENT)
-    @Timed
-    public void changeLevel(@RequestBody LoggerVM jsonLogger) {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        context.getLogger(jsonLogger.getName()).setLevel(Level.valueOf(jsonLogger.getLevel()));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResource.java
deleted file mode 100644
index 6a104b570098272fa372d3a4675e2f71cf8fd7c5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResource.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.springframework.core.env.Environment;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Resource to return information about the currently running Spring profiles.
- */
-@RestController
-@RequestMapping("/api")
-public class ProfileInfoResource {
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public ProfileInfoResource(Environment env, JHipsterProperties jHipsterProperties) {
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @GetMapping("/profile-info")
-    public ProfileInfoVM getActiveProfiles() {
-        String[] activeProfiles = DefaultProfileUtil.getActiveProfiles(env);
-        return new ProfileInfoVM(activeProfiles, getRibbonEnv(activeProfiles));
-    }
-
-    private String getRibbonEnv(String[] activeProfiles) {
-        String[] displayOnActiveProfiles = jHipsterProperties.getRibbon().getDisplayOnActiveProfiles();
-        if (displayOnActiveProfiles == null) {
-            return null;
-        }
-        List<String> ribbonProfiles = new ArrayList<>(Arrays.asList(displayOnActiveProfiles));
-        List<String> springBootProfiles = Arrays.asList(activeProfiles);
-        ribbonProfiles.retainAll(springBootProfiles);
-        if (!ribbonProfiles.isEmpty()) {
-            return ribbonProfiles.get(0);
-        }
-        return null;
-    }
-
-    class ProfileInfoVM {
-
-        private String[] activeProfiles;
-
-        private String ribbonEnv;
-
-        ProfileInfoVM(String[] activeProfiles, String ribbonEnv) {
-            this.activeProfiles = activeProfiles;
-            this.ribbonEnv = ribbonEnv;
-        }
-
-        public String[] getActiveProfiles() {
-            return activeProfiles;
-        }
-
-        public String getRibbonEnv() {
-            return ribbonEnv;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTController.java
deleted file mode 100644
index 48387c5d23765d5133ec29a9360b6b8940b02ecb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTController.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.security.jwt.JWTConfigurer;
-import eu.decideh2020.acsmi.frontend.server.security.jwt.TokenProvider;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.LoginVM;
-
-import com.codahale.metrics.annotation.Timed;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import java.util.Collections;
-
-/**
- * Controller to authenticate users.
- */
-@RestController
-@RequestMapping("/api")
-public class UserJWTController {
-
-    private final Logger log = LoggerFactory.getLogger(UserJWTController.class);
-
-    private final TokenProvider tokenProvider;
-
-    private final AuthenticationManager authenticationManager;
-
-    public UserJWTController(TokenProvider tokenProvider, AuthenticationManager authenticationManager) {
-        this.tokenProvider = tokenProvider;
-        this.authenticationManager = authenticationManager;
-    }
-
-    @PostMapping("/authenticate")
-    @Timed
-    public ResponseEntity authorize(@Valid @RequestBody LoginVM loginVM, HttpServletResponse response) {
-
-        UsernamePasswordAuthenticationToken authenticationToken =
-            new UsernamePasswordAuthenticationToken(loginVM.getUsername(), loginVM.getPassword());
-
-        try {
-            Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-            boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
-            String jwt = tokenProvider.createToken(authentication, rememberMe);
-            response.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
-            return ResponseEntity.ok(new JWTToken(jwt));
-        } catch (AuthenticationException ae) {
-            log.trace("Authentication exception trace: {}", ae);
-            return new ResponseEntity<>(Collections.singletonMap("AuthenticationException",
-                ae.getLocalizedMessage()), HttpStatus.UNAUTHORIZED);
-        }
-    }
-
-    /**
-     * Object to return as body in JWT Authentication.
-     */
-    static class JWTToken {
-
-        private String idToken;
-
-        JWTToken(String idToken) {
-            this.idToken = idToken;
-        }
-
-        @JsonProperty("id_token")
-        String getIdToken() {
-            return idToken;
-        }
-
-        void setIdToken(String idToken) {
-            this.idToken = idToken;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResource.java
deleted file mode 100644
index f7e87619b8295c445eff24a3335a849a69e7b64e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResource.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import com.codahale.metrics.annotation.Timed;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import eu.decideh2020.acsmi.frontend.server.service.MailService;
-import eu.decideh2020.acsmi.frontend.server.service.UserService;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.ManagedUserVM;
-import eu.decideh2020.acsmi.frontend.server.web.rest.util.HeaderUtil;
-import eu.decideh2020.acsmi.frontend.server.web.rest.util.PaginationUtil;
-import io.github.jhipster.web.util.ResponseUtil;
-import io.swagger.annotations.ApiParam;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Pageable;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.annotation.Secured;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-
-/**
- * REST controller for managing users.
- *
- * <p>This class accesses the User entity, and needs to fetch its collection of authorities.</p>
- * <p>
- * For a normal use-case, it would be better to have an eager relationship between User and Authority,
- * and send everything to the client side: there would be no View Model and DTO, a lot less code, and an outer-join
- * which would be good for performance.
- * </p>
- * <p>
- * We use a View Model and a DTO for 3 reasons:
- * <ul>
- * <li>We want to keep a lazy association between the user and the authorities, because people will
- * quite often do relationships with the user, and we don't want them to get the authorities all
- * the time for nothing (for performance reasons). This is the #1 goal: we should not impact our users'
- * application because of this use-case.</li>
- * <li> Not having an outer join causes n+1 requests to the database. This is not a real issue as
- * we have by default a second-level cache. This means on the first HTTP call we do the n+1 requests,
- * but then all authorities come from the cache, so in fact it's much better than doing an outer join
- * (which will get lots of data from the database, for each HTTP call).</li>
- * <li> As this manages users, for security reasons, we'd rather have a DTO layer.</li>
- * </ul>
- * <p>Another option would be to have a specific JPA entity graph to handle this case.</p>
- */
-@RestController
-@RequestMapping("/api")
-public class UserResource {
-
-    private final Logger log = LoggerFactory.getLogger(UserResource.class);
-
-    private static final String ENTITY_NAME = "userManagement";
-
-    private final UserRepository userRepository;
-
-    private final MailService mailService;
-
-    private final UserService userService;
-
-    public UserResource(UserRepository userRepository, MailService mailService,
-            UserService userService) {
-
-        this.userRepository = userRepository;
-        this.mailService = mailService;
-        this.userService = userService;
-    }
-
-    /**
-     * POST  /users  : Creates a new user.
-     * <p>
-     * Creates a new user if the login and email are not already used, and sends an
-     * mail with an activation link.
-     * The user needs to be activated on creation.
-     * </p>
-     *
-     * @param managedUserVM the user to create
-     * @return the ResponseEntity with status 201 (Created) and with body the new user, or with status 400 (Bad Request) if the login or email is already in use
-     * @throws URISyntaxException if the Location URI syntax is incorrect
-     */
-    @PostMapping("/users")
-    @Timed
-    @Secured({AuthoritiesConstants.ADMIN, AuthoritiesConstants.CSP_OWNER, AuthoritiesConstants.PA_OWNER})
-    public ResponseEntity createUser(@Valid @RequestBody ManagedUserVM managedUserVM) throws URISyntaxException {
-        log.debug("REST request to save User : {}", managedUserVM);
-
-        if (managedUserVM.getId() != null) {
-            return ResponseEntity.badRequest()
-                .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "idexists", "A new user cannot already have an ID"))
-                .body(null);
-        // Lowercase the user login before comparing with database
-        } else if (userRepository.findOneByLogin(managedUserVM.getLogin().toLowerCase()).isPresent()) {
-            return ResponseEntity.badRequest()
-                .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "userexists", "Login already in use"))
-                .body(null);
-        } else if (userRepository.findOneByEmail(managedUserVM.getEmail()).isPresent()) {
-            return ResponseEntity.badRequest()
-                .headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "emailexists", "Email already in use"))
-                .body(null);
-        } else {
-            User newUser = userService.createUser(managedUserVM);
-            mailService.sendCreationEmail(newUser);
-            return ResponseEntity.created(new URI("/api/users/" + newUser.getLogin()))
-                .headers(HeaderUtil.createAlert( "userManagement.created", newUser.getLogin()))
-                .body(newUser);
-        }
-    }
-
-    /**
-     * PUT  /users : Updates an existing User.
-     *
-     * @param managedUserVM the user to update
-     * @return the ResponseEntity with status 200 (OK) and with body the updated user,
-     * or with status 400 (Bad Request) if the login or email is already in use,
-     * or with status 500 (Internal Server Error) if the user couldn't be updated
-     */
-    @PutMapping("/users")
-    @Timed
-    @Secured({AuthoritiesConstants.ADMIN, AuthoritiesConstants.CSP_OWNER, AuthoritiesConstants.PA_OWNER})
-    public ResponseEntity<UserDTO> updateUser(@Valid @RequestBody ManagedUserVM managedUserVM) {
-        log.debug("REST request to update User : {}", managedUserVM);
-        Optional<User> existingUser = userRepository.findOneByEmail(managedUserVM.getEmail());
-        if (existingUser.isPresent() && (!existingUser.get().getId().equals(managedUserVM.getId()))) {
-            return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "emailexists", "Email already in use")).body(null);
-        }
-        existingUser = userRepository.findOneByLogin(managedUserVM.getLogin().toLowerCase());
-        if (existingUser.isPresent() && (!existingUser.get().getId().equals(managedUserVM.getId()))) {
-            return ResponseEntity.badRequest().headers(HeaderUtil.createFailureAlert(ENTITY_NAME, "userexists", "Login already in use")).body(null);
-        }
-        Optional<UserDTO> updatedUser = userService.updateUser(managedUserVM);
-
-        return ResponseUtil.wrapOrNotFound(updatedUser,
-            HeaderUtil.createAlert("userManagement.updated", managedUserVM.getLogin()));
-    }
-
-    /**
-     * GET  /users : get all users.
-     *
-     * @param pageable the pagination information
-     * @return the ResponseEntity with status 200 (OK) and with body all users
-     */
-    @GetMapping("/users")
-    @Timed
-    public ResponseEntity<List<UserDTO>> getAllUsers(@ApiParam Pageable pageable) {
-        final Page<UserDTO> page = userService.getAllManagedUsers(pageable);
-        HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/users");
-        return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
-    }
-
-    /**
-     * @return a string list of the all of the roles
-     */
-    @GetMapping("/users/authorities")
-    @Timed
-    @Secured(AuthoritiesConstants.ADMIN)
-    public List<String> getAuthorities() {
-        return userService.getAuthorities();
-    }
-
-    /**
-     * GET  /users/:login : get the "login" user.
-     *
-     * @param login the login of the user to find
-     * @return the ResponseEntity with status 200 (OK) and with body the "login" user, or with status 404 (Not Found)
-     */
-    @GetMapping("/users/{login:" + Constants.LOGIN_REGEX + "}")
-    @Timed
-    public ResponseEntity<UserDTO> getUser(@PathVariable String login) {
-        log.debug("REST request to get User : {}", login);
-        return ResponseUtil.wrapOrNotFound(
-            userService.getUserWithAuthoritiesByLogin(login)
-                .map(UserDTO::new));
-    }
-
-    /**
-     * DELETE /users/:login : delete the "login" User.
-     *
-     * @param login the login of the user to delete
-     * @return the ResponseEntity with status 200 (OK)
-     */
-    @DeleteMapping("/users/{login:" + Constants.LOGIN_REGEX + "}")
-    @Timed
-    @Secured({AuthoritiesConstants.ADMIN, AuthoritiesConstants.CSP_OWNER, AuthoritiesConstants.PA_OWNER})
-    public ResponseEntity<Void> deleteUser(@PathVariable String login) {
-        log.debug("REST request to delete User: {}", login);
-        userService.deleteUser(login);
-        return ResponseEntity.ok().headers(HeaderUtil.createAlert( "userManagement.deleted", login)).build();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/CustomParameterizedException.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/CustomParameterizedException.java
deleted file mode 100644
index 5080f11929a049643a182c63166ebb890fbaac92..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/CustomParameterizedException.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Custom, parameterized exception, which can be translated on the client side.
- * For example:
- *
- * <pre>
- * throw new CustomParameterizedException(&quot;myCustomError&quot;, &quot;hello&quot;, &quot;world&quot;);
- * </pre>
- *
- * Can be translated with:
- *
- * <pre>
- * "error.myCustomError" :  "The server says {{param0}} to {{param1}}"
- * </pre>
- */
-public class CustomParameterizedException extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String PARAM = "param";
-
-    private final String message;
-
-    private final Map<String, String> paramMap = new HashMap<>();
-
-    public CustomParameterizedException(String message, String... params) {
-        super(message);
-        this.message = message;
-        if (params != null && params.length > 0) {
-            for (int i = 0; i < params.length; i++) {
-                paramMap.put(PARAM + i, params[i]);
-            }
-        }
-    }
-
-    public CustomParameterizedException(String message, Map<String, String> paramMap) {
-        super(message);
-        this.message = message;
-        this.paramMap.putAll(paramMap);
-    }
-
-    public ParameterizedErrorVM getErrorVM() {
-        return new ParameterizedErrorVM(message, paramMap);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorConstants.java
deleted file mode 100644
index 0da09b48a1a97a045261bfde47b02d99ad85cc1e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorConstants.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-public final class ErrorConstants {
-
-    public static final String ERR_CONCURRENCY_FAILURE = "error.concurrencyFailure";
-    public static final String ERR_ACCESS_DENIED = "error.accessDenied";
-    public static final String ERR_VALIDATION = "error.validation";
-    public static final String ERR_METHOD_NOT_SUPPORTED = "error.methodNotSupported";
-    public static final String ERR_INTERNAL_SERVER_ERROR = "error.internalServerError";
-
-    private ErrorConstants() {
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorVM.java
deleted file mode 100644
index 88bf1a33c5dda597ab768621a938f45839ff4a08..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ErrorVM.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * View Model for transferring error message with a list of field errors.
- */
-public class ErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final String description;
-
-    private List<FieldErrorVM> fieldErrors;
-
-    public ErrorVM(String message) {
-        this(message, null);
-    }
-
-    public ErrorVM(String message, String description) {
-        this.message = message;
-        this.description = description;
-    }
-
-    public ErrorVM(String message, String description, List<FieldErrorVM> fieldErrors) {
-        this.message = message;
-        this.description = description;
-        this.fieldErrors = fieldErrors;
-    }
-
-    public void add(String objectName, String field, String message) {
-        if (fieldErrors == null) {
-            fieldErrors = new ArrayList<>();
-        }
-        fieldErrors.add(new FieldErrorVM(objectName, field, message));
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public List<FieldErrorVM> getFieldErrors() {
-        return fieldErrors;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslator.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslator.java
deleted file mode 100644
index 3a4e7623b8a4531fbb67ed918aabfa894af75e4f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslator.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.dao.ConcurrencyFailureException;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.ResponseEntity.BodyBuilder;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.validation.BindingResult;
-import org.springframework.validation.FieldError;
-import org.springframework.web.HttpRequestMethodNotSupportedException;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * Controller advice to translate the server side exceptions to client-friendly json structures.
- */
-@ControllerAdvice
-public class ExceptionTranslator {
-
-    private final Logger log = LoggerFactory.getLogger(ExceptionTranslator.class);
-
-    @ExceptionHandler(ConcurrencyFailureException.class)
-    @ResponseStatus(HttpStatus.CONFLICT)
-    @ResponseBody
-    public ErrorVM processConcurrencyError(ConcurrencyFailureException ex) {
-        return new ErrorVM(ErrorConstants.ERR_CONCURRENCY_FAILURE);
-    }
-
-    @ExceptionHandler(MethodArgumentNotValidException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ErrorVM processValidationError(MethodArgumentNotValidException ex) {
-        BindingResult result = ex.getBindingResult();
-        List<FieldError> fieldErrors = result.getFieldErrors();
-        ErrorVM dto = new ErrorVM(ErrorConstants.ERR_VALIDATION);
-        for (FieldError fieldError : fieldErrors) {
-            dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode());
-        }
-        return dto;
-    }
-
-    @ExceptionHandler(CustomParameterizedException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ParameterizedErrorVM processParameterizedValidationError(CustomParameterizedException ex) {
-        return ex.getErrorVM();
-    }
-
-    @ExceptionHandler(AccessDeniedException.class)
-    @ResponseStatus(HttpStatus.FORBIDDEN)
-    @ResponseBody
-    public ErrorVM processAccessDeniedException(AccessDeniedException e) {
-        return new ErrorVM(ErrorConstants.ERR_ACCESS_DENIED, e.getMessage());
-    }
-
-    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    @ResponseBody
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    public ErrorVM processMethodNotSupportedException(HttpRequestMethodNotSupportedException exception) {
-        return new ErrorVM(ErrorConstants.ERR_METHOD_NOT_SUPPORTED, exception.getMessage());
-    }
-
-    @ExceptionHandler(Exception.class)
-    public ResponseEntity<ErrorVM> processException(Exception ex) {
-        log.error(ex.getMessage(), ex);
-        BodyBuilder builder;
-        ErrorVM errorVM;
-        ResponseStatus responseStatus = AnnotationUtils.findAnnotation(ex.getClass(), ResponseStatus.class);
-        if (responseStatus != null) {
-            builder = ResponseEntity.status(responseStatus.value());
-            errorVM = new ErrorVM("error." + responseStatus.value().value(), responseStatus.reason());
-        } else {
-            builder = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR);
-            errorVM = new ErrorVM(ErrorConstants.ERR_INTERNAL_SERVER_ERROR, "Internal server error");
-        }
-        return builder.body(errorVM);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/FieldErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/FieldErrorVM.java
deleted file mode 100644
index d0b8fd8d0c090e6a5a842144e07bd4ff9bfeca61..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/FieldErrorVM.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import java.io.Serializable;
-
-public class FieldErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String objectName;
-
-    private final String field;
-
-    private final String message;
-
-    public FieldErrorVM(String dto, String field, String message) {
-        this.objectName = dto;
-        this.field = field;
-        this.message = message;
-    }
-
-    public String getObjectName() {
-        return objectName;
-    }
-
-    public String getField() {
-        return field;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ParameterizedErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ParameterizedErrorVM.java
deleted file mode 100644
index c6cb0f4925f28fa200f689999958bc8f9b24a7da..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ParameterizedErrorVM.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.Map;
-
-/**
- * View Model for sending a parameterized error message.
- */
-public class ParameterizedErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final Map<String, String> paramMap;
-
-    public ParameterizedErrorVM(String message, Map<String, String> paramMap) {
-        this.message = message;
-        this.paramMap = paramMap;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public Map<String, String> getParams() {
-        return paramMap;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/package-info.java
deleted file mode 100644
index 69807f12f870e4b100333e643398bf68327ced39..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Spring MVC REST controllers.
- */
-package eu.decideh2020.acsmi.frontend.server.web.rest;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/HeaderUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/HeaderUtil.java
deleted file mode 100644
index f8f717a17ef1be3208a0c6403ece24824b43210b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/HeaderUtil.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpHeaders;
-/**
- * Utility class for HTTP headers creation.
- */
-public final class HeaderUtil {
-
-    private static final Logger log = LoggerFactory.getLogger(HeaderUtil.class);
-
-    private static final String APPLICATION_NAME = "acsmiApp";
-
-    private HeaderUtil() {
-    }
-
-    public static HttpHeaders createAlert(String message, String param) {
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-acsmiApp-alert", message);
-        headers.add("X-acsmiApp-params", param);
-        return headers;
-    }
-
-    public static HttpHeaders createEntityCreationAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".created", param);
-    }
-
-    public static HttpHeaders createEntityUpdateAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".updated", param);
-    }
-    
-    public static HttpHeaders createEntityReactivateAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".reactivated", param);
-    }
-
-    public static HttpHeaders createEntityDeletionAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".deleted", param);
-    }
-    
-    public static HttpHeaders createEntitySoftDeletionAlert(String entityName, String param) {
-        return createAlert(APPLICATION_NAME + "." + entityName + ".softdeleted", param);
-    }
-
-    public static HttpHeaders createFailureAlert(String entityName, String errorKey, String defaultMessage) {
-        log.error("Entity processing failed, {}", defaultMessage);
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-acsmiApp-error", "error." + errorKey);
-        headers.add("X-acsmiApp-params", entityName);
-        return headers;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/PaginationUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/PaginationUtil.java
deleted file mode 100644
index 8e7ee3728a46012f948793d28be302a3c073c2b2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/util/PaginationUtil.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.util;
-
-import org.springframework.data.domain.Page;
-import org.springframework.http.HttpHeaders;
-import org.springframework.web.util.UriComponentsBuilder;
-
-/**
- * Utility class for handling pagination.
- *
- * <p>
- * Pagination uses the same principles as the <a href="https://developer.github.com/v3/#pagination">Github API</a>,
- * and follow <a href="http://tools.ietf.org/html/rfc5988">RFC 5988 (Link header)</a>.
- */
-public final class PaginationUtil {
-
-    private PaginationUtil() {
-    }
-
-    public static HttpHeaders generatePaginationHttpHeaders(Page page, String baseUrl) {
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("X-Total-Count", Long.toString(page.getTotalElements()));
-        String link = "";
-        if ((page.getNumber() + 1) < page.getTotalPages()) {
-            link = "<" + generateUri(baseUrl, page.getNumber() + 1, page.getSize()) + ">; rel=\"next\",";
-        }
-        // prev link
-        if ((page.getNumber()) > 0) {
-            link += "<" + generateUri(baseUrl, page.getNumber() - 1, page.getSize()) + ">; rel=\"prev\",";
-        }
-        // last and first link
-        int lastPage = 0;
-        if (page.getTotalPages() > 0) {
-            lastPage = page.getTotalPages() - 1;
-        }
-        link += "<" + generateUri(baseUrl, lastPage, page.getSize()) + ">; rel=\"last\",";
-        link += "<" + generateUri(baseUrl, 0, page.getSize()) + ">; rel=\"first\"";
-        headers.add(HttpHeaders.LINK, link);
-        return headers;
-    }
-
-    private static String generateUri(String baseUrl, int page, int size) {
-        return UriComponentsBuilder.fromUriString(baseUrl).queryParam("page", page).queryParam("size", size).toUriString();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/KeyAndPasswordVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/KeyAndPasswordVM.java
deleted file mode 100644
index bfc8fc398b003208fe96ed2ca1182ddc20353d3b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/KeyAndPasswordVM.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
-
-/**
- * View Model object for storing the user's key and password.
- */
-public class KeyAndPasswordVM {
-
-    private String key;
-
-    private String newPassword;
-
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-
-    public String getNewPassword() {
-        return newPassword;
-    }
-
-    public void setNewPassword(String newPassword) {
-        this.newPassword = newPassword;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoggerVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoggerVM.java
deleted file mode 100644
index 461c21a28c9fe81aefc81907093b7cb9a5da0035..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoggerVM.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
-
-import ch.qos.logback.classic.Logger;
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-/**
- * View Model object for storing a Logback logger.
- */
-public class LoggerVM {
-
-    private String name;
-
-    private String level;
-
-    public LoggerVM(Logger logger) {
-        this.name = logger.getName();
-        this.level = logger.getEffectiveLevel().toString();
-    }
-
-    @JsonCreator
-    public LoggerVM() {
-        // Empty public constructor used by Jackson.
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getLevel() {
-        return level;
-    }
-
-    public void setLevel(String level) {
-        this.level = level;
-    }
-
-    @Override
-    public String toString() {
-        return "LoggerVM{" +
-            "name='" + name + '\'' +
-            ", level='" + level + '\'' +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoginVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoginVM.java
deleted file mode 100644
index 533784a2412a22467ad8dd04e7711465e008c73d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/LoginVM.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
-
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-
-/**
- * View Model object for storing a user's credentials.
- */
-public class LoginVM {
-
-    @Pattern(regexp = Constants.LOGIN_REGEX)
-    @NotNull
-    @Size(min = 1, max = 50)
-    private String username;
-
-    @NotNull
-    @Size(min = ManagedUserVM.PASSWORD_MIN_LENGTH, max = ManagedUserVM.PASSWORD_MAX_LENGTH)
-    private String password;
-
-    private Boolean rememberMe;
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public Boolean isRememberMe() {
-        return rememberMe;
-    }
-
-    public void setRememberMe(Boolean rememberMe) {
-        this.rememberMe = rememberMe;
-    }
-
-    @Override
-    public String toString() {
-        return "LoginVM{" +
-            "username='" + username + '\'' +
-            ", rememberMe=" + rememberMe +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/ManagedUserVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/ManagedUserVM.java
deleted file mode 100644
index 51c2d98bf2cf38fa205354912b5eb537d9e3e050..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/ManagedUserVM.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
-
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import javax.validation.constraints.Size;
-
-import java.time.Instant;
-import java.util.Set;
-
-/**
- * View Model extending the UserDTO, which is meant to be used in the user management UI.
- */
-public class ManagedUserVM extends UserDTO {
-
-    public static final int PASSWORD_MIN_LENGTH = 4;
-
-    public static final int PASSWORD_MAX_LENGTH = 100;
-
-    @Size(min = PASSWORD_MIN_LENGTH, max = PASSWORD_MAX_LENGTH)
-    private String password;
-
-    public ManagedUserVM() {
-        // Empty constructor needed for Jackson.
-    }
-
-    public ManagedUserVM(Long id, String login, String password, String firstName, String lastName,
-                         String email, String company, String usersGroup, String userType, String creditCardType,
-                         String creditCard, String contractReference, String cifOrVat, boolean activated,
-                         String imageUrl, String langKey, String createdBy, Instant createdDate,
-                         String lastModifiedBy, Instant lastModifiedDate,
-                        Set<String> authorities) {
-
-        super(id, login, firstName, lastName, email, company, usersGroup, userType, creditCardType, creditCard, contractReference, 
-          cifOrVat, activated, imageUrl, langKey, createdBy, createdDate, lastModifiedBy, lastModifiedDate,  authorities);
-
-        this.password = password;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    @Override
-    public String toString() {
-        return "ManagedUserVM{" +
-            "} " + super.toString();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/RouteVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/RouteVM.java
deleted file mode 100644
index 03aa147e5946e7f2cef205f81870bb556b877e23..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/RouteVM.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
-
-import java.util.List;
-
-import org.springframework.cloud.client.ServiceInstance;
-
-/**
- * View Model that stores a route managed by the Gateway.
- */
-public class RouteVM {
-
-    private String path;
-
-    private String serviceId;
-
-    private List<ServiceInstance> serviceInstances;
-
-    public String getPath() {
-        return path;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    public void setServiceId(String serviceId) {
-        this.serviceId = serviceId;
-    }
-
-    public List<ServiceInstance> getServiceInstances() {
-        return serviceInstances;
-    }
-
-    public void setServiceInstances(List<ServiceInstance> serviceInstances) {
-        this.serviceInstances = serviceInstances;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/package-info.java
deleted file mode 100644
index 4ca2b41057f463c50fb11c7d1831a88da91b7a79..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/rest/vm/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * View Models used by Spring MVC REST controllers.
- */
-package eu.decideh2020.acsmi.frontend.server.web.rest.vm;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/ActivityService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/ActivityService.java
deleted file mode 100644
index 56798c5c265ae660fd053f1f2c8a957a746a860c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/ActivityService.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.websocket;
-
-import eu.decideh2020.acsmi.frontend.server.web.websocket.dto.ActivityDTO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.ApplicationListener;
-import org.springframework.messaging.handler.annotation.Payload;
-import org.springframework.messaging.handler.annotation.SendTo;
-import org.springframework.messaging.simp.SimpMessageSendingOperations;
-import org.springframework.messaging.simp.annotation.SubscribeMapping;
-import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.socket.messaging.SessionDisconnectEvent;
-
-import java.security.Principal;
-import java.time.Instant;
-
-import static eu.decideh2020.acsmi.frontend.server.config.WebsocketConfiguration.IP_ADDRESS;
-
-@Controller
-public class ActivityService implements ApplicationListener<SessionDisconnectEvent> {
-
-    private static final Logger log = LoggerFactory.getLogger(ActivityService.class);
-
-    private final SimpMessageSendingOperations messagingTemplate;
-
-    public ActivityService(SimpMessageSendingOperations messagingTemplate) {
-        this.messagingTemplate = messagingTemplate;
-    }
-
-    @SubscribeMapping("/topic/activity")
-    @SendTo("/topic/tracker")
-    public ActivityDTO sendActivity(@Payload ActivityDTO activityDTO, StompHeaderAccessor stompHeaderAccessor, Principal principal) {
-        activityDTO.setUserLogin(principal.getName());
-        activityDTO.setSessionId(stompHeaderAccessor.getSessionId());
-        activityDTO.setIpAddress(stompHeaderAccessor.getSessionAttributes().get(IP_ADDRESS).toString());
-        activityDTO.setTime(Instant.now());
-        log.debug("Sending user tracking data {}", activityDTO);
-        return activityDTO;
-    }
-
-    @Override
-    public void onApplicationEvent(SessionDisconnectEvent event) {
-        ActivityDTO activityDTO = new ActivityDTO();
-        activityDTO.setSessionId(event.getSessionId());
-        activityDTO.setPage("logout");
-        messagingTemplate.convertAndSend("/topic/tracker", activityDTO);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/ActivityDTO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/ActivityDTO.java
deleted file mode 100644
index 6d57b938ac1b9e3310e0f5d37b039ce34209723e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/ActivityDTO.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.websocket.dto;
-
-import java.time.Instant;
-
-/**
- * DTO for storing a user's activity.
- */
-public class ActivityDTO {
-
-    private String sessionId;
-
-    private String userLogin;
-
-    private String ipAddress;
-
-    private String page;
-
-    private Instant time;
-
-    public String getSessionId() {
-        return sessionId;
-    }
-
-    public void setSessionId(String sessionId) {
-        this.sessionId = sessionId;
-    }
-
-    public String getUserLogin() {
-        return userLogin;
-    }
-
-    public void setUserLogin(String userLogin) {
-        this.userLogin = userLogin;
-    }
-
-    public String getIpAddress() {
-        return ipAddress;
-    }
-
-    public void setIpAddress(String ipAddress) {
-        this.ipAddress = ipAddress;
-    }
-
-    public String getPage() {
-        return page;
-    }
-
-    public void setPage(String page) {
-        this.page = page;
-    }
-
-    public Instant getTime() {
-        return time;
-    }
-
-    public void setTime(Instant time) {
-        this.time = time;
-    }
-
-    @Override
-    public String toString() {
-        return "ActivityDTO{" +
-            "sessionId='" + sessionId + '\'' +
-            ", userLogin='" + userLogin + '\'' +
-            ", ipAddress='" + ipAddress + '\'' +
-            ", page='" + page + '\'' +
-            ", time='" + time + '\'' +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/package-info.java
deleted file mode 100644
index 5f48418a7cdc0d556db73bdf0d2651b51a13b6ad..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/dto/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * Data Access Objects used by WebSocket services.
- */
-package eu.decideh2020.acsmi.frontend.server.web.websocket.dto;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/package-info.java
deleted file mode 100644
index 5804eaf22a56cb13dd44b024e7fdf79106138949..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/java/eu/decideh2020/acsmi/frontend/server/web/websocket/package-info.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/**
- * WebSocket services, using Spring Websocket.
- */
-package eu.decideh2020.acsmi.frontend.server.web.websocket;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/banner.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/banner.txt
deleted file mode 100644
index c3d8cf725ddc1396a4f5725f7d9bda87e8231994..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-  ${AnsiColor.GREEN}      ██╗${AnsiColor.RED} ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
-  ${AnsiColor.GREEN}██╗   ██║${AnsiColor.RED} ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
-  ${AnsiColor.GREEN}╚██████╔╝${AnsiColor.RED} ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
-  ${AnsiColor.GREEN} ╚═════╝ ${AnsiColor.RED} ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
-
-${AnsiColor.BRIGHT_BLUE}:: JHipster 🤓  :: Running Spring Boot ${spring-boot.version} ::
-:: http://jhipster.github.io ::${AnsiColor.DEFAULT}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-dev.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-dev.yml
deleted file mode 100644
index 1f8e751c8bae744bcdc8390cc1d581e33586b8de..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,168 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "dev" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    instance:
-        prefer-ip-address: true
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/
-
-spring:
-    profiles:
-        active: dev
-        include: swagger
-    devtools:
-        restart:
-            enabled: true
-        livereload:
-            enabled: false # we use gulp + BrowserSync for livereload
-    jackson:
-        serialization.indent_output: true
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:mysql://localhost:3306/acsmi_frontend_server?useUnicode=true&characterEncoding=utf8&useSSL=false
-        username: root
-        password:
-        hikari:
-            data-source-properties:
-                cachePrepStmts: true
-                prepStmtCacheSize: 250
-                prepStmtCacheSqlLimit: 2048
-                useServerPrepStmts: true
-    jpa:
-        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-        database: MYSQL
-        show-sql: true
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: true
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: true
-            hibernate.cache.region.factory_class: com.hazelcast.hibernate.HazelcastCacheRegionFactory
-            hibernate.cache.hazelcast.instance_name: acsmi
-            hibernate.cache.use_minimal_puts: true
-            hibernate.cache.hazelcast.use_lite_member: true
-    data:
-    mail:
-        host: smtpout.europe.secureserver.net
-        port: 80
-        username: info@esilab.org
-        password: 9VstzQsA1L4kDGyl1oyA
-    messages:
-        cache-seconds: 1
-    thymeleaf:
-        cache: false
-    zipkin: # Use the "zipkin" Maven profile to have the Spring Cloud Zipkin dependencies
-        base-url: http://localhost:9411
-        enabled: false
-        locator:
-            discovery:
-                enabled: true
-
-liquibase:
-    contexts: dev
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias acsmi -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 8443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: acsmi
-# ===================================================================
-server:
-    port: 8080
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    gateway:
-        rate-limiting:
-            enabled: false
-            limit: 100000
-            duration-in-seconds: 3600
-        authorized-microservices-endpoints: # Access Control Policy, if left empty for a route, all endpoints will be accessible
-            app1: /api,/v2/api-docs # recommended dev configuration
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-    cache: # Cache configuration
-        hazelcast: # Hazelcast distributed cache
-            time-to-live-seconds: 3600
-            backup-count: 1
-    # CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API
-    cors:
-        allowed-origins: "*"
-        allowed-methods: GET, PUT, POST, DELETE, OPTIONS
-        allowed-headers: "*"
-        exposed-headers:
-        allow-credentials: true
-        max-age: 1800
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: acsmi@localhost
-        base-url: http://127.0.0.1:8080
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite: # Use the "graphite" Maven profile to have the Graphite dependencies
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: acsmi
-        prometheus: # Use the "prometheus" Maven profile to have the Prometheus dependencies
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-prod.yml
deleted file mode 100644
index bb392d70b7f543a0afa629b71ff0fdb579114295..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,157 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "prod" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    instance:
-        prefer-ip-address: true
-    client:
-        service-url:
-            defaultZone: http://admin:${jhipster.registry.password}@registry.integration.acsmi.lan.esilab.org:8100/eureka/
-
-spring:
-    devtools:
-        restart:
-            enabled: false
-        livereload:
-            enabled: false
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:mysql://mysql.integration.acsmi.lan.esilab.org:3306/acsmi_frontend_server?useUnicode=true&characterEncoding=utf8&useSSL=false
-        username: root
-        password:
-        hikari:
-            data-source-properties:
-                cachePrepStmts: true
-                prepStmtCacheSize: 250
-                prepStmtCacheSqlLimit: 2048
-                useServerPrepStmts: true
-    jpa:
-        database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-        database: MYSQL
-        show-sql: false
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: true
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: false
-            hibernate.cache.region.factory_class: com.hazelcast.hibernate.HazelcastCacheRegionFactory
-            hibernate.cache.hazelcast.instance_name: acsmi
-            hibernate.cache.use_minimal_puts: true
-            hibernate.cache.hazelcast.use_lite_member: true
-    data:
-    mail:
-        host: localhost
-        port: 25
-        username:
-        password:
-    thymeleaf:
-        cache: true
-    zipkin: # Use the "zipkin" Maven profile to have the Spring Cloud Zipkin dependencies
-        base-url: http://localhost:9411
-        enabled: false
-        locator:
-            discovery:
-                enabled: true
-
-liquibase:
-    contexts: prod
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias acsmi -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: acsmi
-# ===================================================================
-server:
-    port: 8080
-    compression:
-        enabled: true
-        mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json
-        min-response-size: 1024
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    gateway:
-        rate-limiting:
-            enabled: false
-        authorized-microservices-endpoints: # Access Control Policy, if left empty for a route, all endpoints will be accessible
-            app1: /api # recommended prod configuration
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-        cache: # Used by the CachingHttpHeadersFilter
-            timeToLiveInDays: 1461
-    cache: # Cache configuration
-        hazelcast: # Hazelcast distributed cache
-            time-to-live-seconds: 3600
-            backup-count: 1
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: acsmi@esilab.org
-        base-url: http://integration.acsmi.esilab.org # Modify according to your server's URL
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite:
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: acsmi
-        prometheus:
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application.yml
deleted file mode 100644
index fa213bf72cf06f89dc13d80bc04a5fc94f7a6005..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,138 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration will be overridden by the Spring profile you use,
-# for example application-dev.yml if you use the "dev" profile.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    client:
-        enabled: true
-        healthcheck:
-            enabled: true
-        fetch-registry: true
-        register-with-eureka: true
-        instance-info-replication-interval-seconds: 10
-        registry-fetch-interval-seconds: 10
-    instance:
-        appname: acsmi
-        instanceId: acsmi:${spring.application.instance-id:${random.value}}
-        lease-renewal-interval-in-seconds: 5
-        lease-expiration-duration-in-seconds: 10
-        status-page-url-path: ${management.context-path}/info
-        health-check-url-path: ${management.context-path}/health
-        metadata-map:
-            zone: primary # This is needed for the load balancer
-            profile: ${spring.profiles.active}
-            version: ${info.project.version}
-ribbon:
-    eureka:
-        enabled: true
-# See http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html
-zuul: # those values must be configured depending on the application specific needs
-    host:
-        max-total-connections: 1000
-        max-per-route-connections: 100
-    semaphore:
-        max-semaphores: 500
-
-# See https://github.com/Netflix/Hystrix/wiki/Configuration
-hystrix:
-    command:
-        default:
-            execution:
-                isolation:
-                    thread:
-                        timeoutInMilliseconds: 10000
-
-management:
-    security:
-        roles: ADMIN
-    context-path: /management
-    health:
-        mail:
-            enabled: true # When using the MailService, configure an SMTP server and set this to true
-spring:
-    application:
-        name: acsmi
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    jpa:
-        open-in-view: false
-        hibernate:
-            ddl-auto: none
-            naming:
-                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
-                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
-    messages:
-        basename: i18n/messages
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-security:
-    basic:
-        enabled: false
-
-server:
-    session:
-        cookie:
-            http-only: true
-
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    async:
-        core-pool-size: 2
-        max-pool-size: 50
-        queue-capacity: 10000
-    # By default CORS is disabled. Uncomment to enable.
-    #cors:
-        #allowed-origins: "*"
-        #allowed-methods: GET, PUT, POST, DELETE, OPTIONS
-        #allowed-headers: "*"
-        #exposed-headers:
-        #allow-credentials: true
-        #max-age: 1800
-    mail:
-        from: acsmi@localhost
-    swagger:
-        default-include-pattern: /api/.*
-        title: acsmi API
-        description: acsmi API documentation
-        version: 0.0.1
-        terms-of-service-url:
-        contact-name:
-        contact-url:
-        contact-email:
-        license:
-        license-url:
-    ribbon:
-        display-on-active-profiles: dev
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap-prod.yml
deleted file mode 100644
index c78d3ca77fc31e0d786f01ac961daa57b39cf44c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap-prod.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "prod" profile
-# ===================================================================
-
-spring:
-    cloud:
-        config:
-            fail-fast: true
-            retry:
-                initial-interval: 1000
-                max-interval: 2000
-                max-attempts: 100
-            uri: http://admin:${jhipster.registry.password}@localhost:8761/config
-            # name of the config server's property source (file.yml) that we want to use
-            name: acsmi
-            profile: prod # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-jhipster:
-    registry:
-        password: admin
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap.yml
deleted file mode 100644
index 3904b9dbf0796789c131a184810e0a6de7c0f60f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/bootstrap.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "dev" profile
-# In prod profile, properties will be overwriten by the ones defined in bootstrap-prod.yml
-# ===================================================================
-
-jhipster:
-    registry:
-        password: admin
-
-spring:
-    application:
-        name: acsmi
-    profiles:
-        # The commented value for `active` can be replaced with valid Spring profiles to load.
-        # Otherwise, it will be filled in by maven when building the WAR file
-        # Either way, it can be overridden by `--spring.profiles.active` value passed in the commandline or `-Dspring.profiles.active` set in `JAVA_OPTS`
-        active: #spring.profiles.active#
-    cloud:
-        config:
-            fail-fast: false # if not in "prod" profile, do not force to use Spring Cloud Config
-            uri: http://admin:${jhipster.registry.password}@localhost:8761/config
-            # name of the config server's property source (file.yml) that we want to use
-            name: acsmi
-            profile: dev # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-info:
-    project:
-        version: #project.version#
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/authorities.csv b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/authorities.csv
deleted file mode 100644
index ce7881ca3659a7731795862dc180e5c6320f803b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/authorities.csv
+++ /dev/null
@@ -1,10 +0,0 @@
-name
-ROLE_ADMIN
-ROLE_USER
-ROLE_CSP_OWNER
-ROLE_CSP_USER
-ROLE_CSP_EXTERNAL
-ROLE_PA_OWNER
-ROLE_PA_USER
-ROLE_CB_OPERATOR
-ROLE_CB_LAW
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
deleted file mode 100644
index dfa04451a9e0a38019fd1813d86416c3b653c365..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd
-                        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
-
-    <property name="now" value="now()" dbms="h2"/>
-    <property name="now" value="now()" dbms="mysql"/>
-    <property name="autoIncrement" value="true"/>
-
-    <!--
-        JHipster core tables.
-        The initial schema has the '00000000000001' id, so that it is over-written if we re-generate it.
-    -->
-    <changeSet id="00000000000001" author="jhipster">
-        <createTable tableName="jhi_user">
-            <column name="id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            <column name="login" type="varchar(50)">
-                <constraints unique="true" nullable="false"/>
-            </column>
-            <column name="password_hash" type="varchar(60)"/>
-            <column name="first_name" type="varchar(50)"/>
-            <column name="last_name" type="varchar(50)"/>
-            <column name="email" type="varchar(100)">
-                <constraints unique="true" nullable="true"/>
-            </column>
-            <column name="company" type="varchar(100)"/>
-            <column name="users_group" type="varchar(50)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="user_type" type="varchar(3)" defaultValue="">
-                <constraints nullable="false"/>
-            </column>
-            <column name="credit_card_type" type="varchar(30)"/>
-            <column name="credit_card" type="varchar(16)"/>
-            <column name="contract_reference" type="varchar(16)"/>
-            <column name="cif_or_vat" type="varchar(12)" defaultValue="">
-                <constraints nullable="false" />
-            </column>
-            <column name="image_url" type="varchar(256)"/>
-            <column name="activated" type="boolean" valueBoolean="false">
-                <constraints nullable="false" />
-            </column>
-            <column name="lang_key" type="varchar(5)"/>
-            <column name="activation_key" type="varchar(20)"/>
-            <column name="reset_key" type="varchar(20)"/>
-            <column name="created_by" type="varchar(50)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="created_date" type="timestamp" defaultValueDate="${now}">
-                <constraints nullable="false"/>
-            </column>
-            <column name="reset_date" type="timestamp">
-                <constraints nullable="true"/>
-            </column>
-            <column name="last_modified_by" type="varchar(50)"/>
-            <column name="last_modified_date" type="timestamp"/>
-        </createTable>
-        <createIndex indexName="idx_user_login"
-            tableName="jhi_user"
-            unique="true">
-            <column name="login" type="varchar(50)"/>
-        </createIndex>
-
-        <createIndex indexName="idx_user_email"
-            tableName="jhi_user"
-            unique="true">
-            <column name="email" type="varchar(100)"/>
-        </createIndex>
-        <createTable tableName="jhi_authority">
-            <column name="name" type="varchar(50)">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-        </createTable>
-
-        <createTable tableName="jhi_user_authority">
-            <column name="user_id" type="bigint">
-                <constraints nullable="false"/>
-            </column>
-            <column name="authority_name" type="varchar(50)">
-                <constraints nullable="false"/>
-            </column>
-        </createTable>
-
-        <addPrimaryKey columnNames="user_id, authority_name" tableName="jhi_user_authority"/>
-
-        <addForeignKeyConstraint baseColumnNames="authority_name"
-                                 baseTableName="jhi_user_authority"
-                                 constraintName="fk_authority_name"
-                                 referencedColumnNames="name"
-                                 referencedTableName="jhi_authority"/>
-
-        <addForeignKeyConstraint baseColumnNames="user_id"
-                                 baseTableName="jhi_user_authority"
-                                 constraintName="fk_user_id"
-                                 referencedColumnNames="id"
-                                 referencedTableName="jhi_user"/>
-        <loadData encoding="UTF-8"
-                  file="config/liquibase/users.csv"
-                  separator=";"
-                  tableName="jhi_user">
-            <column name="activated" type="boolean"/>
-            <column name="created_date" type="timestamp"/>
-        </loadData>
-        <dropDefaultValue tableName="jhi_user" columnName="created_date" columnDataType="datetime"/>
-
-        <loadData encoding="UTF-8"
-                  file="config/liquibase/authorities.csv"
-                  separator=";"
-                  tableName="jhi_authority"/>
-
-        <loadData encoding="UTF-8"
-                  file="config/liquibase/users_authorities.csv"
-                  separator=";"
-                  tableName="jhi_user_authority"/>
-        <createTable tableName="jhi_persistent_audit_event">
-            <column name="event_id" type="bigint" autoIncrement="${autoIncrement}">
-                <constraints primaryKey="true" nullable="false"/>
-            </column>
-            <column name="principal" type="varchar(50)">
-                <constraints nullable="false" />
-            </column>
-            <column name="event_date" type="timestamp"/>
-            <column name="event_type" type="varchar(255)"/>
-        </createTable>
-
-        <createTable tableName="jhi_persistent_audit_evt_data">
-            <column name="event_id" type="bigint">
-                <constraints nullable="false"/>
-            </column>
-            <column name="name" type="varchar(150)">
-                <constraints nullable="false"/>
-            </column>
-            <column name="value" type="varchar(255)"/>
-        </createTable>
-        <addPrimaryKey columnNames="event_id, name" tableName="jhi_persistent_audit_evt_data"/>
-
-        <createIndex indexName="idx_persistent_audit_event"
-                     tableName="jhi_persistent_audit_event"
-                     unique="false">
-            <column name="principal" type="varchar(50)"/>
-            <column name="event_date" type="timestamp"/>
-        </createIndex>
-
-        <createIndex indexName="idx_persistent_audit_evt_data"
-                     tableName="jhi_persistent_audit_evt_data"
-                     unique="false">
-            <column name="event_id" type="bigint"/>
-        </createIndex>
-
-        <addForeignKeyConstraint baseColumnNames="event_id"
-                                 baseTableName="jhi_persistent_audit_evt_data"
-                                 constraintName="fk_evt_pers_audit_evt_data"
-                                 referencedColumnNames="event_id"
-                                 referencedTableName="jhi_persistent_audit_event"/>
-    </changeSet>
-
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/master.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/master.xml
deleted file mode 100644
index e282fbf8cf74dc3ed8757971509024a16083c528..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/master.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<databaseChangeLog
-    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
-
-    <include file="classpath:config/liquibase/changelog/00000000000000_initial_schema.xml" relativeToChangelogFile="false"/>
-    <!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here -->
-    <!-- jhipster-needle-liquibase-add-constraints-changelog - JHipster will add liquibase constraints changelogs here -->
-</databaseChangeLog>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users.csv b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users.csv
deleted file mode 100644
index a3958bd36f50e21f5f44bd9d3349cd7e10a0382a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users.csv
+++ /dev/null
@@ -1,10 +0,0 @@
-id;login;password_hash;first_name;last_name;email;company;users_group;user_type;credit_card_type;credit_card;contract_reference;cif_or_vat;image_url;activated;lang_key;created_by;last_modified_by
-1;system;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;System;System;system@localhost;acsmi;operator;cb;null;null;null;A12345678;null;true;en;system;system
-2;anonymoususer;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;Anonymous;User;anonymous@localhost;acsmi;anonymous;ano;mastercard;123456789123456;null;A87654321;null;true;en;system;system
-3;admin;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;Administrator;Administrator;admin@localhost;acsmi;operator;cb;null;null;acsmi2270617;A87654321;null;true;en;system;system
-4;operator;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;Operator;Operator;operator@localhost;acsmi;operator;cb;null;null;acsmi2270617;A87654321;null;true;en;system;system
-5;lawyer;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;Lawyer;Lawyer;lawyer@localhost;acsmi;operator;cb;null;null;acsmi2270617;A87654321;null;true;en;system;system
-6;user;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;User;User;user@localhost;acsmi;operator;cb;null;null;user2270617;A87654321;null;true;en;system;system
-7;userowner;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;UserOwner;UserOwner;userowner@localhost;acsmi;operator;cb;null;null;user2270617;A87654321;null;true;en;system;system
-8;csp;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;Lawyer;csp;csp@localhost;acsmi;operator;cb;null;null;csp2270617;A87654321;null;true;en;system;system
-9;cspowner;$2a$10$wM3509oZfk4N.YuRqhgrleVAghzhIiijeFYK6TBampV3mbvhguXrq;cspOwner;cspOwner;cspowner@localhost;acsmi;operator;cb;null;null;csp2270617;A87654321;null;true;en;system;system
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users_authorities.csv b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users_authorities.csv
deleted file mode 100644
index c042cf38b643ef50f4c9836764ddfecc3f6be085..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/config/liquibase/users_authorities.csv
+++ /dev/null
@@ -1,21 +0,0 @@
-user_id;authority_name
-1;ROLE_ADMIN
-1;ROLE_USER
-1;ROLE_CSP_OWNER
-3;ROLE_ADMIN
-3;ROLE_USER
-3;ROLE_PA_OWNER
-3;ROLE_CB_OPERATOR
-3;ROLE_CB_LAW
-4;ROLE_USER
-4;ROLE_CB_OPERATOR
-5;ROLE_USER
-5;ROLE_CB_LAW
-6;ROLE_USER
-6;ROLE_PA_USER
-7;ROLE_USER
-7;ROLE_PA_OWNER
-8;ROLE_USER
-8;ROLE_CSP_USER
-9;ROLE_USER
-9;ROLE_CSP_OWNER
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages.properties
deleted file mode 100644
index b009ffd8e9ea6d9a89e416bfafc53d4867ccbc55..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Error page
-error.title=Your request cannot be processed
-error.subtitle=Sorry, an error has occurred.
-error.status=Status:
-error.message=Message:
-
-# Activation email
-email.activation.title=acsmi account activation
-email.activation.greeting=Dear {0}
-email.activation.text1=Your acsmi account has been created, please click on the URL below to activate it:
-email.activation.text2=Regards,
-email.signature=acsmi Team.
-
-# Creation email
-email.creation.text1=Your acsmi account has been created, please click on the URL below to access it:
-
-# Reset email
-email.reset.title=acsmi password reset
-email.reset.greeting=Dear {0}
-email.reset.text1=For your acsmi account a password reset was requested, please click on the URL below to reset it:
-email.reset.text2=Regards,
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages_en.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages_en.properties
deleted file mode 100644
index b009ffd8e9ea6d9a89e416bfafc53d4867ccbc55..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/i18n/messages_en.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Error page
-error.title=Your request cannot be processed
-error.subtitle=Sorry, an error has occurred.
-error.status=Status:
-error.message=Message:
-
-# Activation email
-email.activation.title=acsmi account activation
-email.activation.greeting=Dear {0}
-email.activation.text1=Your acsmi account has been created, please click on the URL below to activate it:
-email.activation.text2=Regards,
-email.signature=acsmi Team.
-
-# Creation email
-email.creation.text1=Your acsmi account has been created, please click on the URL below to access it:
-
-# Reset email
-email.reset.title=acsmi password reset
-email.reset.greeting=Dear {0}
-email.reset.text1=For your acsmi account a password reset was requested, please click on the URL below to reset it:
-email.reset.text2=Regards,
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/logback-spring.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/logback-spring.xml
deleted file mode 100644
index a3bf708b1988e00c1193f7011557d83ccddb0d25..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-
-<!-- The FILE and ASYNC appenders are here as examples for a production configuration -->
-<!--
-    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <maxHistory>90</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <charset>utf-8</charset>
-            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
-        </encoder>
-    </appender>
-
-    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <appender-ref ref="FILE"/>
-    </appender>
--->
-
-    <logger name="eu.decideh2020.acsmi.frontend.server" level="#logback.loglevel#"/>
-
-    <logger name="io.github.jhipster" level="DEBUG"/>
-
-    <logger name="javax.activation" level="WARN"/>
-    <logger name="javax.mail" level="WARN"/>
-    <logger name="javax.xml.bind" level="WARN"/>
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="com.codahale.metrics" level="WARN"/>
-    <logger name="com.netflix" level="WARN"/>
-    <logger name="com.netflix.discovery" level="INFO"/>
-    <logger name="com.ryantenney" level="WARN"/>
-    <logger name="com.sun" level="WARN"/>
-    <logger name="com.zaxxer" level="WARN"/>
-    <logger name="io.undertow" level="WARN"/>
-    <logger name="io.undertow.websockets.jsr" level="ERROR"/>
-    <logger name="org.apache" level="WARN"/>
-    <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
-    <logger name="org.bson" level="WARN"/>
-    <logger name="org.hibernate.validator" level="WARN"/>
-    <logger name="org.hibernate" level="WARN"/>
-    <logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/>
-    <logger name="org.springframework" level="WARN"/>
-    <logger name="org.springframework.web" level="WARN"/>
-    <logger name="org.springframework.security" level="WARN"/>
-    <logger name="org.springframework.cache" level="WARN"/>
-    <logger name="org.thymeleaf" level="WARN"/>
-    <logger name="org.xnio" level="WARN"/>
-    <logger name="springfox" level="WARN"/>
-    <logger name="sun.rmi" level="WARN"/>
-    <logger name="liquibase" level="WARN"/>
-    <logger name="LiquibaseSchemaResolver" level="INFO"/>
-    <logger name="sun.net.www" level="INFO"/>
-    <logger name="sun.rmi.transport" level="WARN"/>
-
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <root level="#logback.loglevel#">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/activationEmail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/activationEmail.html
deleted file mode 100644
index 5ac8bd32730f90bb9b3ae489e57ce640b0696317..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/activationEmail.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-    <head>
-        <title th:text="#{email.activation.title}">JHipster activation</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    </head>
-    <body>
-        <p th:text="#{email.activation.greeting(${user.login})}">
-            Dear
-        </p>
-        <p th:text="#{email.activation.text1}">
-            Your JHipster account has been created, please click on the URL below to activate it:
-        </p>
-        <p>
-            <a th:href="@{|${baseUrl}/#/activate?key=${user.activationKey}|}"
-               th:text="|${user.login}|">Activation Link</a>
-        </p>
-        <p>
-            <span th:text="#{email.activation.text2}">Regards, </span>
-            <br/>
-            <em th:text="#{email.signature}">JHipster.</em>
-        </p>
-    </body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/creationEmail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/creationEmail.html
deleted file mode 100644
index d4b638768ffefef1dacc72cea25a64daac7e1f51..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/creationEmail.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-    <head>
-        <title th:text="#{email.activation.title}">JHipster creation</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    </head>
-    <body>
-        <p th:text="#{email.activation.greeting(${user.login})}">
-            Dear
-        </p>
-        <p th:text="#{email.creation.text1}">
-            Your JHipster account has been created, please click on the URL below to access it:
-        </p>
-        <p>
-          <a th:href="@{|${baseUrl}/#/reset/finish?key=${user.resetKey}|}"
-             th:text="|${user.login}|">login</a>
-        </p>
-        <p>
-            <span th:text="#{email.activation.text2}">Regards, </span>
-            <br/>
-            <em th:text="#{email.signature}">JHipster.</em>
-        </p>
-    </body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/passwordResetEmail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/passwordResetEmail.html
deleted file mode 100644
index da837dcd932e5b19810fe5caf3e1d68b44e61a50..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/mails/passwordResetEmail.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-    <head>
-        <title th:text="#{email.reset.title}">JHipster password reset</title>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-        <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    </head>
-    <body>
-        <p th:text="#{email.reset.greeting(${user.login})}">
-            Dear
-        </p>
-        <p th:text="#{email.reset.text1}">
-            For your JHipster account a password reset was requested, please click on the URL below to reset it:
-        </p>
-        <p>
-            <a th:href="@{|${baseUrl}/#/reset/finish?key=${user.resetKey}|}"
-               th:text="|${user.login}|">Reset Link</a>
-        </p>
-        <p>
-            <span th:text="#{email.reset.text2}">Regards, </span>
-            <br/>
-            <em th:text="#{email.signature}">JHipster.</em>
-        </p>
-    </body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/templates/error.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/templates/error.html
deleted file mode 100644
index 08616bcf1ed255b12bafff55eaa816ac43da22f2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/resources/templates/error.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://www.thymeleaf.org ">
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <link rel="shortcut icon" href="${baseUrl}/favicon.ico" />
-    <title>Your request cannot be processed</title>
-    <style>
-        ::-moz-selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        ::selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        html {
-            padding: 30px 10px;
-            font-size: 20px;
-            line-height: 1.4;
-            color: #737373;
-            background: #f0f0f0;
-            -webkit-text-size-adjust: 100%;
-            -ms-text-size-adjust: 100%;
-        }
-
-        html,
-        input {
-            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-        }
-
-        body {
-            max-width: 500px;
-            _width: 500px;
-            padding: 30px 20px 50px;
-            border: 1px solid #b3b3b3;
-            border-radius: 4px;
-            margin: 0 auto;
-            box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
-            background: #fcfcfc;
-        }
-
-        h1 {
-            margin: 0 10px;
-            font-size: 50px;
-            text-align: center;
-        }
-
-        h1 span {
-            color: #bbb;
-        }
-
-        h3 {
-            margin: 1.5em 0 0.5em;
-        }
-
-        p {
-            margin: 1em 0;
-        }
-
-        ul {
-            padding: 0 0 0 40px;
-            margin: 1em 0;
-        }
-
-        .container {
-            max-width: 380px;
-            _width: 380px;
-            margin: 0 auto;
-        }
-
-        /* google search */
-
-        #goog-fixurl ul {
-            list-style: none;
-            padding: 0;
-            margin: 0;
-        }
-
-        #goog-fixurl form {
-            margin: 0;
-        }
-
-        #goog-wm-qt,
-        #goog-wm-sb {
-            border: 1px solid #bbb;
-            font-size: 16px;
-            line-height: normal;
-            vertical-align: top;
-            color: #444;
-            border-radius: 2px;
-        }
-
-        #goog-wm-qt {
-            width: 220px;
-            height: 20px;
-            padding: 5px;
-            margin: 5px 10px 0 0;
-            box-shadow: inset 0 1px 1px #ccc;
-        }
-
-        #goog-wm-sb {
-            display: inline-block;
-            height: 32px;
-            padding: 0 10px;
-            margin: 5px 0 0;
-            white-space: nowrap;
-            cursor: pointer;
-            background-color: #f5f5f5;
-            background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -ms-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -o-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            -webkit-appearance: none;
-            -moz-appearance: none;
-            appearance: none;
-            *overflow: visible;
-            *display: inline;
-            *zoom: 1;
-        }
-
-        #goog-wm-sb:hover,
-        #goog-wm-sb:focus {
-            border-color: #aaa;
-            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
-            background-color: #f8f8f8;
-        }
-
-        #goog-wm-qt:hover,
-        #goog-wm-qt:focus {
-            border-color: #105cb6;
-            outline: 0;
-            color: #222;
-        }
-
-        input::-moz-focus-inner {
-            padding: 0;
-            border: 0;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1 th:text="#{error.title}">Your request cannot be processed <span>:(</span></h1>
-
-    <p th:text="#{error.subtitle}">Sorry, an error has occurred.</p>
-
-    <span th:text="#{error.status}">Status:</span>&nbsp;<span th:text="${error}"></span>&nbsp;(<span th:text="${error}"></span>)<br/>
-    <span th:if="${!#strings.isEmpty(message)}">
-        <span th:text="#{error.message}">Message:</span>&nbsp;<span th:text="${message}"></span><br/>
-    </span>
-
-    <script th:inline="text">
-        /*<![CDATA[*/
-        var GOOG_FIXURL_LANG = '[[${#locale.language}]]', GOOG_FIXURL_SITE = location.host;
-        /*]]>*/
-    </script>
-    <script src="https://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
-</div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/404.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/404.html
deleted file mode 100644
index 3fdc0bee1a87cc3d6812914cea3f6f0e7c5c09e1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/404.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <title>Page Not Found</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <link rel="shortcut icon" href="favicon.ico" />
-    <style>
-
-        * {
-            line-height: 1.2;
-            margin: 0;
-        }
-
-        html {
-            color: #888;
-            display: table;
-            font-family: sans-serif;
-            height: 100%;
-            text-align: center;
-            width: 100%;
-        }
-
-        body {
-            display: table-cell;
-            vertical-align: middle;
-            margin: 2em auto;
-        }
-
-        h1 {
-            color: #555;
-            font-size: 2em;
-            font-weight: 400;
-        }
-
-        p {
-            margin: 0 auto;
-            width: 280px;
-        }
-
-        @media only screen and (max-width: 280px) {
-
-            body, p {
-                width: 95%;
-            }
-
-            h1 {
-                font-size: 1.5em;
-                margin: 0 0 0.3em;
-            }
-
-        }
-
-    </style>
-</head>
-<body>
-    <h1>Page Not Found</h1>
-    <p>Sorry, but the page you were trying to view does not exist.</p>
-</body>
-</html>
-<!-- IE needs 512+ bytes: http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx -->
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/account.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/account.state.js
deleted file mode 100644
index 671f95f3dcb33efbf8cb940a5a6f2619b6ed57dc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/account.state.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('account', {
-            abstract: true,
-            parent: 'app'
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.controller.js
deleted file mode 100644
index 1790d5bdbbcc3296842ca3ab210bc8eb5e772d9a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.controller.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ActivationController', ActivationController);
-
-    ActivationController.$inject = ['$stateParams', 'Auth', 'LoginService'];
-
-    function ActivationController ($stateParams, Auth, LoginService) {
-        var vm = this;
-
-        Auth.activateAccount({key: $stateParams.key}).then(function () {
-            vm.error = null;
-            vm.success = 'OK';
-        }).catch(function () {
-            vm.success = null;
-            vm.error = 'ERROR';
-        });
-
-        vm.login = LoginService.open;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.html
deleted file mode 100644
index 50cadf29524ceab4ed8567067092fa2baa3c8d22..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <h1 data-translate="activate.title">Activation</h1>
-
-            <div class="alert alert-success" ng-show="vm.success" data-translate="activate.messages.success" translate-compile>
-                <strong>Your user has been activated.</strong> Please <a class="alert-link" href="" ng-click="vm.login()">sign in</a>.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.error" data-translate="activate.messages.error">
-                <strong>Your user could not be activated.</strong> Please use the registration form to sign up.
-            </div>
-
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.state.js
deleted file mode 100644
index 458227399ebeef8c496dda42460723962336f036..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/activate/activate.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('activate', {
-            parent: 'account',
-            url: '/activate?key',
-            data: {
-                authorities: [],
-                pageTitle: 'activate.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/activate/activate.html',
-                    controller: 'ActivationController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('activate');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password-strength-bar.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password-strength-bar.directive.js
deleted file mode 100644
index 89f8c2ea8b43348683ad35d901b13c7d22e39687..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password-strength-bar.directive.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-/* globals $ */
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('passwordStrengthBar', passwordStrengthBar);
-
-    function passwordStrengthBar () {
-        var directive = {
-            replace: true,
-            restrict: 'E',
-            template: '<div id="strength">' +
-                '<small data-translate="global.messages.validate.newpassword.strength">Password strength:</small>' +
-                '<ul id="strengthBar">' +
-                '<li class="point"></li><li class="point"></li><li class="point"></li><li class="point"></li><li class="point"></li>' +
-                '</ul>' +
-                '</div>',
-            scope: {
-                passwordToCheck: '='
-            },
-            link: linkFunc
-        };
-
-        return directive;
-
-        /* private helper methods*/
-
-        function linkFunc(scope, iElement) {
-            var strength = {
-                colors: ['#F00', '#F90', '#FF0', '#9F0', '#0F0'],
-                mesureStrength: function (p) {
-
-                    var _force = 0;
-                    var _regex = /[$-/:-?{-~!"^_`\[\]]/g; // "
-
-                    var _lowerLetters = /[a-z]+/.test(p);
-                    var _upperLetters = /[A-Z]+/.test(p);
-                    var _numbers = /[0-9]+/.test(p);
-                    var _symbols = _regex.test(p);
-
-                    var _flags = [_lowerLetters, _upperLetters, _numbers, _symbols];
-                    var _passedMatches = $.grep(_flags, function (el) {
-                        return el === true;
-                    }).length;
-
-                    _force += 2 * p.length + ((p.length >= 10) ? 1 : 0);
-                    _force += _passedMatches * 10;
-
-                    // penalty (short password)
-                    _force = (p.length <= 6) ? Math.min(_force, 10) : _force;
-
-                    // penalty (poor variety of characters)
-                    _force = (_passedMatches === 1) ? Math.min(_force, 10) : _force;
-                    _force = (_passedMatches === 2) ? Math.min(_force, 20) : _force;
-                    _force = (_passedMatches === 3) ? Math.min(_force, 40) : _force;
-
-                    return _force;
-
-                },
-                getColor: function (s) {
-
-                    var idx;
-                    if (s <= 10) {
-                        idx = 0;
-                    }
-                    else if (s <= 20) {
-                        idx = 1;
-                    }
-                    else if (s <= 30) {
-                        idx = 2;
-                    }
-                    else if (s <= 40) {
-                        idx = 3;
-                    }
-                    else {
-                        idx = 4;
-                    }
-
-                    return { idx: idx + 1, col: this.colors[idx] };
-                }
-            };
-            scope.$watch('passwordToCheck', function (password) {
-                if (password) {
-                    var c = strength.getColor(strength.mesureStrength(password));
-                    iElement.removeClass('ng-hide');
-                    iElement.find('ul').children('li')
-                        .css({ 'background-color': '#DDD' })
-                        .slice(0, c.idx)
-                        .css({ 'background-color': c.col });
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.controller.js
deleted file mode 100644
index 87d1be154ec859edd405f664a94a399709bfc6c6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.controller.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('PasswordController', PasswordController);
-
-    PasswordController.$inject = ['Auth', 'Principal'];
-
-    function PasswordController (Auth, Principal) {
-        var vm = this;
-
-        vm.changePassword = changePassword;
-        vm.doNotMatch = null;
-        vm.error = null;
-        vm.success = null;
-
-        Principal.identity().then(function(account) {
-            vm.account = account;
-        });
-
-        function changePassword () {
-            if (vm.password !== vm.confirmPassword) {
-                vm.error = null;
-                vm.success = null;
-                vm.doNotMatch = 'ERROR';
-            } else {
-                vm.doNotMatch = null;
-                Auth.changePassword(vm.password).then(function () {
-                    vm.error = null;
-                    vm.success = 'OK';
-                }).catch(function () {
-                    vm.success = null;
-                    vm.error = 'ERROR';
-                });
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.html
deleted file mode 100644
index f087e3fef70996e8978b81d50d7378fd6893e7b4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <h2 data-translate="password.title" translate-values="{username: '{{vm.account.login}}'}">Password for [<b>{{vm.account.login}}</b>]</h2>
-
-            <div class="alert alert-success" ng-show="vm.success" data-translate="password.messages.success">
-                <strong>Password changed!</strong>
-            </div>
-            <div class="alert alert-danger" ng-show="vm.error"  data-translate="password.messages.error">
-                <strong>An error has occurred!</strong> The password could not be changed.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.doNotMatch" data-translate="global.messages.error.dontmatch">
-                The password and its confirmation do not match!
-            </div>
-
-            <form name="form" role="form" novalidate ng-submit="vm.changePassword()" show-validation>
-
-                <div class="form-group">
-                    <label class="control-label" for="password" data-translate="global.form.newpassword">New password</label>
-                    <input type="password" class="form-control" id="password" name="password" placeholder="{{'global.form.newpassword.placeholder' | translate}}"
-                           ng-model="vm.password" ng-minlength=4 ng-maxlength=50 required>
-                    <div ng-show="form.password.$dirty && form.password.$invalid">
-                        <p class="help-block"
-                           ng-show="form.password.$error.required" data-translate="global.messages.validate.newpassword.required">
-                            Your password is required.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.password.$error.minlength" data-translate="global.messages.validate.newpassword.minlength">
-                            Your password is required to be at least 4 characters.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.password.$error.maxlength" data-translate="global.messages.validate.newpassword.maxlength">
-                            Your password cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                    <password-strength-bar password-to-check="vm.password"></password-strength-bar>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="confirmPassword" data-translate="global.form.confirmpassword">New password confirmation</label>
-                    <input type="password" class="form-control" id="confirmPassword" name="confirmPassword" placeholder="{{'global.form.confirmpassword.placeholder' | translate}}"
-                           ng-model="vm.confirmPassword" ng-minlength=4 ng-maxlength=50 required>
-                    <div ng-show="form.confirmPassword.$dirty && form.confirmPassword.$invalid">
-                        <p class="help-block"
-                           ng-show="form.confirmPassword.$error.required" data-translate="global.messages.validate.confirmpassword.required">
-                            Your confirmation password is required.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.confirmPassword.$error.minlength" data-translate="global.messages.validate.confirmpassword.minlength">
-                            Your confirmation password is required to be at least 4 characters.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.confirmPassword.$error.maxlength" data-translate="global.messages.validate.confirmpassword.maxlength">
-                            Your confirmation password cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-
-                <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary" data-translate="password.form.button">Save</button>
-            </form>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.state.js
deleted file mode 100644
index 015317f1d9c3674c76f4f86dec90cdbb842b7173..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/password/password.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('password', {
-            parent: 'account',
-            url: '/password',
-            data: {
-                authorities: ['ROLE_USER'],
-                pageTitle: 'global.menu.account.password'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/password/password.html',
-                    controller: 'PasswordController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('password');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.controller.js
deleted file mode 100644
index 52190422aca66fbc9fe1e5891e9e049b9e962f0d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.controller.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('RegisterController', RegisterController);
-
-
-    RegisterController.$inject = ['$translate', '$timeout', 'Auth', 'LoginService'];
-
-    function RegisterController ($translate, $timeout, Auth, LoginService) {
-        var vm = this;
-
-        vm.doNotMatch = null;
-        vm.error = null;
-        vm.errorUserExists = null;
-        vm.login = LoginService.open;
-        vm.register = register;
-        vm.registerAccount = {};
-        vm.success = null;
-
-        $timeout(function (){angular.element('#firstName').focus();});
-
-        function register () {
-            if (vm.registerAccount.password !== vm.confirmPassword) {
-                vm.doNotMatch = 'ERROR';
-            } else {
-                if(vm.settingsAccount.userType === "csp") {
-                    vm.settingsAccount.contractReference = null;
-                    vm.settingsAccount.creditCardType = null;
-                    vm.settingsAccount.creditCard = null;
-                } else if (vm.settingsAccount.userType === "pa" && vm.settingsAccount.creditOrContract === "contractreference") {
-                    vm.settingsAccount.creditCardType = null;
-                    vm.settingsAccount.creditCard = null;
-                } else if (vm.settingsAccount.userType === "pa" && vm.settingsAccount.creditOrContract === "creditcard") {
-                    vm.settingsAccount.contractReference = null;
-                }
-                vm.registerAccount = {
-                    firstName: vm.registerAccount.firstName,
-                    lastName: vm.registerAccount.lastName,
-                    login: vm.registerAccount.login,
-                    email: vm.registerAccount.email,
-                    password: vm.registerAccount.password,
-                    langKey: $translate.use(),
-                    company: vm.settingsAccount.company,
-                    usersGroup: vm.registerAccount.login,
-                    userType: vm.settingsAccount.userType,
-                    creditCardType: vm.settingsAccount.creditCardType,
-                    creditCard: vm.settingsAccount.creditCard,
-                    contractReference: vm.settingsAccount.contractReference,
-                    cifOrVat: vm.settingsAccount.cifOrVat
-                };
-                vm.doNotMatch = null;
-                vm.error = null;
-                vm.errorUserExists = null;
-                vm.errorEmailExists = null;
-                vm.errorUsersGroupExists = null;
-                Auth.createAccount(vm.registerAccount).then(function () {
-                    vm.success = 'OK';
-                }).catch(function (response) {
-                    vm.success = null;
-                    if (response.status === 400 && response.data === 'login already in use') {
-                        vm.errorUserExists = 'ERROR';
-                    } else if (response.status === 400 && response.data === 'email address already in use') {
-                        vm.errorEmailExists = 'ERROR';
-                    } else if (response.status === 400 && response.data === 'user group already exists') {
-                        vm.errorUsersGroupExists = 'ERROR';
-                    } else {
-                        vm.error = 'ERROR';
-                    }
-                });
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.html
deleted file mode 100644
index ac3ee04fc277a07366ed11520460094aefa8ec30..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <h1 data-translate="register.title">Registration</h1>
-
-            <div class="alert alert-success" ng-show="vm.success" data-translate="register.messages.success">
-                <strong>Registration saved!</strong> Please check your email for confirmation.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.error" data-translate="register.messages.error.fail">
-                <strong>Registration failed!</strong> Please try again later.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.errorUserExists" data-translate="register.messages.error.userexists">
-                <strong>Login name already registered!</strong> Please choose another one.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.errorEmailExists" data-translate="register.messages.error.emailexists">
-                <strong>Email is already in use!</strong> Please choose another one.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.errorUsersGroupExists" data-translate="register.messages.error.usersgroupexists">
-                <strong>Company already exists!</strong> Please choose another one.
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.doNotMatch" data-translate="global.messages.error.dontmatch">
-                The password and its confirmation do not match!
-            </div>
-        </div>
-        <div class="col-md-8 col-md-offset-2">
-            <form ng-show="!vm.success" name="form" role="form" novalidate ng-submit="vm.register()" show-validation>
-
-                <div class="form-group">
-                    <label class="control-label" for="firstName" data-translate="global.form.firstname">First name</label>
-                    <input type="text" class="form-control" id="firstName" name="firstName" placeholder="{{'global.form.firstname.placeholder' | translate}}"
-                           ng-model="vm.registerAccount.firstName" ng-minlength=1 ng-maxlength=50 required>
-                    <div ng-show="form.firstName.$dirty && form.firstName.$invalid">
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.required" data-translate="register.messages.validate.firstName.required">
-                            Your first name is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.minlength" data-translate="register.messages.validate.firstName.minlength">
-                            Your first name is required to be at least 1 character.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.maxlength" data-translate="register.messages.validate.firstName.maxlength">
-                            Your first name cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="lastName" data-translate="global.form.lastname">Last name</label>
-                    <input type="text" class="form-control" id="lastName" name="lastName" placeholder="{{'global.form.lastname.placeholder' | translate}}"
-                           ng-model="vm.registerAccount.lastName" ng-minlength=1 ng-maxlength=50 required>
-                    <div ng-show="form.lastName.$dirty && form.lastName.$invalid">
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.required" data-translate="register.messages.validate.lastName.required">
-                            Your last name is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.minlength" data-translate="register.messages.validate.lastName.minlength">
-                            Your last name is required to be at least 1 character.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.maxlength" data-translate="register.messages.validate.lastName.maxlength">
-                            Your last name cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="login" data-translate="global.form.username">Username</label>
-                    <input type="text" class="form-control" id="login" name="login" placeholder="{{'global.form.username.placeholder' | translate}}"
-                           ng-model="vm.registerAccount.login" ng-minlength=1 ng-maxlength=50 ng-pattern="/^[_'.@A-Za-z0-9-]*$/" required>
-                    <div ng-show="form.login.$dirty && form.login.$invalid">
-                        <p class="help-block"
-                               ng-show="form.login.$error.required" data-translate="register.messages.validate.login.required">
-                            Your username is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.login.$error.minlength" data-translate="register.messages.validate.login.minlength">
-                            Your username is required to be at least 1 character.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.login.$error.maxlength" data-translate="register.messages.validate.login.maxlength">
-                            Your username cannot be longer than 50 characters.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.login.$error.pattern" data-translate="register.messages.validate.login.pattern">
-                            Your username can only contain lower-case letters and digits.
-                    </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="email" data-translate="global.form.email">Email</label>
-                    <input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
-                           ng-model="vm.registerAccount.email" ng-minlength=5 ng-maxlength=100 required>
-                    <div ng-show="form.email.$dirty && form.email.$invalid">
-                        <p class="help-block"
-                               ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
-                            Your email is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
-                            Your email is invalid.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
-                            Your email is required to be at least 5 characters.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
-                            Your email cannot be longer than 100 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="password" data-translate="global.form.newpassword">New password</label>
-                    <input type="password" class="form-control" id="password" name="password" placeholder="{{'global.form.newpassword.placeholder' | translate}}"
-                           ng-model="vm.registerAccount.password" ng-minlength=4 ng-maxlength=50 required>
-                    <div ng-show="form.password.$dirty && form.password.$invalid">
-                        <p class="help-block"
-                               ng-show="form.password.$error.required" data-translate="global.messages.validate.newpassword.required">
-                            Your password is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.password.$error.minlength" data-translate="global.messages.validate.newpassword.minlength">
-                            Your password is required to be at least 4 characters.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.password.$error.maxlength" data-translate="global.messages.validate.newpassword.maxlength">
-                            Your password cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                    <password-strength-bar password-to-check="vm.registerAccount.password"></password-strength-bar>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="confirmPassword" data-translate="global.form.confirmpassword">New password confirmation</label>
-                    <input type="password" class="form-control" id="confirmPassword" name="confirmPassword" placeholder="{{'global.form.confirmpassword.placeholder' | translate}}"
-                           ng-model="vm.confirmPassword" ng-minlength=4 ng-maxlength=50 required>
-                    <div ng-show="form.confirmPassword.$dirty && form.confirmPassword.$invalid">
-                        <p class="help-block"
-                               ng-show="form.confirmPassword.$error.required" data-translate="global.messages.validate.confirmpassword.required">
-                            Your confirmation password is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.confirmPassword.$error.minlength" data-translate="global.messages.validate.confirmpassword.minlength">
-                            Your confirmation password is required to be at least 4 characters.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.confirmPassword.$error.maxlength" data-translate="global.messages.validate.confirmpassword.maxlength">
-                            Your confirmation password cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="company" data-translate="global.form.company">Company</label>
-                    <input type="text" class="form-control" id="company" name="company" placeholder="{{'global.form.company.placeholder' | translate}}"
-                           ng-model="vm.settingsAccount.company" ng-minlength=1 ng-maxlength=100 required>
-                </div>
-                <label data-translate="global.form.usertype">User type</label>
-                <div class="form-group">
-                  <div class="radio">
-                      <label>
-                          <input type="radio" name="userType" value="csp" ng-model="vm.settingsAccount.userType" ng-required="true">
-                          Cloud Service Provider
-                      </label>
-                  </div>
-                  <div class="radio">
-                      <label>
-                          <input type="radio" name="userType" value="pa" ng-model="vm.settingsAccount.userType" ng-required="true">
-                          Project Administration
-                      </label>
-                  </div>
-                </div>
-                <label data-translate="global.form.creditorcontract" ng-if="vm.settingsAccount.userType == 'pa'">Credit Card / Contract Reference</label>
-                <div class="form-group" ng-if="vm.settingsAccount.userType == 'pa'">
-                  <div class="radio">
-                      <label>
-                          <input type="radio" name="creditOrContract" value="creditcard" ng-model="vm.settingsAccount.creditOrContract" ng-required="true">
-                          Credit Card
-                      </label>
-                  </div>
-                  <div class="radio">
-                      <label>
-                          <input type="radio" name="creditOrContract" value="contractreference" ng-model="vm.settingsAccount.creditOrContract" ng-required="true">
-                          Contract Reference
-                      </label>
-                  </div>
-                </div>
-                <div class="form-group" ng-if="vm.settingsAccount.userType == 'pa' && vm.settingsAccount.creditOrContract == 'creditcard'">
-                    <label class="control-label" for="creditCardType" data-translate="global.form.creditcardtype">Credit card type</label>
-                    <select id="creditCardType" name="creditCardType" class="form-control"
-                            ng-model="vm.settingsAccount.creditCardType" ng-controller="CreditCardController as creditcardVm"
-                            ng-options="code as (code | findCreditCardFromKey) for code in creditcardVm.cards" required>
-                    </select>
-                </div>
-                <div class="form-group" ng-if="vm.settingsAccount.userType == 'pa' && vm.settingsAccount.creditOrContract == 'creditcard'">
-                  <label class="control-label" for="creditCard" data-translate="global.form.creditcard">Credit card</label>
-                  <input type="text" class="form-control" id="creditCard" name="creditCard" placeholder="{{'global.form.creditcard.placeholder' | translate}}"
-                         ng-model="vm.settingsAccount.creditCard" ng-minlength=13 ng-maxlength=16 ng-pattern="/^[0-9]{13,16}$/" required>
-                  <div ng-show="form.creditCard.$dirty && form.creditCard.$invalid">
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.required" data-translate="global.messages.validate.creditcard.required">
-                          Your credit card number is required.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.creditcard" data-translate="global.messages.validate.creditcard.invalid">
-                          Your credit card number is invalid.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.minlength" data-translate="global.messages.validate.creditcard.minlength">
-                          Your credit card number must be at least 13 characters.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.maxlength" data-translate="global.messages.validate.creditcard.maxlength">
-                          Your credit card number cannot be longer than 16 characters.
-                      </p>
-                  </div>
-                </div>
-                <div class="form-group" ng-if="vm.settingsAccount.userType == 'pa' && vm.settingsAccount.creditOrContract == 'contractreference'">
-                  <label class="control-label" for="contractReference" data-translate="global.form.contractreference">Contract reference</label>
-                  <input type="text" class="form-control" id="contractReference" name="contractReference" placeholder="{{'global.form.contractreference.placeholder' | translate}}"
-                         ng-model="vm.settingsAccount.contractReference" ng-minlength=13 ng-maxlength=16 ng-pattern="/^[a-zA-Z0-9]{13,16}$/" required>
-                  <div ng-show="form.contractReference.$dirty && form.contractReference.$invalid">
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.required" data-translate="global.messages.validate.contractreference.required">
-                          Your contract reference number is required.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.contractreference" data-translate="global.messages.validate.contractreference.invalid">
-                          Your contract reference number is invalid.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.minlength" data-translate="global.messages.validate.contractreference.minlength">
-                          Your contract reference number must be at least 13 characters.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.maxlength" data-translate="global.messages.validate.contractreference.maxlength">
-                          Your contract reference number cannot be longer than 16 characters.
-                      </p>
-                  </div>
-                </div>
-                <div class="form-group">
-                  <label class="control-label" for="cifOrVat" data-translate="global.form.ciforvat">CIF / VAT</label>
-                  <input type="text" class="form-control" id="cifOrVat" name="cifOrVat" placeholder="{{'global.form.ciforvat.placeholder' | translate}}"
-                         ng-model="vm.settingsAccount.cifOrVat" ng-minlength=8 ng-maxlength=12 required>
-                  <div ng-show="form.cifOrVat.$dirty && form.cifOrVat.$invalid">
-                      <p class="help-block"
-                             ng-show="form.cifOrVat.$error.required" data-translate="global.messages.validate.ciforvat.required">
-                          Your number is required.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.cifOrVat.$error.minlength" data-translate="global.messages.validate.ciforvat.minlength">
-                          Your number is required to be at least 8 characters.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.cifOrVat.$error.maxlength" data-translate="global.messages.validate.ciforvat.maxlength">
-                          Your number cannot be longer than 12 characters.
-                      </p>
-                  </div>
-                </div>
-
-                <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary" data-translate="register.form.button">Register</button>
-            </form>
-            <p></p>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.state.js
deleted file mode 100644
index ce719791fc23dd41e7e02ef4e67c01d657c49e6d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/register/register.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('register', {
-            parent: 'account',
-            url: '/register',
-            data: {
-                authorities: [],
-                pageTitle: 'register.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/register/register.html',
-                    controller: 'RegisterController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('register');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.controller.js
deleted file mode 100644
index 4d31e6cb20e12c2fbcec76ba0e7d12e5827b509e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.controller.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ResetFinishController', ResetFinishController);
-
-    ResetFinishController.$inject = ['$stateParams', '$timeout', 'Auth', 'LoginService'];
-
-    function ResetFinishController ($stateParams, $timeout, Auth, LoginService) {
-        var vm = this;
-
-        vm.keyMissing = angular.isUndefined($stateParams.key);
-        vm.confirmPassword = null;
-        vm.doNotMatch = null;
-        vm.error = null;
-        vm.finishReset = finishReset;
-        vm.login = LoginService.open;
-        vm.resetAccount = {};
-        vm.success = null;
-
-        $timeout(function (){angular.element('#password').focus();});
-
-        function finishReset() {
-            vm.doNotMatch = null;
-            vm.error = null;
-            if (vm.resetAccount.password !== vm.confirmPassword) {
-                vm.doNotMatch = 'ERROR';
-            } else {
-                Auth.resetPasswordFinish({key: $stateParams.key, newPassword: vm.resetAccount.password}).then(function () {
-                    vm.success = 'OK';
-                }).catch(function () {
-                    vm.success = null;
-                    vm.error = 'ERROR';
-                });
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.html
deleted file mode 100644
index 13fb94e5eac5a7ca13dafb2131ada5f88a67e144..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-4 col-md-offset-4">
-            <h1 data-translate="reset.finish.title">Reset password</h1>
-
-            <div class="alert alert-danger" data-translate="reset.finish.messages.keymissing" ng-show="vm.keyMissing">
-                <strong>The password reset key is missing.</strong>
-            </div>
-
-            <div class="alert alert-warning" ng-hide="vm.success || vm.keyMissing">
-                <p data-translate="reset.finish.messages.info">Choose a new password</p>
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.error">
-                <p data-translate="reset.finish.messages.error">Your password couldn't be reset. Remember a password request is only valid for 24 hours.</p>
-            </div>
-
-            <div class="alert alert-success" ng-show="vm.success">
-                <p data-translate="reset.finish.messages.success" translate-compile><strong>Your password has been reset.</strong> Please <a class="alert-link" href="" ng-click="vm.login()">sign in</a>.</p>
-            </div>
-
-            <div class="alert alert-danger" ng-show="vm.doNotMatch" data-translate="global.messages.error.dontmatch">
-                The password and its confirmation do not match!
-            </div>
-
-            <div ng-hide="vm.keyMissing">
-                <form ng-show="!vm.success" name="form" role="form" novalidate ng-submit="vm.finishReset()" show-validation>
-                    <div class="form-group">
-                        <label class="control-label" for="password" data-translate="global.form.newpassword">New password</label>
-                        <input type="password" class="form-control" id="password" name="password" placeholder="{{'global.form.newpassword.placeholder' | translate}}"
-                               ng-model="vm.resetAccount.password" ng-minlength=4 ng-maxlength=50 required>
-                        <div ng-show="form.password.$dirty && form.password.$invalid">
-                            <p class="help-block"
-                               ng-show="form.password.$error.required" data-translate="global.messages.validate.newpassword.required">
-                                Your password is required.
-                            </p>
-                            <p class="help-block"
-                               ng-show="form.password.$error.minlength" data-translate="global.messages.validate.newpassword.minlength">
-                                Your password is required to be at least 4 characters.
-                            </p>
-                            <p class="help-block"
-                               ng-show="form.password.$error.maxlength" data-translate="global.messages.validate.newpassword.maxlength">
-                                Your password cannot be longer than 50 characters.
-                            </p>
-                        </div>
-                        <password-strength-bar password-to-check="vm.resetAccount.password"></password-strength-bar>
-                    </div>
-
-                    <div class="form-group">
-                        <label class="control-label" for="confirmPassword" data-translate="global.form.confirmpassword">New password confirmation</label>
-                        <input type="password" class="form-control" id="confirmPassword" name="confirmPassword" placeholder="{{'global.form.confirmpassword.placeholder' | translate}}"
-                               ng-model="vm.confirmPassword" ng-minlength=4 ng-maxlength=50 required>
-                        <div ng-show="form.confirmPassword.$dirty && form.confirmPassword.$invalid">
-                            <p class="help-block"
-                               ng-show="form.confirmPassword.$error.required" data-translate="global.messages.validate.confirmpassword.required">
-                                Your password confirmation is required.
-                            </p>
-                            <p class="help-block"
-                               ng-show="form.confirmPassword.$error.minlength" data-translate="global.messages.validate.confirmpassword.minlength">
-                                Your password confirmation is required to be at least 4 characters.
-                            </p>
-                            <p class="help-block"
-                               ng-show="form.confirmPassword.$error.maxlength" data-translate="global.messages.validate.confirmpassword.maxlength">
-                                Your password confirmation cannot be longer than 50 characters.
-                            </p>
-                        </div>
-                    </div>
-                    <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary" data-translate="reset.finish.form.button">Reset Password</button>
-                </form>
-            </div>
-
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.state.js
deleted file mode 100644
index 45bd3c8f9ace2d67e9249d8065a545176a1e6544..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/finish/reset.finish.state.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('finishReset', {
-            parent: 'account',
-            url: '/reset/finish?key',
-            data: {
-                authorities: []
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/reset/finish/reset.finish.html',
-                    controller: 'ResetFinishController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('reset');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.controller.js
deleted file mode 100644
index c0ec5e487213f0bb969ad5349be858d0506fc0c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.controller.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('RequestResetController', RequestResetController);
-
-    RequestResetController.$inject = ['$timeout', 'Auth'];
-
-    function RequestResetController ($timeout, Auth) {
-        var vm = this;
-
-        vm.error = null;
-        vm.errorEmailNotExists = null;
-        vm.requestReset = requestReset;
-        vm.resetAccount = {};
-        vm.success = null;
-
-        $timeout(function (){angular.element('#email').focus();});
-
-        function requestReset () {
-
-            vm.error = null;
-            vm.errorEmailNotExists = null;
-
-            Auth.resetPasswordInit(vm.resetAccount.email).then(function () {
-                vm.success = 'OK';
-            }).catch(function (response) {
-                vm.success = null;
-                if (response.status === 400 && response.data === 'email address not registered') {
-                    vm.errorEmailNotExists = 'ERROR';
-                } else {
-                    vm.error = 'ERROR';
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.html
deleted file mode 100644
index 2945918893261b18c1402db5a3b2e66871374d04..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <h1 data-translate="reset.request.title">Reset your password</h1>
-
-            <div class="alert alert-danger" data-translate="reset.request.messages.notfound" ng-show="vm.errorEmailNotExists">
-                <strong>Email address isn't registered!</strong> Please check and try again.
-            </div>
-
-            <div class="alert alert-warning" ng-hide="vm.success">
-                <p data-translate="reset.request.messages.info">Enter the email address you used to register.</p>
-            </div>
-
-            <div class="alert alert-success" ng-show="vm.success == 'OK'">
-                <p data-translate="reset.request.messages.success">Check your emails for details on how to reset your password.</p>
-            </div>
-
-            <form ng-show="!vm.success" name="form" role="form" novalidate ng-submit="vm.requestReset()" show-validation>
-                <div class="form-group">
-                    <label class="control-label" for="email" data-translate="global.form.email">Email</label>
-                    <input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
-                           ng-model="vm.resetAccount.email" ng-minlength=5 ng-maxlength=100 required>
-                    <div ng-show="form.email.$dirty && form.email.$invalid">
-                        <p class="help-block"
-                           ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
-                            Your email is required.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
-                            Your email is invalid.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
-                            Your email is required to be at least 5 characters.
-                        </p>
-                        <p class="help-block"
-                           ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
-                            Your email cannot be longer than 100 characters.
-                        </p>
-                    </div>
-                </div>
-                <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary" data-translate="reset.request.form.button">Reset</button>
-            </form>
-
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.state.js
deleted file mode 100644
index bbec60c936955e682dafbde8dace7fd7c25a17a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/reset/request/reset.request.state.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('requestReset', {
-            parent: 'account',
-            url: '/reset/request',
-            data: {
-                authorities: []
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/reset/request/reset.request.html',
-                    controller: 'RequestResetController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('reset');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.controller.js
deleted file mode 100644
index f60a4ca721d45dce06a848e927d119faf806dfb9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.controller.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('SettingsController', SettingsController);
-
-    SettingsController.$inject = ['$scope', 'Principal', 'Auth', 'JhiLanguageService', '$translate'];
-
-    function SettingsController ($scope, Principal, Auth, JhiLanguageService, $translate) {
-        var vm = this;
-
-        vm.error = null;
-        vm.save = save;
-        vm.settingsAccount = null;
-        vm.success = null;
-        vm.pa = {
-          creditCardType: null,
-          creditCard: null,
-          contractReference: null
-        }
-
-        /**
-         * Store the "settings account" in a separate variable, and not in the shared "account" variable.
-         */
-        var copyAccount = function (account) {
-            return {
-                activated: account.activated,
-                email: account.email,
-                firstName: account.firstName,
-                creditCardType: account.creditCardType,
-                creditCard: account.creditCard,
-                contractReference: account.contractReference,
-                langKey: account.langKey,
-                lastName: account.lastName,
-                login: account.login
-            };
-        };
-
-        var copyAuthority = function (value) {
-            return value;
-        }
-
-        Principal.identity().then(function(account) {
-            vm.settingsAccount = copyAccount(account);
-            // Establece los valores para poder editarlos desde el formulario
-            vm.pa.creditCardType = vm.settingsAccount.creditCardType;
-            vm.pa.creditCard = vm.settingsAccount.creditCard;
-            vm.pa.contractReference = vm.settingsAccount.contractReference;
-        });
-
-        function cleanSubscriptions() {
-            vm.selectedSubscriptions = [];
-        }
-
-        function save () {
-            Auth.updateAccount(vm.settingsAccount).then(function() {
-                vm.error = null;
-                vm.success = 'OK';
-
-                Principal.identity(true).then(function(account) {
-                    vm.settingsAccount = copyAccount(account);
-                });
-                JhiLanguageService.getCurrent().then(function(current) {
-                    if (vm.settingsAccount.langKey !== current) {
-                        $translate.use(vm.settingsAccount.langKey);
-                    }
-                });
-            }).catch(function() {
-                vm.success = null;
-                vm.error = 'ERROR';
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.html
deleted file mode 100644
index 9a433cc9aa37637ac1e9ac8159900b09147fafe5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-8 col-md-offset-2">
-            <h2 data-translate="settings.title" translate-values="{username: '{{vm.settingsAccount.login}}'}">User settings for [<b>{{vm.settingsAccount.login}}</b>]</h2>
-
-            <div class="alert alert-success" ng-show="vm.success" data-translate="settings.messages.success">
-                <strong>Settings saved!</strong>
-            </div>
-
-           <jhi-alert-error></jhi-alert-error>
-
-            <form name="form" role="form" novalidate ng-submit="vm.save()" show-validation>
-
-                <div class="form-group">
-                    <label class="control-label" for="firstName" data-translate="settings.form.firstname">First Name</label>
-                    <input type="text" class="form-control" id="firstName" name="firstName" placeholder="{{'settings.form.firstname.placeholder' | translate}}"
-                           ng-model="vm.settingsAccount.firstName" ng-minlength=1 ng-maxlength=50 required maxlength="50">
-                    <div ng-show="form.firstName.$dirty && form.firstName.$invalid">
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.required" data-translate="settings.messages.validate.firstname.required">
-                            Your first name is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.minlength" data-translate="settings.messages.validate.firstname.minlength">
-                            Your first name is required to be at least 1 character.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.firstName.$error.maxlength" data-translate="settings.messages.validate.firstname.maxlength">
-                            Your first name cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="lastName" data-translate="settings.form.lastname">Last Name</label>
-                    <input type="text" class="form-control" id="lastName" name="lastName" placeholder="{{'settings.form.lastname.placeholder' | translate}}"
-                           ng-model="vm.settingsAccount.lastName" ng-minlength=1 ng-maxlength=50 required maxlength="50">
-                    <div ng-show="form.lastName.$dirty && form.lastName.$invalid">
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.required" data-translate="settings.messages.validate.lastname.required">
-                            Your last name is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.minlength" data-translate="settings.messages.validate.lastname.minlength">
-                            Your last name is required to be at least 1 character.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.lastName.$error.maxlength" data-translate="settings.messages.validate.lastname.maxlength">
-                            Your last name cannot be longer than 50 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <label class="control-label" for="email" data-translate="global.form.email">Email</label>
-                    <input type="email" class="form-control" id="email" name="email" placeholder="{{'global.form.email.placeholder' | translate}}"
-                           ng-model="vm.settingsAccount.email" ng-minlength=5 ng-maxlength=100 required maxlength="100">
-                    <div ng-show="form.email.$dirty && form.email.$invalid">
-                        <p class="help-block"
-                               ng-show="form.email.$error.required" data-translate="global.messages.validate.email.required">
-                            Your email is required.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.email" data-translate="global.messages.validate.email.invalid">
-                            Your email is invalid.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.minlength" data-translate="global.messages.validate.email.minlength">
-                            Your email is required to be at least 5 characters.
-                        </p>
-                        <p class="help-block"
-                               ng-show="form.email.$error.maxlength" data-translate="global.messages.validate.email.maxlength">
-                            Your email cannot be longer than 100 characters.
-                        </p>
-                    </div>
-                </div>
-                <div class="form-group" ng-if="vm.pa.creditCardType != null">
-                    <label class="control-label" for="creditCardType" data-translate="global.form.creditcardtype">Credit card type</label>
-                    <select id="creditCardType" name="creditCardType" class="form-control"
-                            ng-model="vm.settingsAccount.creditCardType" ng-controller="CreditCardController as creditcardVm"
-                            ng-options="code as (code | findCreditCardFromKey) for code in creditcardVm.cards" required>
-                    </select>
-                </div>
-                <div class="form-group" ng-if="vm.pa.creditCard != null">
-                  <label class="control-label" for="creditCard" data-translate="global.form.creditcard">Credit card</label>
-                  <input type="text" class="form-control" id="creditCard" name="creditCard"
-                         ng-model="vm.settingsAccount.creditCard" ng-minlength=13 ng-maxlength=16 ng-pattern="/^[0-9]{13,16}$/" required>
-                  <div ng-show="form.creditCard.$dirty && form.creditCard.$invalid">
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.required" data-translate="global.messages.validate.creditcard.required">
-                          Your credit card number is required.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.creditcard" data-translate="global.messages.validate.creditcard.invalid">
-                          Your credit card number is invalid.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.minlength" data-translate="global.messages.validate.creditcard.minlength">
-                          Your credit card number must be at least 13 characters.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.creditCard.$error.maxlength" data-translate="global.messages.validate.creditcard.maxlength">
-                          Your credit card number cannot be longer than 16 characters.
-                      </p>
-                  </div>
-                </div>
-                <div class="form-group" ng-if="vm.pa.contractReference != null">
-                  <label class="control-label" for="contractReference" data-translate="global.form.contractreference">Contract reference</label>
-                  <input type="text" class="form-control" id="contractReference" name="contractReference"
-                         ng-model="vm.settingsAccount.contractReference" ng-minlength=13 ng-maxlength=16 ng-pattern="/^[a-zA-Z0-9]{13,16}$/" required>
-                  <div ng-show="form.contractReference.$dirty && form.contractReference.$invalid">
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.required" data-translate="global.messages.validate.contractreference.required">
-                          Your contract reference number is required.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.contractreference" data-translate="global.messages.validate.contractreference.invalid">
-                          Your contract reference number is invalid.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.minlength" data-translate="global.messages.validate.contractreference.minlength">
-                          Your contract reference number must be at least 13 characters.
-                      </p>
-                      <p class="help-block"
-                             ng-show="form.contractReference.$error.maxlength" data-translate="global.messages.validate.contractreference.maxlength">
-                          Your contract reference number cannot be longer than 16 characters.
-                      </p>
-                  </div>
-                </div>
-                <div class="form-group">
-                    <label for="langKey" data-translate="settings.form.language">Language</label>
-                    <select id="langKey" name="langKey" class="form-control" ng-model="vm.settingsAccount.langKey" ng-controller="JhiLanguageController as languageVm" ng-options="code as (code | findLanguageFromKey) for code in languageVm.languages"></select>
-                </div>
-
-                <button type="submit" ng-disabled="form.$invalid" class="btn btn-primary" data-translate="settings.form.button">Save</button>
-            </form>
-        </div>
-    </div>
-
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.state.js
deleted file mode 100644
index 774a39ee5d37f2f5657c5c96c93e848ba969168e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/account/settings/settings.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('settings', {
-            parent: 'account',
-            url: '/settings',
-            data: {
-                authorities: ['ROLE_USER'],
-                pageTitle: 'global.menu.account.settings'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/account/settings/settings.html',
-                    controller: 'SettingsController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('settings');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/admin.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/admin.state.js
deleted file mode 100644
index 66e372e1cdf07e24c2af24948b5bcf2a3002b32b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/admin.state.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig ($stateProvider) {
-        $stateProvider.state('admin', {
-            abstract: true,
-            parent: 'app'
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.controller.js
deleted file mode 100644
index 4c20c4106b03bb9425e8a9b6fd0699bf268c1e6d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.controller.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('AuditsController', AuditsController);
-
-    AuditsController.$inject = ['$filter', 'AuditsService', 'ParseLinks'];
-
-    function AuditsController ($filter, AuditsService, ParseLinks) {
-        var vm = this;
-
-        vm.audits = null;
-        vm.fromDate = null;
-        vm.links = null;
-        vm.loadPage = loadPage;
-        vm.onChangeDate = onChangeDate;
-        vm.page = 1;
-        vm.previousMonth = previousMonth;
-        vm.toDate = null;
-        vm.today = today;
-        vm.totalItems = null;
-
-        vm.today();
-        vm.previousMonth();
-        vm.onChangeDate();
-
-        function onChangeDate () {
-            var dateFormat = 'yyyy-MM-dd';
-            var fromDate = $filter('date')(vm.fromDate, dateFormat);
-            var toDate = $filter('date')(vm.toDate, dateFormat);
-
-            AuditsService.query({page: vm.page -1, size: 20, fromDate: fromDate, toDate: toDate}, function(result, headers){
-                vm.audits = result;
-                vm.links = ParseLinks.parse(headers('link'));
-                vm.totalItems = headers('X-Total-Count');
-            });
-        }
-
-        // Date picker configuration
-        function today () {
-            // Today + 1 day - needed if the current day must be included
-            var today = new Date();
-            vm.toDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
-        }
-
-        function previousMonth () {
-            var fromDate = new Date();
-            if (fromDate.getMonth() === 0) {
-                fromDate = new Date(fromDate.getFullYear() - 1, 11, fromDate.getDate());
-            } else {
-                fromDate = new Date(fromDate.getFullYear(), fromDate.getMonth() - 1, fromDate.getDate());
-            }
-
-            vm.fromDate = fromDate;
-        }
-
-        function loadPage (page) {
-            vm.page = page;
-            vm.onChangeDate();
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.html
deleted file mode 100644
index 1f9b608c70234747858f5038e83770a98eb5ed05..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<div>
-    <h2 data-translate="audits.title">Audits</h2>
-
-    <div class="row">
-        <div class="col-md-5">
-            <h4 data-translate="audits.filter.title">Filter by date</h4>
-            <p class="input-group">
-                <span class="input-group-addon" data-translate="audits.filter.from">from</span>
-                <input type="date" class="input-sm form-control" name="start" ng-model="vm.fromDate" ng-change="vm.onChangeDate()" required/>
-                <span class="input-group-addon" data-translate="audits.filter.to">to</span>
-                <input type="date" class="input-sm form-control" name="end" ng-model="vm.toDate" ng-change="vm.onChangeDate()" required/>
-            </p>
-        </div>
-    </div>
-
-
-    <table class="table table-condensed table-striped table-bordered table-responsive">
-        <thead>
-        <tr>
-            <th ng-click="predicate = 'timestamp'; reverse=!reverse"><span data-translate="audits.table.header.date">Date</span></th>
-            <th ng-click="predicate = 'principal'; reverse=!reverse"><span data-translate="audits.table.header.principal">User</span></th>
-            <th ng-click="predicate = 'type'; reverse=!reverse"><span data-translate="audits.table.header.status">State</span></th>
-            <th ng-click="predicate = 'data.message'; reverse=!reverse"><span data-translate="audits.table.header.data">Extra data</span></th>
-        </tr>
-        </thead>
-
-        <tr ng-repeat="audit in vm.audits | filter:filter | orderBy:predicate:reverse" ng-hide="audit.filtered">
-            <td><span>{{audit.timestamp| date:'medium'}}</span></td>
-            <td><small>{{audit.principal}}</small></td>
-            <td>{{audit.type}}</td>
-            <td>
-                <span ng-show="audit.data.message">{{audit.data.message}}</span>
-                <span ng-show="audit.data.remoteAddress"><span data-translate="audits.table.data.remoteAddress">Remote Address</span> {{audit.data.remoteAddress}}</span>
-            </td>
-        </tr>
-    </table>
-
-    <div class="text-center">
-        <uib-pagination class="pagination-sm" total-items="vm.totalItems" ng-model="vm.page" ng-change="vm.loadPage(vm.page)"></uib-pagination>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.service.js
deleted file mode 100644
index 6259fb5229ac245e520891468c388cc5bf628083..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.service.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('AuditsService', AuditsService);
-
-    AuditsService.$inject = ['$resource'];
-
-    function AuditsService ($resource) {
-        var service = $resource('management/audits/:id', {}, {
-            'get': {
-                method: 'GET',
-                isArray: true
-            },
-            'query': {
-                method: 'GET',
-                isArray: true,
-                params: {fromDate: null, toDate: null}
-            }
-        });
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.state.js
deleted file mode 100644
index da86ceb6ff14894196e70b6248f9b1c7b014d784..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/audits/audits.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('audits', {
-            parent: 'admin',
-            url: '/audits',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'audits.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/audits/audits.html',
-                    controller: 'AuditsController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('audits');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.controller.js
deleted file mode 100644
index 9e1a1d130b9284508ff2bbd5a136849c02e91786..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.controller.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiConfigurationController', JhiConfigurationController);
-
-    JhiConfigurationController.$inject = ['$filter','JhiConfigurationService'];
-
-    function JhiConfigurationController (filter,JhiConfigurationService) {
-        var vm = this;
-
-        vm.allConfiguration = null;
-        vm.configuration = null;
-
-        JhiConfigurationService.get().then(function(configuration) {
-            vm.configuration = configuration;
-        });
-        JhiConfigurationService.getEnv().then(function (configuration) {
-            vm.allConfiguration = configuration;
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.html
deleted file mode 100644
index 9968ee1edee0d812ed01dbbac5bb1264b06c3e0f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<div>
-    <h2 data-translate="configuration.title">Configuration</h2>
-
-    <span data-translate="configuration.filter">Filter (by prefix)</span> <input type="text" ng-model="filter" class="form-control">
-    <label ng-hide="filteredConfig.length == 0">Spring configuration</label>
-    <table class="table table-condensed table-striped table-bordered table-responsive"
-        style="table-layout:fixed" ng-hide="filteredConfig.length == 0">
-        <thead>
-        <tr>
-            <th ng-click="predicate = 'prefix'; reverse=!reverse" class="col-sm-4"><span data-translate="configuration.table.prefix">Prefix</span></th>
-            <th data-translate="configuration.table.properties" class="col-sm-8">Properties</th>
-        </tr>
-        </thead>
-
-        <tr ng-repeat="entry in filtered = (vm.configuration | filter:filter | orderBy:predicate:reverse)">
-            <td><span>{{entry.prefix}}</span></td>
-            <td>
-                <div class="row" ng-repeat="(key, value) in entry.properties">
-                    <div class="col-md-4">{{key}}</div>
-                    <div class="col-md-8">
-                        <span class="pull-right label label-default break">{{value}}</span>
-                    </div>
-                </div>
-            </td>
-        </tr>
-    </table>
-    <div ng-repeat="(key, value) in vm.allConfiguration">
-        <label ng-hide="filtered.length == 0"><span>{{key}}</span></label>
-        <table class="table table-condensed table-striped table-bordered table-responsive"
-               style="table-layout:fixed" ng-hide="filtered.length == 0">
-            <thead>
-            <tr>
-                <th class="col-sm-4">Property</th>
-                <th class="col-sm-8">Value</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr ng-repeat="item in filtered = (value | filter:filter)">
-                <td class="break">{{item.key}}</td>
-                <td class="break">
-                    <span class="pull-right label label-default break">{{item.val}}</span>
-                </td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.service.js
deleted file mode 100644
index 208b195733e8c0c3a58cef446e789eaae033c33c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.service.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('JhiConfigurationService', JhiConfigurationService);
-
-    JhiConfigurationService.$inject = ['$filter', '$http'];
-
-    function JhiConfigurationService ($filter, $http) {
-        var service = {
-            get: get,
-            getEnv: getEnv
-        };
-
-        return service;
-
-        function get () {
-            return $http.get('management/configprops').then(getConfigPropsComplete);
-
-            function getConfigPropsComplete (response) {
-                var properties = [];
-                angular.forEach(response.data, function (data) {
-                    properties.push(data);
-                });
-                var orderBy = $filter('orderBy');
-                return orderBy(properties, 'prefix');
-            }
-        }
-
-        function getEnv () {
-            return $http.get('management/env').then(getEnvComplete);
-
-            function getEnvComplete (response) {
-                var properties = {};
-                angular.forEach(response.data, function (val,key) {
-                    var vals = [];
-                    angular.forEach(val, function (v,k) {
-                        vals.push({ key:k, val:v });
-                    });
-                    properties[key] = vals;
-                });
-                return properties;
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.state.js
deleted file mode 100644
index 449de46cf9157a9f9a3c2bd5bc0801208bacff10..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/configuration/configuration.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('jhi-configuration', {
-            parent: 'admin',
-            url: '/configuration',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'configuration.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/configuration/configuration.html',
-                    controller: 'JhiConfigurationController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('configuration');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.html
deleted file mode 100644
index 8eb55b28560d2f11236f1acbdee72c92b64d89cd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<iframe src="swagger-ui/index.html" frameborder="0" marginheight="0" marginwidth="0"
-        width="100%" height="900" scrolling="auto" target='_top' title="Swagger UI"></iframe>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.state.js
deleted file mode 100644
index b36391aa3d3985d010b88894c8e222cd9af4d31c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/docs/docs.state.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig ($stateProvider) {
-        $stateProvider.state('docs', {
-            parent: 'admin',
-            url: '/docs',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'global.menu.admin.apidocs'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/docs/docs.html'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', function ($translate) {
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway-routes.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway-routes.service.js
deleted file mode 100644
index 05d02d00f7004d2cdbd16b1223f88c5c960af65a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway-routes.service.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('GatewayRoutes', GatewayRoutes);
-
-    GatewayRoutes.$inject = ['$resource'];
-
-    function GatewayRoutes ($resource) {
-        var service = $resource('api/gateway/routes/:id', {}, {
-            'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    data = angular.fromJson(data);
-                    return data;
-                }
-            },
-            'update': { method:'PUT' }
-        });
-
-        return service;
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.controller.js
deleted file mode 100644
index 15136fed3a36d8a3887fe7632044c85310c51ed0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.controller.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('GatewayController', GatewayController);
-
-    GatewayController.$inject = ['$filter', '$interval', 'GatewayRoutes'];
-
-    function GatewayController ($filter, $interval, GatewayRoutes) {
-        var vm = this;
-
-        vm.gatewayRoutes = null;
-        vm.refresh = refresh;
-        vm.updatingRoutes = null;
-
-        vm.refresh();
-
-        function refresh () {
-            vm.updatingRoutes = true;
-            GatewayRoutes.query(function(result) {
-                vm.gatewayRoutes = result;
-                vm.updatingRoutes = false;
-            });
-        }
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.html
deleted file mode 100644
index 1c3bbbb9b4694d7f7699b90fafca42c8bc9cc2c3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<div>
-    <h2 data-translate="gateway.title">Gateway</h2>
-
-    <h3 data-translate="gateway.routes.title">Current routes</h3>
-    <p>
-        <button type="button" class="btn btn-primary" ng-click="vm.refresh()" ng-show="vm.updatingRoutes == false">
-            <span class="glyphicon glyphicon-refresh glyphicon-"></span>&nbsp;<span data-translate="gateway.refresh.button">Refresh</span>
-        </button>
-        <button type="button" class="btn btn-danger" ng-show="vm.updatingRoutes">
-            <span class="glyphicon glyphicon-refresh"></span>&nbsp;<span data-translate="gateway.refresh.button">Refresh</span>
-        </button>
-    </p>
-    <table class="table table-striped table-responsive">
-        <thead>
-        <tr>
-            <th data-translate="gateway.routes.url">URL</th>
-            <th data-translate="gateway.routes.service">Service</th>
-            <th data-translate="gateway.routes.servers">Available servers</th>
-        </tr>
-        </thead>
-
-        <tr ng-repeat="route in vm.gatewayRoutes">
-            <td>{{route.path}}</td>
-            <td>{{route.serviceId}}</td>
-            <td>
-                <div ng-show="{{route.serviceInstances.length == 0}}" class="label label-danger" data-translate="gateway.routes.error">
-                    Warning: no server available!
-                </div>
-                <table class="table table-responsive">
-                    <tr ng-repeat="instance in route.serviceInstances">
-                        <td>{{instance.host}}:{{instance.port}}</td>
-                        <td ng-show="{{instance.instanceInfo.status == 'UP'}}"><div class="label label-success">{{instance.instanceInfo.status}}</div></td>
-                        <td ng-hide="{{instance.instanceInfo.status == 'UP'}}"><div class="label label-danger">{{instance.instanceInfo.status}}</div></td>
-                    </tr>
-                </table>
-            </td>
-        </tr>
-    </table>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.state.js
deleted file mode 100644
index f4036535382ff8a40f7340642c6123e655f8508b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/gateway/gateway.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('gateway', {
-            parent: 'admin',
-            url: '/gateway',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'gateway.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/gateway/gateway.html',
-                    controller: 'GatewayController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('gateway');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.controller.js
deleted file mode 100644
index 9ae196aa282a2b978a92a9a3e33450ae0b5196f6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.controller.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiHealthCheckController', JhiHealthCheckController);
-
-    JhiHealthCheckController.$inject = ['JhiHealthService', '$uibModal'];
-
-    function JhiHealthCheckController (JhiHealthService, $uibModal) {
-        var vm = this;
-
-        vm.updatingHealth = true;
-        vm.getLabelClass = getLabelClass;
-        vm.refresh = refresh;
-        vm.showHealth = showHealth;
-        vm.baseName = JhiHealthService.getBaseName;
-        vm.subSystemName = JhiHealthService.getSubSystemName;
-
-        vm.refresh();
-
-        function getLabelClass (statusState) {
-            if (statusState === 'UP') {
-                return 'label-success';
-            } else {
-                return 'label-danger';
-            }
-        }
-
-        function refresh () {
-            vm.updatingHealth = true;
-            JhiHealthService.checkHealth().then(function (response) {
-                vm.healthData = JhiHealthService.transformHealthData(response);
-                vm.updatingHealth = false;
-            }, function (response) {
-                vm.healthData =  JhiHealthService.transformHealthData(response.data);
-                vm.updatingHealth = false;
-            });
-        }
-
-        function showHealth (health) {
-            $uibModal.open({
-                templateUrl: 'app/admin/health/health.modal.html',
-                controller: 'HealthModalController',
-                controllerAs: 'vm',
-                size: 'lg',
-                resolve: {
-                    currentHealth: function() {
-                        return health;
-                    },
-                    baseName: function() {
-                        return vm.baseName;
-                    },
-                    subSystemName: function() {
-                        return vm.subSystemName;
-                    }
-
-                }
-            });
-        }
-
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.html
deleted file mode 100644
index 88b6a9a5b8ff4ed78b17c27be7176d66d628112a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<div>
-    <h2 data-translate="health.title">Health Checks</h2>
-
-    <p>
-        <button type="button" class="btn btn-primary" ng-click="vm.refresh()"><span class="glyphicon glyphicon-refresh"></span>&nbsp;<span data-translate="health.refresh.button">Refresh</span>
-        </button>
-    </p>
-
-    <table id="healthCheck" class="table table-striped">
-        <thead>
-            <tr>
-                <th class="col-md-7" data-translate="health.table.service">Service Name</th>
-                <th class="col-md-2 text-center" data-translate="health.table.status">Status</th>
-                <th class="col-md-2 text-center" data-translate="health.details.details">Details</th>
-
-            </tr>
-        </thead>
-        <tbody>
-            <tr ng-repeat="health in vm.healthData">
-                <td>{{'health.indicator.' + vm.baseName(health.name) | translate}} {{vm.subSystemName(health.name)}}</td>
-                <td class="text-center">
-                    <span class="label" ng-class="vm.getLabelClass(health.status)">
-                        {{'health.status.' + health.status | translate}}
-                    </span>
-                </td>
-                <td class="text-center">
-                    <a class="hand" ng-click="vm.showHealth(health)" ng-show="health.details || health.error">
-                        <i class="glyphicon glyphicon-eye-open"></i>
-                    </a>
-                </td>
-            </tr>
-        </tbody>
-    </table>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.controller.js
deleted file mode 100644
index 40d1c3ab0e080b3350bc527ba88b9563152d0149..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.controller.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular.module('acsmiApp')
-        .controller('HealthModalController', HealthModalController);
-
-    HealthModalController.$inject = ['$uibModalInstance', 'currentHealth', 'baseName', 'subSystemName'];
-
-    function HealthModalController ($uibModalInstance, currentHealth, baseName, subSystemName) {
-        var vm = this;
-
-        vm.cancel = cancel;
-        vm.currentHealth = currentHealth;
-        vm.baseName = baseName;
-        vm.subSystemName = subSystemName;
-
-        function cancel() {
-            $uibModalInstance.dismiss('cancel');
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.html
deleted file mode 100644
index 78c292ffbedf45955277c93825ccda530bc03745..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.modal.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<div class="modal-header">
-    <button aria-label="Close" data-dismiss="modal" class="close" type="button" ng-click="vm.cancel()"><span aria-hidden="true">&times;</span>
-    </button>
-    <h4 class="modal-title" id="showHealthLabel">
-        {{'health.indicator.' + vm.baseName(vm.currentHealth.name) | translate}}
-        {{vm.subSystemName(vm.currentHealth.name)}}
-    </h4>
-</div>
-<div class="modal-body pad">
-    <div ng-show="vm.currentHealth.details">
-        <h4 data-translate="health.details.properties">Properties</h4>
-        <table class="table table-striped">
-            <thead>
-                <tr>
-                    <th class="col-md-6 text-left" data-translate="health.details.name">Name</th>
-                    <th class="col-md-6 text-left" data-translate="health.details.value">Value</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr ng-repeat="(k,v) in vm.currentHealth.details">
-                    <td class="col-md-6 text-left">{{k}}</td>
-                    <td class="col-md-6 text-left">{{v}}</td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-    <div ng-show="vm.currentHealth.error">
-        <h4 data-translate="health.details.error">Error</h4>
-            <pre>{{vm.currentHealth.error}}</pre>
-    </div>
-</div>
-<div class="modal-footer">
-    <button data-dismiss="modal" class="btn btn-default pull-left" type="button" ng-click="vm.cancel()">Done</button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.service.js
deleted file mode 100644
index 4fbfe623a6acd90d83efeb7079efe6f86c19a12a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.service.js
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('JhiHealthService', JhiHealthService);
-
-    JhiHealthService.$inject = ['$rootScope', '$http'];
-
-    function JhiHealthService ($rootScope, $http) {
-        var separator = '.';
-        var service = {
-            checkHealth: checkHealth,
-            transformHealthData: transformHealthData,
-            getBaseName: getBaseName,
-            getSubSystemName: getSubSystemName
-        };
-
-        return service;
-
-        function checkHealth () {
-            return $http.get('management/health').then(function (response) {
-                return response.data;
-            });
-        }
-
-        function transformHealthData (data) {
-            var response = [];
-            flattenHealthData(response, null, data);
-            return response;
-        }
-
-        function getBaseName (name) {
-            if (name) {
-                var split = name.split('.');
-                return split[0];
-            }
-        }
-
-        function getSubSystemName (name) {
-            if (name) {
-                var split = name.split('.');
-                split.splice(0, 1);
-                var remainder = split.join('.');
-                return remainder ? ' - ' + remainder : '';
-            }
-        }
-
-        /* private methods */
-        function flattenHealthData (result, path, data) {
-            angular.forEach(data, function (value, key) {
-                if (isHealthObject(value)) {
-                    if (hasSubSystem(value)) {
-                        addHealthObject(result, false, value, getModuleName(path, key));
-                        flattenHealthData(result, getModuleName(path, key), value);
-                    } else {
-                        addHealthObject(result, true, value, getModuleName(path, key));
-                    }
-                }
-            });
-            return result;
-        }
-
-        function addHealthObject (result, isLeaf, healthObject, name) {
-
-            var healthData = {
-                'name': name
-            };
-            var details = {};
-            var hasDetails = false;
-
-            angular.forEach(healthObject, function (value, key) {
-                if (key === 'status' || key === 'error') {
-                    healthData[key] = value;
-                } else {
-                    if (!isHealthObject(value)) {
-                        details[key] = value;
-                        hasDetails = true;
-                    }
-                }
-            });
-
-            // Add the of the details
-            if (hasDetails) {
-                angular.extend(healthData, { 'details': details});
-            }
-
-            // Only add nodes if they provide additional information
-            if (isLeaf || hasDetails || healthData.error) {
-                result.push(healthData);
-            }
-            return healthData;
-        }
-
-        function getModuleName (path, name) {
-            var result;
-            if (path && name) {
-                result = path + separator + name;
-            }  else if (path) {
-                result = path;
-            } else if (name) {
-                result = name;
-            } else {
-                result = '';
-            }
-            return result;
-        }
-
-        function hasSubSystem (healthObject) {
-            var result = false;
-            angular.forEach(healthObject, function (value) {
-                if (value && value.status) {
-                    result = true;
-                }
-            });
-            return result;
-        }
-
-        function isHealthObject (healthObject) {
-            var result = false;
-            angular.forEach(healthObject, function (value, key) {
-                if (key === 'status') {
-                    result = true;
-                }
-            });
-            return result;
-        }
-
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.state.js
deleted file mode 100644
index 82d4f701b57a26cfb90f8780c24f06a11ba7c0c1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/health/health.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('jhi-health', {
-            parent: 'admin',
-            url: '/health',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'health.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/health/health.html',
-                    controller: 'JhiHealthCheckController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('health');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.controller.js
deleted file mode 100644
index 9d43a065db960311e7f4451a4a3d969332592f1a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.controller.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('LogsController', LogsController);
-
-    LogsController.$inject = ['LogsService'];
-
-    function LogsController (LogsService) {
-        var vm = this;
-
-        vm.changeLevel = changeLevel;
-        vm.loggers = LogsService.findAll();
-
-        function changeLevel (name, level) {
-            LogsService.changeLevel({name: name, level: level}, function () {
-                vm.loggers = LogsService.findAll();
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.html
deleted file mode 100644
index 9fc55d1eb2de2401dd53b8bfd1d53bceafb2eec6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<div class="table-responsive">
-    <h2 data-translate="logs.title">Logs</h2>
-
-    <p data-translate="logs.nbloggers" translate-values="{total: '{{ vm.loggers.length }}'}">There are {{ vm.loggers.length }} loggers.</p>
-
-    <span data-translate="logs.filter">Filter</span> <input type="text" ng-model="filter" class="form-control">
-
-    <table class="table table-condensed table-striped table-bordered">
-        <thead>
-        <tr title="click to order">
-            <th ng-click="predicate = 'name'; reverse=!reverse"><span data-translate="logs.table.name">Name</span></th>
-            <th ng-click="predicate = 'level'; reverse=!reverse"><span data-translate="logs.table.level">Level</span></th>
-        </tr>
-        </thead>
-
-        <tr ng-repeat="logger in vm.loggers | filter:filter | orderBy:predicate:reverse">
-            <td><small>{{logger.name | characters:140}}</small></td>
-            <td>
-                <button ng-click="vm.changeLevel(logger.name, 'TRACE')" ng-class="(logger.level=='TRACE') ? 'btn-danger' : 'btn-default'" class="btn btn-default btn-xs">TRACE</button>
-                <button ng-click="vm.changeLevel(logger.name, 'DEBUG')" ng-class="(logger.level=='DEBUG') ? 'btn-warning' : 'btn-default'" class="btn btn-default btn-xs">DEBUG</button>
-                <button ng-click="vm.changeLevel(logger.name, 'INFO')" ng-class="(logger.level=='INFO') ? 'btn-info' : 'btn-default'" class="btn btn-default btn-xs">INFO</button>
-                <button ng-click="vm.changeLevel(logger.name, 'WARN')" ng-class="(logger.level=='WARN') ? 'btn-success' : 'btn-default'" class="btn btn-default btn-xs">WARN</button>
-                <button ng-click="vm.changeLevel(logger.name, 'ERROR')" ng-class="(logger.level=='ERROR') ? 'btn-primary' : 'btn-default'" class="btn btn-default btn-xs">ERROR</button>
-            </td>
-        </tr>
-    </table>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.service.js
deleted file mode 100644
index 4ce488b241aa15139aaeec06b384b7524949391e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.service.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('LogsService', LogsService);
-
-    LogsService.$inject = ['$resource'];
-
-    function LogsService ($resource) {
-        var service = $resource('management/logs', {}, {
-            'findAll': { method: 'GET', isArray: true},
-            'changeLevel': { method: 'PUT'}
-        });
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.state.js
deleted file mode 100644
index 0e4bce12ffabe6ef35ef2b36745998dcc0240905..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/logs/logs.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('logs', {
-            parent: 'admin',
-            url: '/logs',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'logs.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/logs/logs.html',
-                    controller: 'LogsController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('logs');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.controller.js
deleted file mode 100644
index dddf529ff77be29fac3a7c6f1b658109fe15fdc5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.controller.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiMetricsMonitoringController', JhiMetricsMonitoringController);
-
-    JhiMetricsMonitoringController.$inject = ['$scope','JhiMetricsService', '$uibModal'];
-
-    function JhiMetricsMonitoringController ($scope, JhiMetricsService, $uibModal) {
-        var vm = this;
-
-        vm.metrics = {};
-        vm.refresh = refresh;
-        vm.refreshThreadDumpData = refreshThreadDumpData;
-        vm.servicesStats = {};
-        vm.updatingMetrics = true;
-
-        vm.refresh();
-
-        $scope.$watch('vm.metrics', function (newValue) {
-            vm.servicesStats = {};
-            angular.forEach(newValue.timers, function (value, key) {
-                if (key.indexOf('web.rest') !== -1 || key.indexOf('service') !== -1) {
-                    vm.servicesStats[key] = value;
-                }
-            });
-
-        });
-
-        function refresh () {
-            vm.updatingMetrics = true;
-            JhiMetricsService.getMetrics().then(function (promise) {
-                vm.metrics = promise;
-                vm.updatingMetrics = false;
-            }, function (promise) {
-                vm.metrics = promise.data;
-                vm.updatingMetrics = false;
-            });
-        }
-
-        function refreshThreadDumpData () {
-            JhiMetricsService.threadDump().then(function(data) {
-                $uibModal.open({
-                    templateUrl: 'app/admin/metrics/metrics.modal.html',
-                    controller: 'JhiMetricsMonitoringModalController',
-                    controllerAs: 'vm',
-                    size: 'lg',
-                    resolve: {
-                        threadDump: function() {
-                            return data;
-                        }
-
-                    }
-                });
-            });
-        }
-
-
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.html
deleted file mode 100644
index c217a8c87378f9b545eea44c01963aa6238955e5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<div>
-    <h2 data-translate="metrics.title">Application Metrics</h2>
-    <p>
-        <button type="button" class="btn btn-primary" ng-click="vm.refresh()"><span class="glyphicon glyphicon-refresh"></span>&nbsp;<span data-translate="metrics.refresh.button">Refresh</span></button>
-    </p>
-
-    <h3 data-translate="metrics.jvm.title">JVM Metrics</h3>
-    <div class="row" ng-hide="vm.updatingMetrics">
-        <div class="col-md-4">
-            <b data-translate="metrics.jvm.memory.title">Memory</b>
-            <p><span data-translate="metrics.jvm.memory.total">Total Memory</span> ({{vm.metrics.gauges['jvm.memory.total.used'].value / 1000000 | number:0}}M / {{vm.metrics.gauges['jvm.memory.total.max'].value / 1000000 | number:0}}M)</p>
-            <uib-progressbar min="0" max="vm.metrics.gauges['jvm.memory.total.max'].value" value="vm.metrics.gauges['jvm.memory.total.used'].value" class="progress-striped active" type="success">
-                <span>{{vm.metrics.gauges['jvm.memory.total.used'].value * 100 / vm.metrics.gauges['jvm.memory.total.max'].value  | number:0}}%</span>
-            </uib-progressbar>
-            <p><span data-translate="metrics.jvm.memory.heap">Heap Memory</span> ({{vm.metrics.gauges['jvm.memory.heap.used'].value / 1000000 | number:0}}M / {{vm.metrics.gauges['jvm.memory.heap.max'].value / 1000000 | number:0}}M)</p>
-            <uib-progressbar min="0" max="vm.metrics.gauges['jvm.memory.heap.max'].value" value="vm.metrics.gauges['jvm.memory.heap.used'].value" class="progress-striped active" type="success">
-                <span>{{vm.metrics.gauges['jvm.memory.heap.used'].value * 100 / vm.metrics.gauges['jvm.memory.heap.max'].value  | number:0}}%</span>
-            </uib-progressbar>
-            <p><span data-translate="metrics.jvm.memory.nonheap">Non-Heap Memory</span> ({{vm.metrics.gauges['jvm.memory.non-heap.used'].value / 1000000 | number:0}}M / {{vm.metrics.gauges['jvm.memory.non-heap.committed'].value / 1000000 | number:0}}M)</p>
-            <uib-progressbar min="0" max="vm.metrics.gauges['jvm.memory.non-heap.committed'].value" value="vm.metrics.gauges['jvm.memory.non-heap.used'].value" class="progress-striped active" type="success">
-                <span>{{vm.metrics.gauges['jvm.memory.non-heap.used'].value * 100 / vm.metrics.gauges['jvm.memory.non-heap.committed'].value  | number:0}}%</span>
-            </uib-progressbar>
-        </div>
-        <div class="col-md-4">
-            <b data-translate="metrics.jvm.threads.title">Threads</b> (Total: {{vm.metrics.gauges['jvm.threads.count'].value}}) <a class="hand" ng-click="vm.refreshThreadDumpData()" data-toggle="modal" data-target="#threadDump"><i class="glyphicon glyphicon-eye-open"></i></a>
-            <p><span data-translate="metrics.jvm.threads.runnable">Runnable</span> {{vm.metrics.gauges['jvm.threads.runnable.count'].value}}</p>
-            <uib-progressbar min="0" value="vm.metrics.gauges['jvm.threads.runnable.count'].value" max="vm.metrics.gauges['jvm.threads.count'].value" class="progress-striped active" type="success">
-                <span>{{vm.metrics.gauges['jvm.threads.runnable.count'].value * 100 / vm.metrics.gauges['jvm.threads.count'].value  | number:0}}%</span>
-            </uib-progressbar>
-            <p><span data-translate="metrics.jvm.threads.timedwaiting">Timed Waiting</span> ({{vm.metrics.gauges['jvm.threads.timed_waiting.count'].value}})</p>
-            <uib-progressbar min="0" value="vm.metrics.gauges['jvm.threads.timed_waiting.count'].value" max="vm.metrics.gauges['jvm.threads.count'].value" class="progress-striped active" type="warning">
-                <span>{{vm.metrics.gauges['jvm.threads.timed_waiting.count'].value * 100 / vm.metrics.gauges['jvm.threads.count'].value  | number:0}}%</span>
-            </uib-progressbar>
-            <p><span data-translate="metrics.jvm.threads.waiting">Waiting</span> ({{vm.metrics.gauges['jvm.threads.waiting.count'].value}})</p>
-            <uib-progressbar min="0" value="vm.metrics.gauges['jvm.threads.waiting.count'].value" max="vm.metrics.gauges['jvm.threads.count'].value" class="progress-striped active" type="warning">
-                <span>{{vm.metrics.gauges['jvm.threads.waiting.count'].value * 100 / vm.metrics.gauges['jvm.threads.count'].value  | number:0}}%</span>
-            </uib-progressbar>
-            <p><span data-translate="metrics.jvm.threads.blocked">Blocked</span> ({{vm.metrics.gauges['jvm.threads.blocked.count'].value}})</p>
-            <uib-progressbar min="0" value="vm.metrics.gauges['jvm.threads.blocked.count'].value" max="vm.metrics.gauges['jvm.threads.count'].value" class="progress-striped active" type="success">
-                <span>{{vm.metrics.gauges['jvm.threads.blocked.count'].value * 100 / vm.metrics.gauges['jvm.threads.count'].value  | number:0}}%</span>
-            </uib-progressbar>
-        </div>
-        <div class="col-md-4">
-            <b data-translate="metrics.jvm.gc.title">Garbage collections</b>
-            <div class="row">
-                <div class="col-md-9" data-translate="metrics.jvm.gc.marksweepcount">Mark Sweep count</div>
-                <div class="col-md-3 text-right">{{vm.metrics.gauges['jvm.garbage.PS-MarkSweep.count'].value}}</div>
-            </div>
-            <div class="row">
-                <div class="col-md-9" data-translate="metrics.jvm.gc.marksweeptime">Mark Sweep time</div>
-                <div class="col-md-3 text-right">{{vm.metrics.gauges['jvm.garbage.PS-MarkSweep.time'].value}}ms</div>
-            </div>
-            <div class="row">
-                <div class="col-md-9" data-translate="metrics.jvm.gc.scavengecount">Scavenge count</div>
-                <div class="col-md-3 text-right">{{vm.metrics.gauges['jvm.garbage.PS-Scavenge.count'].value}}</div>
-            </div>
-            <div class="row">
-                <div class="col-md-9" data-translate="metrics.jvm.gc.scavengetime">Scavenge time</div>
-                <div class="col-md-3 text-right">{{vm.metrics.gauges['jvm.garbage.PS-Scavenge.time'].value}}ms</div>
-            </div>
-        </div>
-    </div>
-    <div class="well well-lg" ng-show="vm.updatingMetrics" data-translate="metrics.updating">Updating...</div>
-
-    <h3 data-translate="metrics.jvm.http.title">HTTP requests (events per second)</h3>
-        <p><span data-translate="metrics.jvm.http.active">Active requests</span> <b>{{vm.metrics.counters['com.codahale.metrics.servlet.InstrumentedFilter.activeRequests'].count | number:0}}</b> - <span data-translate="metrics.jvm.http.total">Total requests</span> <b>{{vm.metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count | number:0}}</b></p>
-    <div class="table-responsive">
-        <table class="table table-striped">
-            <thead>
-            <tr>
-                <th data-translate="metrics.jvm.http.table.code">Code</th>
-                <th data-translate="metrics.jvm.http.table.count">Count</th>
-                <th class="text-right" data-translate="metrics.jvm.http.table.mean">Mean</th>
-                <th class="text-right"><span data-translate="metrics.jvm.http.table.average">Average</span> (1 min)</th>
-                <th class="text-right"><span data-translate="metrics.jvm.http.table.average">Average</span> (5 min)</th>
-                <th class="text-right"><span data-translate="metrics.jvm.http.table.average">Average</span> (15 min)</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr>
-                <td data-translate="metrics.jvm.http.code.ok">OK</td>
-                <td>
-                    <uib-progressbar min="0" max="vm.metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" value="vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].count" class="progress-striped active" type="success">
-                        <span>{{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].count}}</span>
-                    </uib-progressbar>
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].mean_rate | number:2}}
-                </td>
-                <td class="text-right">{{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m1_rate | number:2}}
-                </td>
-                <td class="text-right">{{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m5_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m15_rate | number:2}}
-                </td>
-            </tr>
-            <tr>
-                <td data-translate="metrics.jvm.http.code.notfound">Not Found</td>
-                <td>
-                    <uib-progressbar min="0" max="vm.metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" value="vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].count" class="progress-striped active" type="success">
-                        <span>{{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].count}}</span>
-                    </uib-progressbar>
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].mean_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m1_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m5_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m15_rate | number:2}}
-                </td>
-            </tr>
-            <tr>
-                <td data-translate="metrics.jvm.http.code.servererror">Server error</td>
-                <td>
-                    <uib-progressbar min="0" max="vm.metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" value="vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].count" class="progress-striped active" type="success">
-                        <span>{{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].count}}</span>
-                    </uib-progressbar>
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].mean_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m1_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m5_rate | number:2}}
-                </td>
-                <td class="text-right">
-                    {{vm.metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m15_rate | number:2}}
-                </td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <h3 data-translate="metrics.servicesstats.title">Services statistics (time in millisecond)</h3>
-    <div class="table-responsive">
-        <table class="table table-striped">
-            <thead>
-            <tr>
-                <th data-translate="metrics.servicesstats.table.name">Service name</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.count">Count</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.mean">Mean</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.min">Min</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.p50">p50</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.p75">p75</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.p95">p95</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.p99">p99</th>
-                <th class="text-right" data-translate="metrics.servicesstats.table.max">Max</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr ng-repeat="(k, v) in vm.servicesStats">
-                <td>{{k}}</td>
-                <td class="text-right">{{v.count}}</td>
-                <td class="text-right">{{v.mean * 1000 | number:0}}</td>
-                <td class="text-right">{{v.min * 1000 | number:0}}</td>
-                <td class="text-right">{{v.p50 * 1000 | number:0}}</td>
-                <td class="text-right">{{v.p75 * 1000 | number:0}}</td>
-                <td class="text-right">{{v.p95 * 1000 | number:0}}</td>
-                <td class="text-right">{{v.p99 * 1000 | number:0}}</td>
-                <td class="text-right">{{v.max * 1000 | number:0}}</td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-    <h3 data-translate="metrics.datasource.title" ng-show="vm.metrics.gauges['HikariPool-1.pool.TotalConnections'].value > 0">DataSource statistics (time in millisecond)</h3>
-    <div class="table-responsive" ng-show="vm.metrics.gauges['HikariPool-1.pool.TotalConnections'].value > 0">
-        <table class="table table-striped">
-            <thead>
-                <tr>
-                    <th><span data-translate="metrics.datasource.usage">Usage</span> ({{vm.metrics.gauges['HikariPool-1.pool.ActiveConnections'].value}} / {{vm.metrics.gauges['HikariPool-1.pool.TotalConnections'].value}})</th>
-                    <th class="text-right" data-translate="metrics.datasource.count">Count</th>
-                    <th class="text-right" data-translate="metrics.datasource.mean">Mean</th>
-                    <th class="text-right" data-translate="metrics.datasource.min">Min</th>
-                    <th class="text-right" data-translate="metrics.datasource.p50">p50</th>
-                    <th class="text-right" data-translate="metrics.datasource.p75">p75</th>
-                    <th class="text-right" data-translate="metrics.datasource.p95">p95</th>
-                    <th class="text-right" data-translate="metrics.datasource.p99">p99</th>
-                    <th class="text-right" data-translate="metrics.datasource.max">Max</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td>
-                        <div class="progress progress-striped">
-                            <uib-progressbar min="0" max="vm.metrics.gauges['HikariPool-1.pool.TotalConnections'].value" value="vm.metrics.gauges['HikariPool-1.pool.ActiveConnections'].value" class="progress-striped active" type="success">
-                                <span>{{vm.metrics.gauges['HikariPool-1.pool.ActiveConnections'].value * 100 / vm.metrics.gauges['HikariPool-1.pool.TotalConnections'].value  | number:0}}%</span>
-                            </uib-progressbar>
-                        </div>
-                    </td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].count}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].mean | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].min | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].p50 | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].p75 | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].p95 | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].p99 | number:2}}</td>
-                    <td class="text-right">{{vm.metrics.histograms['HikariPool-1.pool.Usage'].max | number:2}}</td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.controller.js
deleted file mode 100644
index 0befc1b44cd012ab355c6ba00f622e4b93038a6d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.controller.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiMetricsMonitoringModalController', JhiMetricsMonitoringModalController);
-
-    JhiMetricsMonitoringModalController.$inject = ['$uibModalInstance', 'threadDump'];
-
-    function JhiMetricsMonitoringModalController ($uibModalInstance, threadDump) {
-        var vm = this;
-
-        vm.cancel = cancel;
-        vm.getLabelClass = getLabelClass;
-        vm.threadDump = threadDump;
-        vm.threadDumpAll = 0;
-        vm.threadDumpBlocked = 0;
-        vm.threadDumpRunnable = 0;
-        vm.threadDumpTimedWaiting = 0;
-        vm.threadDumpWaiting = 0;
-
-        angular.forEach(threadDump, function(value) {
-            if (value.threadState === 'RUNNABLE') {
-                vm.threadDumpRunnable += 1;
-            } else if (value.threadState === 'WAITING') {
-                vm.threadDumpWaiting += 1;
-            } else if (value.threadState === 'TIMED_WAITING') {
-                vm.threadDumpTimedWaiting += 1;
-            } else if (value.threadState === 'BLOCKED') {
-                vm.threadDumpBlocked += 1;
-            }
-        });
-
-        vm.threadDumpAll = vm.threadDumpRunnable + vm.threadDumpWaiting +
-            vm.threadDumpTimedWaiting + vm.threadDumpBlocked;
-
-        function cancel () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function getLabelClass (threadState) {
-            if (threadState === 'RUNNABLE') {
-                return 'label-success';
-            } else if (threadState === 'WAITING') {
-                return 'label-info';
-            } else if (threadState === 'TIMED_WAITING') {
-                return 'label-warning';
-            } else if (threadState === 'BLOCKED') {
-                return 'label-danger';
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.html
deleted file mode 100644
index ebd7879d7df85abc75ce449f9a75bad41277d855..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.modal.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!-- Modal used to display the threads dump -->
-<div class="modal-header">
-    <button type="button" class="close" ng-click="vm.cancel()">&times;</button>
-    <h4 class="modal-title" data-translate="metrics.jvm.threads.dump.title">Threads dump</h4>
-</div>
-<div class="modal-body pad">
-    <span class="label label-primary" ng-click="threadDumpFilter = {}">All&nbsp;<span class="badge">{{vm.threadDumpAll}}</span></span>&nbsp;
-    <span class="label label-success" ng-click="threadDumpFilter = {threadState: 'RUNNABLE'}">Runnable&nbsp;<span class="badge">{{vm.threadDumpRunnable}}</span></span>&nbsp;
-    <span class="label label-info" ng-click="threadDumpFilter = {threadState: 'WAITING'}">Waiting&nbsp;<span class="badge">{{vm.threadDumpWaiting}}</span></span>&nbsp;
-    <span class="label label-warning" ng-click="threadDumpFilter = {threadState: 'TIMED_WAITING'}">Timed Waiting&nbsp;<span class="badge">{{vm.threadDumpTimedWaiting}}</span></span>&nbsp;
-    <span class="label label-danger" ng-click="threadDumpFilter = {threadState: 'BLOCKED'}">Blocked&nbsp;<span class="badge">{{vm.threadDumpBlocked}}</span></span>&nbsp;
-    <div class="voffset2">&nbsp;</div>
-    Filter
-    <input type="text" ng-model="threadDumpFilter" class="form-control">
-    <div class="row pad" ng-repeat="(k, v) in vm.threadDump | filter:threadDumpFilter">
-        <h5><span class="label" ng-class="vm.getLabelClass(v.threadState)">{{v.threadState}}</span>&nbsp;{{v.threadName}} (ID {{v.threadId}})
-            <a ng-click="show = !show">
-               <span ng-show="!show" data-translate="metrics.jvm.threads.dump.show">Show StackTrace</span>
-               <span ng-show="show" data-translate="metrics.jvm.threads.dump.hide">Hide StackTrace</span>
-            </a>
-        </h5>
-        <div class="well" ng-show="show">
-            <div ng-repeat="(stK, stV) in v.stackTrace">
-                {{stV.className}}.{{stV.methodName}}({{stV.fileName}}:{{stV.lineNumber}})
-                <span class="voffset1"></span>
-            </div>
-        </div>
-        <table class="table table-condensed">
-            <thead>
-                <tr>
-                    <th class="text-right" data-translate="metrics.jvm.threads.dump.blockedtime">Blocked Time</th>
-                    <th class="text-right" data-translate="metrics.jvm.threads.dump.blockedcount">Blocked Count</th>
-                    <th class="text-right" data-translate="metrics.jvm.threads.dump.waitedtime">Waited Time</th>
-                    <th class="text-right" data-translate="metrics.jvm.threads.dump.waitedcount">Waited Count</th>
-                    <th data-translate="metrics.jvm.threads.dump.lockname">Lock Name</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td>{{v.blockedTime}}</td>
-                    <td>{{v.blockedCount}}</td>
-                    <td>{{v.waitedTime}}</td>
-                    <td>{{v.waitedCount}}</td>
-                    <td>{{v.lockName}}</td>
-                </tr>
-            </tbody>
-        </table>
-
-    </div>
-</div>
-<div class="modal-footer">
-    <button type="button" class="btn btn-default  pull-left" data-dismiss="modal" ng-click="vm.cancel()">Done</button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.service.js
deleted file mode 100644
index 0b5e7fdb3d1f3fafc26b3dc0d90e6abd4d62d68b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.service.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('JhiMetricsService', JhiMetricsService);
-
-    JhiMetricsService.$inject = ['$rootScope', '$http'];
-
-    function JhiMetricsService ($rootScope, $http) {
-        var service = {
-            getMetrics: getMetrics,
-            threadDump: threadDump
-        };
-
-        return service;
-
-        function getMetrics () {
-            return $http.get('management/metrics').then(function (response) {
-                return response.data;
-            });
-        }
-
-        function threadDump () {
-            return $http.get('management/dump').then(function (response) {
-                return response.data;
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.state.js
deleted file mode 100644
index dcfdb7ca99a95a025a1c4ef385ae63c453259c82..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/metrics/metrics.state.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('jhi-metrics', {
-            parent: 'admin',
-            url: '/metrics',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'metrics.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/metrics/metrics.html',
-                    controller: 'JhiMetricsMonitoringController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('metrics');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.controller.js
deleted file mode 100644
index 7f61351dd83470202c231efa0577a1611c209493..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.controller.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiTrackerController', JhiTrackerController);
-
-    JhiTrackerController.$inject = ['$cookies', '$http', 'JhiTrackerService'];
-
-    function JhiTrackerController ($cookies, $http, JhiTrackerService) {
-        // This controller uses a Websocket connection to receive user activities in real-time.
-        var vm = this;
-
-        vm.activities = [];
-
-        JhiTrackerService.receive().then(null, null, function(activity) {
-            showActivity(activity);
-        });
-
-        function showActivity(activity) {
-            var existingActivity = false;
-            for (var index = 0; index < vm.activities.length; index++) {
-                if(vm.activities[index].sessionId === activity.sessionId) {
-                    existingActivity = true;
-                    if (activity.page === 'logout') {
-                        vm.activities.splice(index, 1);
-                    } else {
-                        vm.activities[index] = activity;
-                    }
-                }
-            }
-            if (!existingActivity && (activity.page !== 'logout')) {
-                vm.activities.push(activity);
-            }
-        }
-
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.html
deleted file mode 100644
index 1e146b4ed12ac46011ce5f46e305ba3c015a186e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<div>
-    <h2 data-translate="tracker.title">Real-time user activities</h2>
-
-    <div class="table-responsive">
-        <table class="table table-striped">
-            <thead>
-                <tr>
-                    <th data-translate="tracker.table.userlogin">User</th>
-                    <th data-translate="tracker.table.ipaddress">IP Address</th>
-                    <th data-translate="tracker.table.page">Current page</th>
-                    <th data-translate="tracker.table.time">Time</th>
-                    <th></th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr ng-repeat="activity in vm.activities">
-                    <td>{{activity.userLogin}}</td>
-                    <td>{{activity.ipAddress}}</td>
-                    <td>{{activity.page}}</td>
-                    <td>{{activity.time | date:'yyyy-MM-dd HH:mm:ss'}}</td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.service.js
deleted file mode 100644
index c1df5d4f45eafae375e224f686374707977574ea..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.service.js
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    /* globals SockJS, Stomp */
-
-    angular
-        .module('acsmiApp')
-        .factory('JhiTrackerService', JhiTrackerService);
-
-    JhiTrackerService.$inject = ['$rootScope', '$window', '$cookies', '$http', '$q', 'AuthServerProvider'];
-
-    function JhiTrackerService ($rootScope, $window, $cookies, $http, $q, AuthServerProvider) {
-        var stompClient = null;
-        var subscriber = null;
-        var listener = $q.defer();
-        var connected = $q.defer();
-        var alreadyConnectedOnce = false;
-
-        var service = {
-            connect: connect,
-            disconnect: disconnect,
-            receive: receive,
-            sendActivity: sendActivity,
-            subscribe: subscribe,
-            unsubscribe: unsubscribe
-        };
-
-        return service;
-
-        function connect () {
-            //building absolute path so that websocket doesn't fail when deploying with a context path
-            var loc = $window.location;
-            var url = '//' + loc.host + loc.pathname + 'websocket/tracker';
-            var authToken = AuthServerProvider.getToken();
-            if(authToken){
-                url += '?access_token=' + authToken;
-            }
-            var socket = new SockJS(url);
-            stompClient = Stomp.over(socket);
-            var stateChangeStart;
-            var headers = {};
-            stompClient.connect(headers, function() {
-                connected.resolve('success');
-                sendActivity();
-                if (!alreadyConnectedOnce) {
-                    stateChangeStart = $rootScope.$on('$stateChangeStart', function () {
-                        sendActivity();
-                    });
-                    alreadyConnectedOnce = true;
-                }
-            });
-            $rootScope.$on('$destroy', function () {
-                if(angular.isDefined(stateChangeStart) && stateChangeStart !== null){
-                    stateChangeStart();
-                }
-            });
-        }
-
-        function disconnect () {
-            if (stompClient !== null) {
-                stompClient.disconnect();
-                stompClient = null;
-            }
-        }
-
-        function receive () {
-            return listener.promise;
-        }
-
-        function sendActivity() {
-            if (stompClient !== null && stompClient.connected) {
-                stompClient
-                    .send('/topic/activity',
-                    {},
-                    angular.toJson({'page': $rootScope.toState.name}));
-            }
-        }
-
-        function subscribe () {
-            connected.promise.then(function() {
-                subscriber = stompClient.subscribe('/topic/tracker', function(data) {
-                    listener.notify(angular.fromJson(data.body));
-                });
-            }, null, null);
-        }
-
-        function unsubscribe () {
-            if (subscriber !== null) {
-                subscriber.unsubscribe();
-            }
-            listener = $q.defer();
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.state.js
deleted file mode 100644
index ff28d55bf8bfdbb29a40ba28771a7a4182ccd101..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/tracker/tracker.state.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('jhi-tracker', {
-            parent: 'admin',
-            url: '/tracker',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'tracker.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/tracker/tracker.html',
-                    controller: 'JhiTrackerController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('tracker');
-                    return $translate.refresh();
-                }]
-            },
-            onEnter: ['JhiTrackerService', function(JhiTrackerService) {
-                JhiTrackerService.subscribe();
-            }],
-            onExit: ['JhiTrackerService', function(JhiTrackerService) {
-                JhiTrackerService.unsubscribe();
-            }]
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.controller.js
deleted file mode 100644
index e43749a0d0849a5687152d0396ba02182a6733d5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.controller.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('UserManagementDeleteController', UserManagementDeleteController);
-
-    UserManagementDeleteController.$inject = ['$uibModalInstance', 'entity', 'User'];
-
-    function UserManagementDeleteController ($uibModalInstance, entity, User) {
-        var vm = this;
-
-        vm.user = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete (login) {
-            User.delete({login: login},
-                function () {
-                    $uibModalInstance.close(true);
-                });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.html
deleted file mode 100644
index c6af91e7586bf3e2202b8d8c3863288d9f6a3667..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-delete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="deleteForm" ng-submit="vm.confirmDelete(vm.user.login)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm delete operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="userManagement.delete.question" translate-values="{login: '{{vm.user.login}}'}">Are you sure you want to delete this User?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.delete">Delete</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.controller.js
deleted file mode 100644
index da55108c0365b0158fe0dd93d69563983eb3b853..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.controller.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('UserManagementDetailController', UserManagementDetailController);
-
-    UserManagementDetailController.$inject = ['$stateParams', 'User'];
-
-    function UserManagementDetailController($stateParams, User) {
-        var vm = this;
-
-        vm.load = load;
-        vm.user = {};
-
-        vm.load($stateParams.login);
-
-        function load(login) {
-            User.get({login: login}, function(result) {
-                vm.user = result;
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.html
deleted file mode 100644
index a9bd63c728deee8bc1de22d342f4587381ac7e90..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-detail.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<div>
-    <h2>
-        <span data-translate="userManagement.detail.title">User</span> [<b>{{vm.user.login}}</b>]
-    </h2>
-    <dl class="dl-horizontal jh-entity-details">
-        <dt><span data-translate="userManagement.login">Login</span></dt>
-        <dd>
-            <span>{{vm.user.login}}</span>
-            <span class="label label-danger" ng-show="!vm.user.activated"
-                  data-translate="userManagement.deactivated">Deactivated</span>
-            <span class="label label-success" ng-show="vm.user.activated"
-                  data-translate="userManagement.activated">Activated</span>
-        </dd>
-        <dt><span data-translate="userManagement.firstName">First Name</span></dt>
-        <dd>{{vm.user.firstName}}</dd>
-        <dt><span data-translate="userManagement.lastName">Last Name</span></dt>
-        <dd>{{vm.user.lastName}}</dd>
-        <dt><span data-translate="userManagement.email">Email</span></dt>
-        <dd>{{vm.user.email}}</dd>
-        <dt><span data-translate="userManagement.langKey">Lang Key</span></dt>
-        <dd>{{vm.user.langKey}}</dd>
-        <dt><span data-translate="userManagement.company">Company</span></dt>
-        <dd>{{vm.user.company}}</dd>
-        <dt><span data-translate="userManagement.usersgroup">Users group</span></dt>
-        <dd>{{vm.user.usersGroup}}</dd>
-        <dt><span data-translate="userManagement.usertype">User type</span></dt>
-        <dd>{{vm.user.userType}}</dd>
-        <dt><span data-translate="userManagement.creditcardtype">Credit card type</span></dt>
-        <dd>{{vm.user.creditCardType}}</dd>
-        <dt><span data-translate="userManagement.creditcard">Credit card</span></dt>
-        <dd>{{vm.user.creditCard}}</dd>
-        <dt><span data-translate="userManagement.contractreference">Contract reference</span></dt>
-        <dd>{{vm.user.contractReference}}</dd>
-        <dt><span data-translate="userManagement.ciforvat">CIF / VAT</span></dt>
-        <dd>{{vm.user.cifOrVat}}</dd>
-        <dt><span data-translate="userManagement.createdBy">Created By</span></dt>
-        <dd>{{vm.user.createdBy}}</dd>
-        <dt><span data-translate="userManagement.createdDate">Created Date</span></dt>
-        <dd>{{vm.user.createdDate | date:'medium' }}</dd>
-        <dt><span data-translate="userManagement.lastModifiedBy">Last Modified By</span></dt>
-        <dd>{{vm.user.lastModifiedBy}}</dd>
-        <dt><span data-translate="userManagement.lastModifiedDate">Last Modified Date</span></dt>
-        <dd>{{vm.user.lastModifiedDate | date:'medium'}}</dd>
-        <dt><span data-translate="userManagement.profiles">Profiles</span></dt>
-        <dd>
-            <ul class="list-unstyled">
-                <li ng-repeat="authority in vm.user.authorities">
-                    <span class="label label-info">{{authority}}</span>
-                </li>
-            </ul>
-        </dd>
-    </dl>
-    <button type="submit"
-            ui-sref="user-management"
-            class="btn btn-info">
-        <span class="glyphicon glyphicon-arrow-left"></span>&nbsp;<span data-translate="entity.action.back"> Back</span>
-    </button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.controller.js
deleted file mode 100644
index a4002d3babca7bb5b216488e53e002ee3471b392..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.controller.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('UserManagementDialogController',UserManagementDialogController);
-
-    UserManagementDialogController.$inject = ['$stateParams', '$uibModalInstance', 'entity', 'User', 'JhiLanguageService'];
-
-    function UserManagementDialogController ($stateParams, $uibModalInstance, entity, User, JhiLanguageService) {
-        var vm = this;
-
-        vm.authorities = [
-          'ROLE_USER', 'ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER',
-          'ROLE_CSP_EXTERNAL', 'ROLE_PA_OWNER', 'ROLE_PA_USER',
-          'ROLE_CB_OPERATOR', 'ROLE_CB_LAW'
-        ];
-        vm.clear = clear;
-        vm.languages = null;
-        vm.save = save;
-        vm.user = entity;
-
-
-        JhiLanguageService.getAll().then(function (languages) {
-            vm.languages = languages;
-        });
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function onSaveSuccess (result) {
-            vm.isSaving = false;
-            $uibModalInstance.close(result);
-        }
-
-        function onSaveError () {
-            vm.isSaving = false;
-        }
-
-        function save () {
-            if(vm.user.userType === "csp") {
-                vm.user.contractReference = null;
-                vm.user.creditCardType = null;
-                vm.user.creditCard = null;
-            } else if (vm.user.userType === "pa" && vm.user.creditOrContract === "contractreference") {
-                vm.user.creditCardType = null;
-                vm.user.creditCard = null;
-            } else if (vm.user.userType === "pa" && vm.user.creditOrContract === "creditcard") {
-                vm.user.contractReference = null;
-            }
-            vm.isSaving = true;
-            if (vm.user.id !== null) {
-                User.update(vm.user, onSaveSuccess, onSaveError);
-            } else {
-                User.save(vm.user, onSaveSuccess, onSaveError);
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.html
deleted file mode 100644
index 240dffcad315d3ec43c8806f00187da85e69e02e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management-dialog.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<form name="editForm" role="form" novalidate ng-submit="vm.save()" show-validation>
-
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" id="myUserLabel" data-translate="userManagement.home.createOrEditLabel">
-            Create or edit a User</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <div class="form-group">
-            <label data-translate="global.field.id">ID</label>
-            <input type="text" class="form-control" name="id"
-                   ng-model="vm.user.id" readonly>
-        </div>
-
-        <div class="form-group">
-            <label class="control-label" data-translate="userManagement.login">Login</label>
-            <input type="text" class="form-control" name="login"
-                   ng-model="vm.user.login" ng-required="vm.user.id == null" ng-minlength=1 ng-maxlength=50 ng-pattern="/^[_'.@A-Za-z0-9-]*$/">
-
-            <div ng-show="editForm.login.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.login.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.login.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="control-label" data-translate="userManagement.firstName">First Name</label>
-            <input type="text" class="form-control" name="firstName"
-                   ng-model="vm.user.firstName" ng-maxlength="50">
-
-            <div ng-show="editForm.firstName.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.firstName.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label data-translate="userManagement.lastName">Last Name</label>
-            <input type="text" class="form-control" name="lastName"
-                   ng-model="vm.user.lastName" ng-maxlength="50">
-
-            <div ng-show="editForm.lastName.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.lastName.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="control-label" data-translate="userManagement.email">Email</label>
-            <input type="email" class="form-control" name="email"
-                   ng-model="vm.user.email" required ng-maxlength="100">
-
-            <div ng-show="editForm.email.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.email.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.email.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="100">
-                    This field cannot be longer than 100 characters.
-                </p>
-				<p class="help-block"
-                   ng-show="editForm.email.$error.email" data-translate="global.messages.validate.email.invalid">
-                    Your email is invalid.
-                 </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label data-translate="userManagement.company">Company</label>
-            <input type="text" class="form-control" name="company"
-                   ng-model="vm.user.company" ng-maxlength="100">
-
-            <div ng-show="editForm.company.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.company.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="100">
-                    This field cannot be longer than 100 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label data-translate="userManagement.usersgroup">Users group</label>
-            <input type="text" class="form-control" name="usersGroup"
-                   ng-model="vm.user.usersGroup" ng-maxlength="50">
-
-            <div ng-show="editForm.usersGroup.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.usersGroup.$error.required" data-translate="entity.validation.required">
-                   Your users group is required.
-                </p>
-                <p class="help-block"
-                   ng-show="editForm.usersGroup.$error.maxlength" data-translate="global.messages.validate.usersgroup.maxlength">
-                   Your users group cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <label data-translate="userManagement.usertype">User type</label>
-        <div class="form-group">
-          <div class="radio">
-              <label>
-                  <input type="radio" name="userType" value="csp" ng-model="vm.user.userType" ng-required="true">
-                  Cloud Service Provider
-              </label>
-          </div>
-          <div class="radio">
-              <label>
-                  <input type="radio" name="userType" value="pa" ng-model="vm.user.userType" ng-required="true">
-                  Project Administration
-              </label>
-          </div>
-        </div>
-        <label data-translate="userManagement.creditorcontract" ng-if="vm.user.userType == 'pa'">Credit Card / Contract Reference</label>
-        <div class="form-group" ng-if="vm.user.userType == 'pa'">
-          <div class="radio">
-              <label>
-                  <input type="radio" name="creditOrContract" value="creditcard" ng-model="vm.user.creditOrContract" ng-required="true">
-                  Credit Card
-              </label>
-          </div>
-          <div class="radio">
-              <label>
-                  <input type="radio" name="creditOrContract" value="contractreference" ng-model="vm.user.creditOrContract" ng-required="true">
-                  Contract Reference
-              </label>
-          </div>
-        </div>
-        <div class="form-group" ng-if="vm.user.userType == 'pa' && vm.user.creditOrContract == 'creditcard'">
-            <label data-translate="userManagement.creditcardtype">Credit card type</label>
-            <select class="form-control" name="creditCardType" ng-model="vm.user.creditCardType"
-                    ng-controller="CreditCardController as creditcardVm"
-                    ng-options="code as (code | findCreditCardFromKey) for code in creditcardVm.cards" required>
-            </select>
-        </div>
-        <div class="form-group" ng-if="vm.user.userType == 'pa' && vm.user.creditOrContract == 'creditcard'">
-          <label data-translate="userManagement.creditcard">Credit card</label>
-          <input type="text" class="form-control" name="creditCard"
-                 ng-model="vm.user.creditCard" ng-minlength=13 ng-maxlength=16 ng-pattern="/^[0-9]{13,16}$/" required>
-
-          <div ng-show="editForm.creditCard.$invalid">
-              <p class="help-block"
-                     ng-show="editForm.creditCard.$error.required" data-translate="entity.validation.required">
-                  Your credit card number is required.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.creditCard.$error.creditcard" data-translate="global.messages.validate.creditcard.invalid">
-                  Your credit card number is invalid.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.creditCard.$error.minlength" data-translate="global.messages.validate.creditcard.minlength">
-                  Your credit card number must be at least 13 characters.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.creditCard.$error.maxlength" data-translate="global.messages.validate.creditcard.maxlength">
-                  Your credit card number cannot be longer than 16 characters.
-              </p>
-          </div>
-        </div>
-        <div class="form-group" ng-if="vm.user.userType == 'pa' && vm.user.creditOrContract == 'contractreference'">
-          <label class="control-label" for="contractReference" data-translate="userManagement.contractreference">Contract reference</label>
-          <input type="text" class="form-control" id="contractReference" name="contractReference" ng-model="vm.user.contractReference"
-                 ng-minlength=13 ng-maxlength=16 ng-pattern="/^[a-zA-Z0-9]{13,16}$/" required>
-          <div ng-show="editForm.contractReference.$invalid">
-              <p class="help-block"
-                     ng-show="editForm.contractReference.$error.required" data-translate="global.messages.validate.contractreference.required">
-                  Your contract reference number is required.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.contractReference.$error.contractreference" data-translate="global.messages.validate.contractreference.invalid">
-                  Your contract reference number is invalid.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.contractReference.$error.minlength" data-translate="global.messages.validate.contractreference.minlength">
-                  Your contract reference number must be at least 13 characters.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.contractReference.$error.maxlength" data-translate="global.messages.validate.contractreference.maxlength">
-                  Your contract reference number cannot be longer than 16 characters.
-              </p>
-          </div>
-        </div>
-        <div class="form-group">
-          <label data-translate="userManagement.ciforvat">CIF / VAT</label>
-          <input type="text" class="form-control" name="cifOrVat"
-              ng-model="vm.user.cifOrVat" ng-minlength=8 ng-maxlength=12 required>
-
-          <div ng-show="editForm.cifOrVat.$invalid">
-              <p class="help-block"
-                     ng-show="editForm.cifOrVat.$error.required" data-translate="entity.validation.required">
-                  Your number is required.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.cifOrVat.$error.minlength" data-translate="global.messages.validate.ciforvat.minlength">
-                  Your number is required to be at least 8 characters.
-              </p>
-              <p class="help-block"
-                     ng-show="editForm.cifOrVat.$error.maxlength" data-translate="global.messages.validate.ciforvat.maxlength">
-                  Your number cannot be longer than 12 characters.
-              </p>
-          </div>
-        </div>
-        <div class="form-group">
-            <label for="activated">
-                <input ng-disabled="vm.user.id === null" type="checkbox" id="activated" name="activated" ng-model="vm.user.activated">
-                <span data-translate="userManagement.activated">Activated</span>
-            </label>
-        </div>
-
-        <div class="form-group">
-            <label data-translate="userManagement.langKey">Lang Key</label>
-            <select class="form-control" name="langKey" ng-model="vm.user.langKey"
-                    ng-options="language as language for language in vm.languages track by language">
-            </select>
-        </div>
-
-        <div class="form-group">
-            <label data-translate="userManagement.profiles">Profiles</label>
-            <select class="form-control" multiple name="authority" ng-model="vm.user.authorities"
-                    ng-options="authority for authority in vm.authorities" required>
-            </select>
-        </div>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span
-            data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid || vm.isSaving" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.save">Save</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.controller.js
deleted file mode 100644
index 67f4a3f2d45821ed24e9c5518c2355391a8f9874..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.controller.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('UserManagementController', UserManagementController);
-
-    UserManagementController.$inject = ['Principal', 'User', 'ParseLinks', 'AlertService', '$state', 'pagingParams', 'paginationConstants', 'JhiLanguageService'];
-
-    function UserManagementController(Principal, User, ParseLinks, AlertService, $state, pagingParams, paginationConstants, JhiLanguageService) {
-        var vm = this;
-
-        vm.authorities = [
-          'ROLE_USER', 'ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER',
-          'ROLE_CSP_EXTERNAL', 'ROLE_PA_OWNER', 'ROLE_PA_USER',
-          'ROLE_CB_OPERATOR', 'ROLE_CB_LAW'
-        ];
-        vm.currentAccount = null;
-        vm.languages = null;
-        vm.loadAll = loadAll;
-        vm.setActive = setActive;
-        vm.users = [];
-        vm.page = 1;
-        vm.totalItems = null;
-        vm.clear = clear;
-        vm.links = null;
-        vm.loadPage = loadPage;
-        vm.predicate = pagingParams.predicate;
-        vm.reverse = pagingParams.ascending;
-        vm.itemsPerPage = paginationConstants.itemsPerPage;
-        vm.transition = transition;
-
-        vm.loadAll();
-        JhiLanguageService.getAll().then(function (languages) {
-            vm.languages = languages;
-        });
-        Principal.identity().then(function(account) {
-            vm.currentAccount = account;
-        });
-
-        function setActive (user, isActivated) {
-            user.activated = isActivated;
-            User.update(user, function () {
-                vm.loadAll();
-                vm.clear();
-            });
-        }
-
-        function loadAll () {
-            User.query({
-                page: pagingParams.page - 1,
-                size: vm.itemsPerPage,
-                sort: sort()
-            }, onSuccess, onError);
-        }
-
-        function onSuccess(data, headers) {
-            vm.links = ParseLinks.parse(headers('link'));
-            vm.totalItems = headers('X-Total-Count');
-            vm.queryCount = vm.totalItems;
-            vm.page = pagingParams.page;
-            vm.users = data;
-        }
-
-        function onError(error) {
-            AlertService.error(error.data.message);
-        }
-
-        function clear () {
-            vm.user = {
-                id: null, login: null, firstName: null, lastName: null, email: null,
-                company: null, usersGroup:null, userType: null, creditCardType: null,
-                creditCard: null, cifOrVat: null, activated: true, langKey: null,
-                createdBy: null, createdDate: null, lastModifiedBy: null,
-                lastModifiedDate: null, resetDate: null, resetKey: null, authorities: null
-            };
-        }
-
-        function sort () {
-            var result = [vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc')];
-            if (vm.predicate !== 'id') {
-                result.push('id');
-            }
-            return result;
-        }
-
-        function loadPage (page) {
-            vm.page = page;
-            vm.transition();
-        }
-
-        function transition () {
-            $state.transitionTo($state.$current, {
-                page: vm.page,
-                sort: vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc'),
-                search: vm.currentSearch
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.html
deleted file mode 100644
index 9d8d25b77e417f4fd7582f7166df4500210bda53..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<div>
-    <h2 data-translate="userManagement.home.title">Users</h2>
-    <jhi-alert></jhi-alert>
-    <div class="row">
-      <div class="col-md-4">
-          <button class="btn btn-primary" ui-sref="user-management.new">
-              <span class="glyphicon glyphicon-flash"></span> <span data-translate="userManagement.home.createLabel">Create a new User</span>
-          </button>
-      </div>
-    </div>
-    <div class="table-responsive">
-        <table class="jh-table table table-striped">
-            <thead>
-            <tr jh-sort="vm.predicate" ascending="vm.reverse" callback="vm.transition()">
-                <th jh-sort-by="id"><span data-translate="global.field.id">ID</span><span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="login"><span data-translate="userManagement.login">Login</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="email"><span data-translate="userManagement.email">Email</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th></th>
-                <th jh-sort-by="langKey"> <span data-translate="userManagement.langKey">Lang Key</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="company"><span data-translate="userManagement.company">Company</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="usersGroup"><span data-translate="userManagement.usersgroup">Users group</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th><span data-translate="userManagement.profiles">Profiles</span></th>
-                <th jh-sort-by="createdDate"><span data-translate="userManagement.createdDate">Created Date</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="lastModifiedBy"><span data-translate="userManagement.lastModifiedBy">Last Modified By</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th jh-sort-by="lastModifiedDate"><span data-translate="userManagement.lastModifiedDate">Last Modified Date</span> <span class="glyphicon glyphicon-sort"></span></th>
-                <th></th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr ng-repeat="user in vm.users track by user.id">
-                <td><a ui-sref="user-management-detail({login:user.login})">{{user.id}}</a></td>
-                <td>{{user.login}}</td>
-                <td>{{user.email}}</td>
-                <td>
-                    <button class="btn btn-danger btn-xs" ng-click="vm.setActive(user, true)" ng-show="!user.activated"
-                            data-translate="userManagement.deactivated">Deactivated</button>
-                    <button class="btn btn-success btn-xs" ng-click="vm.setActive(user, false)" ng-show="user.activated"
-                            ng-disabled="vm.currentAccount.login==user.login" data-translate="userManagement.activated">Activated</button>
-                </td>
-                <td>{{user.langKey}}</td>
-                <td>{{user.company}}</td>
-                <td>{{user.usersGroup}}</td>
-                <td>
-                    <div ng-repeat="authority in user.authorities">
-                        <span class="label label-info">{{ authority }}</span>
-                    </div>
-                </td>
-                <td>{{user.createdDate | date:'medium'}}</td>
-                <td>{{user.lastModifiedBy}}</td>
-                <td>{{user.lastModifiedDate | date:'medium'}}</td>
-                <td class="text-right">
-                    <div class="btn-group flex-btn-group-container">
-                        <button type="submit"
-                                ui-sref="user-management-detail({login:user.login})"
-                                class="btn btn-info btn-sm">
-                            <span class="glyphicon glyphicon-eye-open"></span>
-                            <span class="hidden-xs hidden-sm" data-translate="entity.action.view"></span>
-                        </button>
-                        <button type="submit"
-                                ui-sref="user-management.edit({login:user.login})"
-                                class="btn btn-primary btn-sm">
-                            <span class="glyphicon glyphicon-pencil"></span>
-                            <span class="hidden-xs hidden-sm" data-translate="entity.action.edit"></span>
-                        </button>
-                        <button type="submit"
-                                ui-sref="user-management.delete({login:user.login})"
-                                class="btn btn-danger btn-sm" ng-disabled="vm.currentAccount.login==user.login">
-                            <span class="glyphicon glyphicon-remove-circle"></span>
-                            <span class="hidden-xs hidden-sm" data-translate="entity.action.delete"></span>
-                        </button>
-                    </div>
-                </td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-    <div class="text-center">
-        <jhi-item-count page="vm.page" total="vm.queryCount" items-per-page="vm.itemsPerPage"></jhi-item-count>
-        <uib-pagination class="pagination-sm" total-items="vm.totalItems" ng-model="vm.page" ng-change="vm.transition()"></uib-pagination>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.state.js
deleted file mode 100644
index ed8c2e2deeded9003185910637da089976af843d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/admin/user-management/user-management.state.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('user-management', {
-            parent: 'admin',
-            url: '/user-management?page&sort',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'userManagement.home.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/user-management/user-management.html',
-                    controller: 'UserManagementController',
-                    controllerAs: 'vm'
-                }
-            },            params: {
-                page: {
-                    value: '1',
-                    squash: true
-                },
-                sort: {
-                    value: 'id,asc',
-                    squash: true
-                }
-            },
-            resolve: {
-                pagingParams: ['$stateParams', 'PaginationUtil', function ($stateParams, PaginationUtil) {
-                    return {
-                        page: PaginationUtil.parsePage($stateParams.page),
-                        sort: $stateParams.sort,
-                        predicate: PaginationUtil.parsePredicate($stateParams.sort),
-                        ascending: PaginationUtil.parseAscending($stateParams.sort)
-                    };
-                }],
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('user-management');
-                    return $translate.refresh();
-                }]
-
-            }        })
-        .state('user-management.new', {
-            url: '/new',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/admin/user-management/user-management-dialog.html',
-                    controller: 'UserManagementDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: function () {
-                            return {
-                                id: null, login: null, firstName: null, lastName: null, email: null,
-                                company: null, usersGroup:null, userType: null, creditCardType: null,
-                                creditCard: null, cifOrVat: null, activated: true, langKey: null,
-                                createdBy: null, createdDate: null, lastModifiedBy: null,
-                                lastModifiedDate: null, resetDate: null, resetKey: null, authorities: null
-                            };
-                        }
-                    }
-                }).result.then(function() {
-                    $state.go('user-management', null, { reload: true });
-                }, function() {
-                    $state.go('user-management');
-                });
-            }]
-        })
-        .state('user-management.edit', {
-            url: '/{login}/edit',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/admin/user-management/user-management-dialog.html',
-                    controller: 'UserManagementDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['User', function(User) {
-                            return User.get({login : $stateParams.login});
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('user-management', null, { reload: true });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('user-management-detail', {
-            parent: 'user-management',
-            url: '/{login}',
-            data: {
-                authorities: ['ROLE_ADMIN'],
-                pageTitle: 'user-management.detail.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/admin/user-management/user-management-detail.html',
-                    controller: 'UserManagementDetailController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('user-management');
-                    return $translate.refresh();
-                }]
-            }
-        })
-        .state('user-management.delete', {
-            url: '/{login}/delete',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/admin/user-management/user-management-delete-dialog.html',
-                    controller: 'UserManagementDeleteController',
-                    controllerAs: 'vm',
-                    size: 'md',
-                    resolve: {
-                        entity: ['User', function(User) {
-                            return User.get({login : $stateParams.login});
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('user-management', null, { reload: true });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.constants.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.constants.js
deleted file mode 100644
index fc8e4c9b0c53c0054e314372566ba65f18fb3227..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.constants.js
+++ /dev/null
@@ -1,9 +0,0 @@
-(function () {
-    'use strict';
-    // DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE
-    angular
-        .module('acsmiApp')
-        .constant('VERSION', "1.0.0")
-        .constant('DEBUG_INFO_ENABLED', false)
-;
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.module.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.module.js
deleted file mode 100644
index bf3b1381ffb464b7eea38768ca94e8034471ee2e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.module.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp', [
-            'ngStorage',
-            'tmh.dynamicLocale',
-            'pascalprecht.translate',
-            'ngResource',
-            'ngCookies',
-            'ngAria',
-            'ngCacheBuster',
-            'ngFileUpload',
-            'ui.bootstrap',
-            'ui.bootstrap.datetimepicker',
-            'ui.router',
-            'infinite-scroll',
-            // jhipster-needle-angularjs-add-module JHipster will add new module here
-            'angular-loading-bar'
-        ])
-        .run(run);
-
-    run.$inject = ['stateHandler', 'translationHandler'];
-
-    function run(stateHandler, translationHandler) {
-        stateHandler.initialize();
-        translationHandler.initialize();
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.state.js
deleted file mode 100644
index ceea7ef372699cf0e851b118e1ec85b9d6137da0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/app.state.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('app', {
-            abstract: true,
-            views: {
-                'navbar@': {
-                    templateUrl: 'app/layouts/navbar/navbar.html',
-                    controller: 'NavbarController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                authorize: ['Auth',
-                    function (Auth) {
-                        return Auth.authorize();
-                    }
-                ],
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('global');
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/alert.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/alert.config.js
deleted file mode 100644
index 709668baa9329f6df8be6b0187f09281a00a308c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/alert.config.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(alertServiceConfig);
-
-    alertServiceConfig.$inject = ['AlertServiceProvider'];
-
-    function alertServiceConfig(AlertServiceProvider) {
-        // set below to true to make alerts look like toast
-        AlertServiceProvider.showAsToast(false);
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/compile.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/compile.config.js
deleted file mode 100644
index b53291eb4500d5e5d46abecce2bd2de17117a0dd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/compile.config.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(compileServiceConfig);
-
-    compileServiceConfig.$inject = ['$compileProvider','DEBUG_INFO_ENABLED'];
-
-    function compileServiceConfig($compileProvider,DEBUG_INFO_ENABLED) {
-        // disable debug data on prod profile to improve performance
-        $compileProvider.debugInfoEnabled(DEBUG_INFO_ENABLED);
-
-        /*
-        If you wish to debug an application with this information
-        then you should open up a debug console in the browser
-        then call this method directly in this console:
-
-		angular.reloadWithDebugInfo();
-		*/
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/http.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/http.config.js
deleted file mode 100644
index 78ffec619e9b08b2b3ada078ca6bb642a4ba60fd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/http.config.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(httpConfig);
-
-    httpConfig.$inject = ['$urlRouterProvider', '$httpProvider', 'httpRequestInterceptorCacheBusterProvider', '$urlMatcherFactoryProvider'];
-
-    function httpConfig($urlRouterProvider, $httpProvider, httpRequestInterceptorCacheBusterProvider, $urlMatcherFactoryProvider) {
-        //Cache everything except rest api requests
-        httpRequestInterceptorCacheBusterProvider.setMatchlist([/.*api.*/, /.*protected.*/], true);
-
-        $urlRouterProvider.otherwise('/');
-
-        $httpProvider.interceptors.push('errorHandlerInterceptor');
-        $httpProvider.interceptors.push('authExpiredInterceptor');
-        $httpProvider.interceptors.push('authInterceptor');
-        $httpProvider.interceptors.push('notificationInterceptor');
-        // jhipster-needle-angularjs-add-interceptor JHipster will add new application http interceptor here
-
-        $urlMatcherFactoryProvider.type('boolean', {
-            name : 'boolean',
-            decode: function(val) { return val === true || val === 'true'; },
-            encode: function(val) { return val ? 1 : 0; },
-            equals: function(a, b) { return this.is(a) && a === b; },
-            is: function(val) { return [true,false,0,1].indexOf(val) >= 0; },
-            pattern: /bool|true|0|1/
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/localstorage.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/localstorage.config.js
deleted file mode 100644
index cd3716b5097e214c6f35198b4ad7baf27e2c0a4d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/localstorage.config.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(localStorageConfig);
-
-    localStorageConfig.$inject = ['$localStorageProvider', '$sessionStorageProvider'];
-
-    function localStorageConfig($localStorageProvider, $sessionStorageProvider) {
-        $localStorageProvider.setKeyPrefix('jhi-');
-        $sessionStorageProvider.setKeyPrefix('jhi-');
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation-storage.provider.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation-storage.provider.js
deleted file mode 100644
index dc61552dc3886d4db2766478448ff6d22251d8e3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation-storage.provider.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('translationStorageProvider', translationStorageProvider);
-
-    translationStorageProvider.$inject = ['$cookies', '$log', 'LANGUAGES'];
-
-    function translationStorageProvider($cookies, $log, LANGUAGES) {
-        return {
-            get: get,
-            put: put
-        };
-
-        function get(name) {
-            if (LANGUAGES.indexOf($cookies.getObject(name)) === -1) {
-                $log.info('Resetting invalid cookie language "' + $cookies.getObject(name) + '" to preferred language "en"');
-                $cookies.putObject(name, 'en');
-            }
-            return $cookies.getObject(name);
-        }
-
-        function put(name, value) {
-            $cookies.putObject(name, value);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation.config.js
deleted file mode 100644
index a1f0103ab7053c95418cd0073fa0aaf9cc73d321..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/translation.config.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(translationConfig);
-
-    translationConfig.$inject = ['$translateProvider', 'tmhDynamicLocaleProvider'];
-
-    function translationConfig($translateProvider, tmhDynamicLocaleProvider) {
-        // Initialize angular-translate
-        $translateProvider.useLoader('$translatePartialLoader', {
-            urlTemplate: 'i18n/{lang}/{part}.json'
-        });
-
-        $translateProvider.preferredLanguage('en');
-        $translateProvider.useStorage('translationStorageProvider');
-        $translateProvider.useSanitizeValueStrategy('escaped');
-        $translateProvider.addInterpolation('$translateMessageFormatInterpolation');
-
-        tmhDynamicLocaleProvider.localeLocationPattern('i18n/angular-locale_{{locale}}.js');
-        tmhDynamicLocaleProvider.useCookieStorage();
-        tmhDynamicLocaleProvider.storageKey('NG_TRANSLATE_LANG_KEY');
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pager.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pager.config.js
deleted file mode 100644
index c1a7406c3ad64e5a1b1dbc275a518a5c113f666b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pager.config.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(pagerConfig);
-
-    pagerConfig.$inject = ['uibPagerConfig', 'paginationConstants'];
-
-    function pagerConfig(uibPagerConfig, paginationConstants) {
-        uibPagerConfig.itemsPerPage = paginationConstants.itemsPerPage;
-        uibPagerConfig.previousText = '«';
-        uibPagerConfig.nextText = '»';
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pagination.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pagination.config.js
deleted file mode 100644
index 4dfb9cd29c2351ef04e16e6a5296e14c0dc405d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/config/uib-pagination.config.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(paginationConfig);
-
-    paginationConfig.$inject = ['uibPaginationConfig', 'paginationConstants'];
-
-    function paginationConfig(uibPaginationConfig, paginationConstants) {
-        uibPaginationConfig.itemsPerPage = paginationConstants.itemsPerPage;
-        uibPaginationConfig.maxSize = 5;
-        uibPaginationConfig.boundaryLinks = true;
-        uibPaginationConfig.firstText = '«';
-        uibPaginationConfig.previousText = '‹';
-        uibPaginationConfig.nextText = '›';
-        uibPaginationConfig.lastText = '»';
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/state.handler.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/state.handler.js
deleted file mode 100644
index db2a6feb405b92bd738c4b59bb8cff80dfcb06f4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/state.handler.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('stateHandler', stateHandler);
-
-    stateHandler.$inject = ['$rootScope', '$state', '$sessionStorage', '$translate', 'JhiLanguageService', 'translationHandler', '$window',
-        'Auth', 'Principal', 'VERSION'];
-
-    function stateHandler($rootScope, $state, $sessionStorage, $translate, JhiLanguageService, translationHandler, $window,
-        Auth, Principal, VERSION) {
-        return {
-            initialize: initialize
-        };
-
-        function initialize() {
-            $rootScope.VERSION = VERSION;
-
-            var stateChangeStart = $rootScope.$on('$stateChangeStart', function (event, toState, toStateParams, fromState) {
-                $rootScope.toState = toState;
-                $rootScope.toStateParams = toStateParams;
-                $rootScope.fromState = fromState;
-
-                // Redirect to a state with an external URL (http://stackoverflow.com/a/30221248/1098564)
-                if (toState.external) {
-                    event.preventDefault();
-                    $window.open(toState.url, '_self');
-                }
-
-                if (Principal.isIdentityResolved()) {
-                    Auth.authorize();
-                }
-
-                // Update the language
-                JhiLanguageService.getCurrent().then(function (language) {
-                    $translate.use(language);
-                });
-            });
-
-            var stateChangeSuccess = $rootScope.$on('$stateChangeSuccess',  function(event, toState, toParams, fromState, fromParams) {
-                var titleKey = 'global.title' ;
-
-                // Set the page title key to the one configured in state or use default one
-                if (toState.data.pageTitle) {
-                    titleKey = toState.data.pageTitle;
-                }
-                translationHandler.updateTitle(titleKey);
-            });
-
-            $rootScope.$on('$destroy', function () {
-                if(angular.isDefined(stateChangeStart) && stateChangeStart !== null){
-                    stateChangeStart();
-                }
-                if(angular.isDefined(stateChangeSuccess) && stateChangeSuccess !== null){
-                    stateChangeSuccess();
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/translation.handler.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/translation.handler.js
deleted file mode 100644
index 9c529f202638dbffbcbcadba73631b9e53535d5f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/handlers/translation.handler.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('translationHandler', translationHandler);
-
-    translationHandler.$inject = ['$rootScope', '$window', '$state', '$translate'];
-
-    function translationHandler($rootScope, $window, $state, $translate) {
-        return {
-            initialize: initialize,
-            updateTitle: updateTitle
-        };
-
-        function initialize() {
-            // if the current translation changes, update the window title
-            var translateChangeSuccess = $rootScope.$on('$translateChangeSuccess', function() {
-                updateTitle();
-            });
-
-            $rootScope.$on('$destroy', function () {
-                if(angular.isDefined(translateChangeSuccess) && translateChangeSuccess !== null){
-                    translateChangeSuccess();
-                }
-            });
-        }
-
-        // update the window title using params in the following
-        // precedence
-        // 1. titleKey parameter
-        // 2. $state.$current.data.pageTitle (current state page title)
-        // 3. 'global.title'
-        function updateTitle(titleKey) {
-            if (!titleKey && $state.$current.data && $state.$current.data.pageTitle) {
-                titleKey = $state.$current.data.pageTitle;
-            }
-            $translate(titleKey || 'global.title').then(function (title) {
-                $window.document.title = title;
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.js
deleted file mode 100644
index 7272e27935db4fee2f592188cac000daaf29af1d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('authExpiredInterceptor', authExpiredInterceptor);
-
-    authExpiredInterceptor.$inject = ['$rootScope', '$q', '$injector', '$localStorage', '$sessionStorage'];
-
-    function authExpiredInterceptor($rootScope, $q, $injector, $localStorage, $sessionStorage) {
-        var service = {
-            responseError: responseError
-        };
-
-        return service;
-
-        function responseError(response) {
-            if (response.status === 401) {
-                delete $localStorage.authenticationToken;
-                delete $sessionStorage.authenticationToken;
-                var Principal = $injector.get('Principal');
-                if (Principal.isAuthenticated()) {
-                    var Auth = $injector.get('Auth');
-                    Auth.authorize(true);
-                }
-            }
-            return $q.reject(response);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth.interceptor.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth.interceptor.js
deleted file mode 100644
index c8a6803b45f2b64458421edf31f6510b228d05a6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/auth.interceptor.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('authInterceptor', authInterceptor);
-
-    authInterceptor.$inject = ['$rootScope', '$q', '$location', '$localStorage', '$sessionStorage'];
-
-    function authInterceptor ($rootScope, $q, $location, $localStorage, $sessionStorage) {
-        var service = {
-            request: request
-        };
-
-        return service;
-
-        function request (config) {
-            /*jshint camelcase: false */
-            config.headers = config.headers || {};
-            var token = $localStorage.authenticationToken || $sessionStorage.authenticationToken;
-            if (token) {
-                config.headers.Authorization = 'Bearer ' + token;
-            }
-            return config;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.js
deleted file mode 100644
index d9a89f040778843daef80d7271ddbfc6c36b6815..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('errorHandlerInterceptor', errorHandlerInterceptor);
-
-    errorHandlerInterceptor.$inject = ['$q', '$rootScope'];
-
-    function errorHandlerInterceptor ($q, $rootScope) {
-        var service = {
-            responseError: responseError
-        };
-
-        return service;
-
-        function responseError (response) {
-            if (!(response.status === 401 && (response.data === '' || (response.data.path && response.data.path.indexOf('/api/account') === 0 )))) {
-                $rootScope.$emit('acsmiApp.httpError', response);
-            }
-            return $q.reject(response);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/notification.interceptor.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/notification.interceptor.js
deleted file mode 100644
index 2eb062dfb6b653b19aae6ca574a0046d28422850..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/blocks/interceptor/notification.interceptor.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('notificationInterceptor', notificationInterceptor);
-
-    notificationInterceptor.$inject = ['$q', 'AlertService'];
-
-    function notificationInterceptor ($q, AlertService) {
-        var service = {
-            response: response
-        };
-
-        return service;
-
-        function response (response) {
-            var headers = Object.keys(response.headers()).filter(function (header) {
-                return header.indexOf('app-alert', header.length - 'app-alert'.length) !== -1 || header.indexOf('app-params', header.length - 'app-params'.length) !== -1;
-            }).sort();
-            var alertKey = response.headers(headers[0]);
-            if (angular.isString(alertKey)) {
-                AlertService.success(alertKey, { param : response.headers(headers[1])});
-            }
-            return response;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert-error.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert-error.directive.js
deleted file mode 100644
index 600d894dde443e0c12e67fb35a4a3578c48ae373..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert-error.directive.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    var jhiAlertError = {
-        template: '<div class="alerts" ng-cloak="" role="alert">' +
-                        '<div ng-repeat="alert in $ctrl.alerts" ng-class="[alert.position, {\'toast\': alert.toast}]">' +
-                            '<uib-alert ng-cloak="" type="{{alert.type}}" close="alert.close($ctrl.alerts)"><pre>{{ alert.msg }}</pre></uib-alert>' +
-                        '</div>' +
-                  '</div>',
-        controller: jhiAlertErrorController
-    };
-
-    angular
-        .module('acsmiApp')
-        .component('jhiAlertError', jhiAlertError);
-
-    jhiAlertErrorController.$inject = ['$scope', 'AlertService', '$rootScope', '$translate'];
-
-    function jhiAlertErrorController ($scope, AlertService, $rootScope, $translate) {
-        var vm = this;
-
-        vm.alerts = [];
-
-        function addErrorAlert (message, key, data) {
-            key = key ? key : message;
-            vm.alerts.push(
-                AlertService.add(
-                    {
-                        type: 'danger',
-                        msg: key,
-                        params: data,
-                        timeout: 5000,
-                        toast: AlertService.isToast(),
-                        scoped: true
-                    },
-                    vm.alerts
-                )
-            );
-        }
-
-        var cleanHttpErrorListener = $rootScope.$on('acsmiApp.httpError', function (event, httpResponse) {
-            var i;
-            event.stopPropagation();
-            switch (httpResponse.status) {
-            // connection refused, server not reachable
-            case 0:
-                addErrorAlert('Server not reachable','error.server.not.reachable');
-                break;
-
-            case 400:
-                var headers = Object.keys(httpResponse.headers()).filter(function (header) {
-                    return header.indexOf('app-error', header.length - 'app-error'.length) !== -1 || header.indexOf('app-params', header.length - 'app-params'.length) !== -1;
-                }).sort();
-                var errorHeader = httpResponse.headers(headers[0]);
-                var entityKey = httpResponse.headers(headers[1]);
-                if (errorHeader) {
-                    var entityName = $translate.instant('global.menu.entities.' + entityKey);
-                    addErrorAlert(errorHeader, errorHeader, {entityName: entityName});
-                } else if (httpResponse.data && httpResponse.data.fieldErrors) {
-                    for (i = 0; i < httpResponse.data.fieldErrors.length; i++) {
-                        var fieldError = httpResponse.data.fieldErrors[i];
-                        // convert 'something[14].other[4].id' to 'something[].other[].id' so translations can be written to it
-                        var convertedField = fieldError.field.replace(/\[\d*\]/g, '[]');
-                        var fieldName = $translate.instant('acsmiApp.' + fieldError.objectName + '.' + convertedField);
-                        addErrorAlert('Field ' + fieldName + ' cannot be empty', 'error.' + fieldError.message, {fieldName: fieldName});
-                    }
-                } else if (httpResponse.data && httpResponse.data.message) {
-                    addErrorAlert(httpResponse.data.message, httpResponse.data.message, httpResponse.data);
-                } else {
-                    addErrorAlert(httpResponse.data);
-                }
-                break;
-
-            case 404:
-                addErrorAlert('Not found','error.url.not.found');
-                break;
-
-            default:
-                if (httpResponse.data && httpResponse.data.message) {
-                    addErrorAlert(httpResponse.data.message);
-                } else {
-                    addErrorAlert(angular.toJson(httpResponse));
-                }
-            }
-        });
-
-        $scope.$on('$destroy', function () {
-            if(angular.isDefined(cleanHttpErrorListener) && cleanHttpErrorListener !== null){
-                cleanHttpErrorListener();
-                vm.alerts = [];
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.directive.js
deleted file mode 100644
index c9268f940fa60044877096a6d9c754fcb3d06e60..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.directive.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    var jhiAlert = {
-        template: '<div class="alerts" ng-cloak="" role="alert">' +
-                        '<div ng-repeat="alert in $ctrl.alerts" ng-class="[alert.position, {\'toast\': alert.toast}]">' +
-                            '<uib-alert ng-cloak="" type="{{alert.type}}" close="alert.close($ctrl.alerts)"><pre ng-bind-html="alert.msg"></pre></uib-alert>' +
-                        '</div>' +
-                  '</div>',
-        controller: jhiAlertController
-    };
-
-    angular
-        .module('acsmiApp')
-        .component('jhiAlert', jhiAlert);
-
-    jhiAlertController.$inject = ['$scope', 'AlertService'];
-
-    function jhiAlertController($scope, AlertService) {
-        var vm = this;
-
-        vm.alerts = AlertService.get();
-        $scope.$on('$destroy', function () {
-            vm.alerts = [];
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.service.js
deleted file mode 100644
index e6c22d46b011e37f43756b547e37614660e9d14c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/alert/alert.service.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .provider('AlertService', AlertService);
-
-    function AlertService () {
-        this.toast = false;
-        /*jshint validthis: true */
-        this.$get = getService;
-
-        this.showAsToast = function(isToast) {
-            this.toast = isToast;
-        };
-
-        getService.$inject = ['$timeout', '$sce', '$translate'];
-
-        function getService ($timeout, $sce,$translate) {
-            var toast = this.toast,
-                alertId = 0, // unique id for each alert. Starts from 0.
-                alerts = [],
-                timeout = 5000; // default timeout
-
-            return {
-                factory: factory,
-                isToast: isToast,
-                add: addAlert,
-                closeAlert: closeAlert,
-                closeAlertByIndex: closeAlertByIndex,
-                clear: clear,
-                get: get,
-                success: success,
-                error: error,
-                info: info,
-                warning : warning
-            };
-
-            function isToast() {
-                return toast;
-            }
-
-            function clear() {
-                alerts = [];
-            }
-
-            function get() {
-                return alerts;
-            }
-
-            function success(msg, params, position) {
-                return this.add({
-                    type: 'success',
-                    msg: msg,
-                    params: params,
-                    timeout: timeout,
-                    toast: toast,
-                    position: position
-                });
-            }
-
-            function error(msg, params, position) {
-                return this.add({
-                    type: 'danger',
-                    msg: msg,
-                    params: params,
-                    timeout: timeout,
-                    toast: toast,
-                    position: position
-                });
-            }
-
-            function warning(msg, params, position) {
-                return this.add({
-                    type: 'warning',
-                    msg: msg,
-                    params: params,
-                    timeout: timeout,
-                    toast: toast,
-                    position: position
-                });
-            }
-
-            function info(msg, params, position) {
-                return this.add({
-                    type: 'info',
-                    msg: msg,
-                    params: params,
-                    timeout: timeout,
-                    toast: toast,
-                    position: position
-                });
-            }
-
-            function factory(alertOptions) {
-                var alert = {
-                    type: alertOptions.type,
-                    msg: $sce.trustAsHtml(alertOptions.msg),
-                    id: alertOptions.alertId,
-                    timeout: alertOptions.timeout,
-                    toast: alertOptions.toast,
-                    position: alertOptions.position ? alertOptions.position : 'top right',
-                    scoped: alertOptions.scoped,
-                    close: function (alerts) {
-                        return closeAlert(this.id, alerts);
-                    }
-                };
-                if(!alert.scoped) {
-                    alerts.push(alert);
-                }
-                return alert;
-            }
-
-            function addAlert(alertOptions, extAlerts) {
-                alertOptions.alertId = alertId++;
-                alertOptions.msg = $translate.instant(alertOptions.msg, alertOptions.params);
-                var that = this;
-                var alert = this.factory(alertOptions);
-                if (alertOptions.timeout && alertOptions.timeout > 0) {
-                    $timeout(function () {
-                        that.closeAlert(alertOptions.alertId, extAlerts);
-                    }, alertOptions.timeout);
-                }
-                return alert;
-            }
-
-            function closeAlert(id, extAlerts) {
-                var thisAlerts = extAlerts ? extAlerts : alerts;
-                return closeAlertByIndex(thisAlerts.map(function(e) { return e.id; }).indexOf(id), thisAlerts);
-            }
-
-            function closeAlertByIndex(index, thisAlerts) {
-                return thisAlerts.splice(index, 1);
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/maxbytes.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/maxbytes.directive.js
deleted file mode 100644
index f54df790dbe67abcec244cb04d5b1fa8779f3606..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/maxbytes.directive.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('maxbytes', maxbytes);
-
-    function maxbytes () {
-        var directive = {
-            restrict: 'A',
-            require: '?ngModel',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc (scope, element, attrs, ngModel) {
-            if (!ngModel) {
-                return;
-            }
-
-            ngModel.$validators.maxbytes = function (modelValue) {
-                return ngModel.$isEmpty(modelValue) || numberOfBytes(modelValue) <= attrs.maxbytes;
-            };
-        }
-
-        function endsWith(suffix, str) {
-            return str.indexOf(suffix, str.length - suffix.length) !== -1;
-        }
-
-        function paddingSize(base64String) {
-            if (endsWith('==', base64String)) {
-                return 2;
-            }
-            if (endsWith('=', base64String)) {
-                return 1;
-            }
-            return 0;
-        }
-
-        function numberOfBytes(base64String) {
-            return base64String.length / 4 * 3 - paddingSize(base64String);
-        }
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/minbytes.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/minbytes.directive.js
deleted file mode 100644
index 47c7eb1dd1afb0bf77921dac4e7a18d9b2120221..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/minbytes.directive.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('minbytes', minbytes);
-
-    function minbytes () {
-        var directive = {
-            restrict: 'A',
-            require: '?ngModel',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc (scope, element, attrs, ngModel) {
-            if (!ngModel) {
-                return;
-            }
-
-            ngModel.$validators.minbytes = function (modelValue) {
-                return ngModel.$isEmpty(modelValue) || numberOfBytes(modelValue) >= attrs.minbytes;
-            };
-        }
-
-        function endsWith(suffix, str) {
-            return str.indexOf(suffix, str.length - suffix.length) !== -1;
-        }
-
-        function paddingSize(base64String) {
-            if (endsWith('==', base64String)) {
-                return 2;
-            }
-            if (endsWith('=', base64String)) {
-                return 1;
-            }
-            return 0;
-        }
-
-        function numberOfBytes(base64String) {
-            return base64String.length / 4 * 3 - paddingSize(base64String);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/pagination.constants.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/pagination.constants.js
deleted file mode 100644
index 943617dfc04e73e48e44398de6f18df363080a7f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/pagination.constants.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .constant('paginationConstants', {
-            'itemsPerPage': 20
-        });
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/show-validation.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/show-validation.directive.js
deleted file mode 100644
index a14cd138e14c738b83ab3aa99519928ab4fbd6bc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/form/show-validation.directive.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('showValidation', showValidation);
-
-    function showValidation () {
-        var directive = {
-            restrict: 'A',
-            require: 'form',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc (scope, element, attrs, formCtrl) {
-            element.find('.form-group').each(function() {
-                var $formGroup = angular.element(this);
-                var $inputs = $formGroup.find('input[ng-model],textarea[ng-model],select[ng-model]');
-
-                if ($inputs.length > 0) {
-                    $inputs.each(function() {
-                        var $input = angular.element(this);
-                        var inputName = $input.attr('name');
-                        scope.$watch(function() {
-                            return formCtrl[inputName].$invalid && formCtrl[inputName].$dirty;
-                        }, function(isInvalid) {
-                            $formGroup.toggleClass('has-error', isInvalid);
-                        });
-                    });
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.constants.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.constants.js
deleted file mode 100644
index c23ec0bbe648a88f1c0bd91a5466e59500abed8d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.constants.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-
-        /*
-         Languages codes are ISO_639-1 codes, see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
-         They are written in English to avoid character encoding issues (not a perfect solution)
-         */
-        .constant('LANGUAGES', [
-            'en'
-            // jhipster-needle-i18n-language-constant - JHipster will add/remove languages in this array
-        ]
-    );
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.controller.js
deleted file mode 100644
index fc600e9bf2fbe1e43feec5d745f517d9531207d3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.controller.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('JhiLanguageController', JhiLanguageController);
-
-    JhiLanguageController.$inject = ['$translate', 'JhiLanguageService', 'tmhDynamicLocale'];
-
-    function JhiLanguageController ($translate, JhiLanguageService, tmhDynamicLocale) {
-        var vm = this;
-
-        vm.changeLanguage = changeLanguage;
-        vm.languages = null;
-
-        JhiLanguageService.getAll().then(function (languages) {
-            vm.languages = languages;
-        });
-
-        function changeLanguage (languageKey) {
-            $translate.use(languageKey);
-            tmhDynamicLocale.set(languageKey);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.filter.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.filter.js
deleted file mode 100644
index 39b265306094249ed01418e702a7db600e993244..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.filter.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .filter('findLanguageFromKey', findLanguageFromKey);
-
-    function findLanguageFromKey() {
-        return findLanguageFromKeyFilter;
-
-        function findLanguageFromKeyFilter(lang) {
-            return {
-                'ca': 'Català',
-                'cs': 'Český',
-                'da': 'Dansk',
-                'de': 'Deutsch',
-                'el': 'Ελληνικά',
-                'en': 'English',
-                'es': 'Español',
-                'et': 'Eesti',
-                'fr': 'Français',
-                'gl': 'Galego',
-                'hu': 'Magyar',
-                'hi': 'हिंदी',
-                'hy': 'Հայերեն',
-                'it': 'Italiano',
-                'ja': '日本語',
-                'ko': '한국어',
-                'mr': 'मराठी',
-                'nl': 'Nederlands',
-                'pl': 'Polski',
-                'pt-br': 'Português (Brasil)',
-                'pt-pt': 'Português',
-                'ro': 'Română',
-                'ru': 'Русский',
-                'sk': 'Slovenský',
-                'sr': 'Srpski',
-                'sv': 'Svenska',
-                'ta': 'தமிழ்',
-                'th': 'ไทย',
-                'tr': 'Türkçe',
-                'vi': 'Tiếng Việt',
-                'zh-cn': '中文(简体)',
-                'zh-tw': '繁體中文'
-            }[lang];
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.service.js
deleted file mode 100644
index b3a7f5b86df2b11b8aa9864d6099b10518916858..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/language/language.service.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('JhiLanguageService', JhiLanguageService);
-
-    JhiLanguageService.$inject = ['$q', '$http', '$translate', 'LANGUAGES'];
-
-    function JhiLanguageService ($q, $http, $translate, LANGUAGES) {
-        var service = {
-            getAll: getAll,
-            getCurrent: getCurrent
-        };
-
-        return service;
-
-        function getAll () {
-            var deferred = $q.defer();
-            deferred.resolve(LANGUAGES);
-            return deferred.promise;
-        }
-
-        function getCurrent () {
-            var deferred = $q.defer();
-            var language = $translate.storage().get('NG_TRANSLATE_LANG_KEY');
-
-            deferred.resolve(language);
-
-            return deferred.promise;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.controller.js
deleted file mode 100644
index 1259caa7a19d6ff9120187cd4fbca7d9a1394501..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.controller.js
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('LoginController', LoginController);
-
-    LoginController.$inject = ['$rootScope', '$state', '$timeout', 'Auth', '$uibModalInstance'];
-
-    function LoginController ($rootScope, $state, $timeout, Auth, $uibModalInstance) {
-        var vm = this;
-
-        vm.authenticationError = false;
-        vm.cancel = cancel;
-        vm.credentials = {};
-        vm.login = login;
-        vm.password = null;
-        vm.register = register;
-        vm.rememberMe = true;
-        vm.requestResetPassword = requestResetPassword;
-        vm.username = null;
-
-        $timeout(function (){angular.element('#username').focus();});
-
-        function cancel () {
-            vm.credentials = {
-                username: null,
-                password: null,
-                rememberMe: true
-            };
-            vm.authenticationError = false;
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function login (event) {
-            event.preventDefault();
-            Auth.login({
-                username: vm.username,
-                password: vm.password,
-                rememberMe: vm.rememberMe
-            }).then(function () {
-                vm.authenticationError = false;
-                $uibModalInstance.close();
-                if ($state.current.name === 'register' || $state.current.name === 'activate' ||
-                    $state.current.name === 'finishReset' || $state.current.name === 'requestReset') {
-                    $state.go('home');
-                }
-
-                $rootScope.$broadcast('authenticationSuccess');
-
-                // previousState was set in the authExpiredInterceptor before being redirected to login modal.
-                // since login is successful, go to stored previousState and clear previousState
-                if (Auth.getPreviousState()) {
-                    var previousState = Auth.getPreviousState();
-                    Auth.resetPreviousState();
-                    $state.go(previousState.name, previousState.params);
-                }
-            }).catch(function () {
-                vm.authenticationError = true;
-            });
-        }
-
-        function register () {
-            $uibModalInstance.dismiss('cancel');
-            $state.go('register');
-        }
-
-        function requestResetPassword () {
-            $uibModalInstance.dismiss('cancel');
-            $state.go('requestReset');
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.html
deleted file mode 100644
index 2339622612b7d717e34c8fc7230738b622e148c2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-            ng-click="vm.cancel()">&times;</button>
-    <h4 class="modal-title" data-translate="login.title">Sign in</h4>
-</div>
-<div class="modal-body">
-    <div class="row">
-        <div class="col-md-4 col-md-offset-4">
-            <h1 data-translate="login.title">Sign in</h1>
-        </div>
-        <div class="col-md-8 col-md-offset-2">
-            <div class="alert alert-danger" ng-show="vm.authenticationError" data-translate="login.messages.error.authentication">
-                <strong>Failed to sign in!</strong> Please check your credentials and try again.
-            </div>
-        </div>
-        <div class="col-md-8 col-md-offset-2">
-            <form class="form" role="form" ng-submit="vm.login($event)">
-                <div class="form-group">
-                    <label for="username" data-translate="global.form.username">Login</label>
-                    <input type="text" class="form-control" id="username" placeholder="{{'global.form.username.placeholder' | translate}}" ng-model="vm.username">
-                </div>
-                <div class="form-group">
-                    <label for="password" data-translate="login.form.password">Password</label>
-                    <input type="password" class="form-control" id="password" placeholder="{{'login.form.password.placeholder' | translate}}"
-                           ng-model="vm.password">
-                </div>
-                <div class="form-group">
-                    <label for="rememberMe">
-                        <input type="checkbox" id="rememberMe" ng-model="vm.rememberMe" checked>
-                        <span data-translate="login.form.rememberme">Remember me</span>
-                    </label>
-                </div>
-                <button type="submit" class="btn btn-primary" data-translate="login.form.button">Sign in</button>
-            </form>
-            <p></p>
-            <div class="alert alert-warning">
-                <a class="alert-link" href="" ng-click="vm.requestResetPassword()" data-translate="login.password.forgot">Did you forget your password?</a>
-            </div>
-            <div class="alert alert-warning" data-translate="global.messages.info.register" translate-compile>
-                You don't have an account yet? <a class="alert-link" href="" ng-click="vm.register()">Register a new account</a>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.service.js
deleted file mode 100644
index 15a9addd5931f26d3022a65d2888a004696dc994..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/login/login.service.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('LoginService', LoginService);
-
-    LoginService.$inject = ['$uibModal'];
-
-    function LoginService ($uibModal) {
-        var service = {
-            open: open
-        };
-
-        var modalInstance = null;
-        var resetModal = function () {
-            modalInstance = null;
-        };
-
-        return service;
-
-        function open () {
-            if (modalInstance !== null) return;
-            modalInstance = $uibModal.open({
-                animation: true,
-                templateUrl: 'app/components/login/login.html',
-                controller: 'LoginController',
-                controllerAs: 'vm',
-                resolve: {
-                    translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                        $translatePartialLoader.addPart('login');
-                        return $translate.refresh();
-                    }]
-                }
-            });
-            modalInstance.result.then(
-                resetModal,
-                resetModal
-            );
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.constants.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.constants.js
deleted file mode 100644
index d5e9b125190592689f7dcc69ad2da6d7f4435dca..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.constants.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .constant('CREDITCARDS', [
-            'visa',
-            'mastercard'
-        ]
-    );
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.controller.js
deleted file mode 100644
index 97d29a0453227e377cb5b80d2ca0570396e32e6d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.controller.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('CreditCardController', CreditCardController);
-
-    CreditCardController.$inject = ['CreditCardService'];
-
-    function CreditCardController (CreditCardService) {
-        var vm = this;
-
-        vm.cards = null;
-
-        CreditCardService.getAll().then(function (creditcards) {
-            vm.cards = creditcards;
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.filter.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.filter.js
deleted file mode 100644
index f7293962eb0be3c2ce4534adf899084125e2eb51..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.filter.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .filter('findCreditCardFromKey', findCreditCardFromKey);
-
-    function findCreditCardFromKey() {
-        return findCreditCardFromKeyFilter;
-
-        function findCreditCardFromKeyFilter(card) {
-            return {
-                'visa': 'VISA',
-                'mastercard': 'MasterCard'
-            }[card];
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.service.js
deleted file mode 100644
index 3e241e3eba9a9f3dace04ba1c471fa205c035fe5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/register/register-creditcard.service.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('CreditCardService', CreditCardService);
-
-    CreditCardService.$inject = ['$q', '$http', 'CREDITCARDS'];
-
-    function CreditCardService ($q, $http, CREDITCARDS) {
-        var service = {
-            getAll: getAll
-        };
-
-        return service;
-
-        function getAll () {
-            var deferred = $q.defer();
-            deferred.resolve(CREDITCARDS);
-            return deferred.promise;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/base64.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/base64.service.js
deleted file mode 100644
index d83d59e1fc2885e2cae2e0e89ff281620d566377..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/base64.service.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    /*jshint bitwise: false*/
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Base64', Base64);
-
-    function Base64 () {
-        var keyStr = 'ABCDEFGHIJKLMNOP' +
-            'QRSTUVWXYZabcdef' +
-            'ghijklmnopqrstuv' +
-            'wxyz0123456789+/' +
-            '=';
-
-        var service = {
-            decode : decode,
-            encode : encode
-        };
-
-        return service;
-
-        function encode (input) {
-            var output = '',
-                chr1, chr2, chr3,
-                enc1, enc2, enc3, enc4,
-                i = 0;
-
-            while (i < input.length) {
-                chr1 = input.charCodeAt(i++);
-                chr2 = input.charCodeAt(i++);
-                chr3 = input.charCodeAt(i++);
-
-                enc1 = chr1 >> 2;
-                enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
-                enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
-                enc4 = chr3 & 63;
-
-                if (isNaN(chr2)) {
-                    enc3 = enc4 = 64;
-                } else if (isNaN(chr3)) {
-                    enc4 = 64;
-                }
-
-                output = output +
-                    keyStr.charAt(enc1) +
-                    keyStr.charAt(enc2) +
-                    keyStr.charAt(enc3) +
-                    keyStr.charAt(enc4);
-            }
-
-            return output;
-        }
-
-        function decode (input) {
-            var output = '',
-                chr1, chr2, chr3,
-                enc1, enc2, enc3, enc4,
-                i = 0;
-
-            // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
-            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
-
-            while (i < input.length) {
-                enc1 = keyStr.indexOf(input.charAt(i++));
-                enc2 = keyStr.indexOf(input.charAt(i++));
-                enc3 = keyStr.indexOf(input.charAt(i++));
-                enc4 = keyStr.indexOf(input.charAt(i++));
-
-                chr1 = (enc1 << 2) | (enc2 >> 4);
-                chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
-                chr3 = ((enc3 & 3) << 6) | enc4;
-
-                output = output + String.fromCharCode(chr1);
-
-                if (enc3 !== 64) {
-                    output = output + String.fromCharCode(chr2);
-                }
-                if (enc4 !== 64) {
-                    output = output + String.fromCharCode(chr3);
-                }
-            }
-
-            return output;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/capitalize.filter.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/capitalize.filter.js
deleted file mode 100644
index efe9402b010689dbad5809a46ac414c7ad4c0e46..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/capitalize.filter.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .filter('capitalize', capitalize);
-
-    function capitalize() {
-        return capitalizeFilter;
-
-        function capitalizeFilter (input) {
-            if (input !== null) {
-                input = input.toLowerCase();
-                input = input.substring(0, 1).toUpperCase() + input.substring(1);
-            }
-            return input;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/data-util.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/data-util.service.js
deleted file mode 100644
index 7366cca411c53980c4600a3f484feb4bf9334a40..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/data-util.service.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('DataUtils', DataUtils);
-
-    DataUtils.$inject = ['$window'];
-
-    function DataUtils ($window) {
-
-        var service = {
-            abbreviate: abbreviate,
-            byteSize: byteSize,
-            openFile: openFile,
-            toBase64: toBase64
-        };
-
-        return service;
-
-        function abbreviate (text) {
-            if (!angular.isString(text)) {
-                return '';
-            }
-            if (text.length < 30) {
-                return text;
-            }
-            return text ? (text.substring(0, 15) + '...' + text.slice(-10)) : '';
-        }
-
-        function byteSize (base64String) {
-            if (!angular.isString(base64String)) {
-                return '';
-            }
-
-            function endsWith(suffix, str) {
-                return str.indexOf(suffix, str.length - suffix.length) !== -1;
-            }
-
-            function paddingSize(base64String) {
-                if (endsWith('==', base64String)) {
-                    return 2;
-                }
-                if (endsWith('=', base64String)) {
-                    return 1;
-                }
-                return 0;
-            }
-
-            function size(base64String) {
-                return base64String.length / 4 * 3 - paddingSize(base64String);
-            }
-
-            function formatAsBytes(size) {
-                return size.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ') + ' bytes';
-            }
-
-            return formatAsBytes(size(base64String));
-        }
-
-        function openFile (type, data) {
-            $window.open('data:' + type + ';base64,' + data, '_blank', 'height=300,width=400');
-        }
-
-        function toBase64 (file, cb) {
-            var fileReader = new FileReader();
-            fileReader.readAsDataURL(file);
-            fileReader.onload = function (e) {
-                var base64Data = e.target.result.substr(e.target.result.indexOf('base64,') + 'base64,'.length);
-                cb(base64Data);
-            };
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/date-util.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/date-util.service.js
deleted file mode 100644
index 49f8475140866e520eccd030e83bc81c30db31be..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/date-util.service.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('DateUtils', DateUtils);
-
-    DateUtils.$inject = ['$filter'];
-
-    function DateUtils($filter) {
-
-        var service = {
-            convertDateTimeFromServer: convertDateTimeFromServer,
-            convertLocalDateFromServer: convertLocalDateFromServer,
-            convertLocalDateToServer: convertLocalDateToServer,
-            dateformat: dateformat
-        };
-
-        return service;
-
-        function convertDateTimeFromServer(date) {
-            if (date) {
-                return new Date(date);
-            } else {
-                return null;
-            }
-        }
-
-        function convertLocalDateFromServer(date) {
-            if (date) {
-                var dateString = date.split('-');
-                return new Date(dateString[0], dateString[1] - 1, dateString[2]);
-            }
-            return null;
-        }
-
-        function convertLocalDateToServer(date) {
-            if (date) {
-                return $filter('date')(date, 'yyyy-MM-dd');
-            } else {
-                return null;
-            }
-        }
-
-        function dateformat() {
-            return 'yyyy-MM-dd';
-        }
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/jhi-item-count.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/jhi-item-count.directive.js
deleted file mode 100644
index ae98dc774368e332e4dd4fcfa856957ab52800b8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/jhi-item-count.directive.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    var jhiItemCount = {
-        template: '<div class="info">' +
-                    'Showing {{(($ctrl.page - 1) * $ctrl.itemsPerPage) == 0 ? 1 : (($ctrl.page - 1) * $ctrl.itemsPerPage + 1)}} - ' +
-                    '{{($ctrl.page * $ctrl.itemsPerPage) < $ctrl.queryCount ? ($ctrl.page * $ctrl.itemsPerPage) : $ctrl.queryCount}} ' +
-                    'of {{$ctrl.queryCount}} items.' +
-                '</div>',
-        bindings: {
-            page: '<',
-            queryCount: '<total',
-            itemsPerPage: '<'
-        }
-    };
-
-    angular
-        .module('acsmiApp')
-        .component('jhiItemCount', jhiItemCount);
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/pagination-util.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/pagination-util.service.js
deleted file mode 100644
index a59c37ef0f8327956bd91d1858df9bf843b1a14b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/pagination-util.service.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('PaginationUtil', PaginationUtil);
-
-    function PaginationUtil () {
-
-        var service = {
-            parseAscending : parseAscending,
-            parsePage : parsePage,
-            parsePredicate : parsePredicate
-        };
-
-        return service;
-
-        function parseAscending (sort) {
-            var sortArray = sort.split(',');
-            if (sortArray.length > 1){
-                return sort.split(',').slice(-1)[0] === 'asc';
-            } else {
-                // default to true if no sort defined
-                return true;
-            }
-        }
-
-        // query params are strings, and need to be parsed
-        function parsePage (page) {
-            return parseInt(page);
-        }
-
-        // sort can be in the format `id,asc` or `id`
-        function parsePredicate (sort) {
-            var sortArray = sort.split(',');
-            if (sortArray.length > 1){
-                sortArray.pop();
-            }
-            return sortArray.join(',');
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/parse-links.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/parse-links.service.js
deleted file mode 100644
index 774255441588cc8459877d71fe3ed16be483d567..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/parse-links.service.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function(){
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('ParseLinks', ParseLinks);
-
-    function ParseLinks () {
-
-        var service = {
-            parse : parse
-        };
-
-        return service;
-
-        function parse(header) {
-            if (header.length === 0) {
-                throw new Error('input must not be of zero length');
-            }
-
-            // Split parts by comma
-            var parts = header.split(',');
-            var links = {};
-            // Parse each part into a named link
-            angular.forEach(parts, function(p) {
-                var section = p.split('>;');
-                if (section.length !== 2) {
-                    throw new Error('section could not be split on ">;"');
-                }
-                var url = section[0].replace(/<(.*)/, '$1').trim();
-                var queryString = {};
-                url.replace(
-                    new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
-                    function($0, $1, $2, $3) { queryString[$1] = $3; }
-                );
-                var page = queryString.page;
-                if (angular.isString(page)) {
-                    page = parseInt(page);
-                }
-                var name = section[1].replace(/rel="(.*)"/, '$1').trim();
-                links[name] = page;
-            });
-            return links;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort-by.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort-by.directive.js
deleted file mode 100644
index 17e042c9f88dca0f47811df89e38b6e570f190d1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort-by.directive.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('jhSortBy', jhSortBy);
-
-    function jhSortBy() {
-        var directive = {
-            restrict: 'A',
-            scope: false,
-            require: '^jhSort',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc(scope, element, attrs, parentCtrl) {
-            element.bind('click', function () {
-                parentCtrl.sort(attrs.jhSortBy);
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort.directive.js
deleted file mode 100644
index 0585c84cf860daa0902e204547f3a697225cce48..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/sort.directive.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('jhSort', jhSort);
-
-    function jhSort () {
-        var directive = {
-            restrict: 'A',
-            scope: {
-                predicate: '=jhSort',
-                ascending: '=',
-                callback: '&'
-            },
-            controller: SortController,
-            controllerAs: 'vm',
-            bindToController: true
-        };
-
-        return directive;
-    }
-
-    SortController.$inject = ['$scope', '$element'];
-
-    function SortController ($scope, $element) {
-        var vm = this;
-
-        vm.applyClass = applyClass;
-        vm.resetClasses = resetClasses;
-        vm.sort = sort;
-        vm.triggerApply = triggerApply;
-
-        $scope.$watchGroup(['vm.predicate', 'vm.ascending'], vm.triggerApply);
-        vm.triggerApply();
-
-        function applyClass (element) {
-            var thisIcon = element.find('span.glyphicon'),
-                sortIcon = 'glyphicon-sort',
-                sortAsc = 'glyphicon-sort-by-attributes',
-                sortDesc = 'glyphicon-sort-by-attributes-alt',
-                remove = sortIcon + ' ' + sortDesc,
-                add = sortAsc;
-            if (!vm.ascending) {
-                remove = sortIcon + ' ' + sortAsc;
-                add = sortDesc;
-            }
-            vm.resetClasses();
-            thisIcon.removeClass(remove);
-            thisIcon.addClass(add);
-        }
-
-        function resetClasses () {
-            var allThIcons = $element.find('span.glyphicon'),
-                sortIcon = 'glyphicon-sort',
-                sortAsc = 'glyphicon-sort-by-attributes',
-                sortDesc = 'glyphicon-sort-by-attributes-alt';
-            allThIcons.removeClass(sortAsc + ' ' + sortDesc);
-            allThIcons.addClass(sortIcon);
-        }
-
-        function sort (field) {
-            if (field !== vm.predicate) {
-                vm.ascending = true;
-            } else {
-                vm.ascending = !vm.ascending;
-            }
-            vm.predicate = field;
-            $scope.$apply();
-            vm.callback();
-        }
-
-        function triggerApply (values)  {
-            vm.resetClasses();
-            if (values && values[0] !== '_score') {
-                vm.applyClass($element.find('th[jh-sort-by=\'' + values[0] + '\']'));
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-characters.filter.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-characters.filter.js
deleted file mode 100644
index a0d5c8530a081615c3e748ccebe34ec8bf4bce98..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-characters.filter.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .filter('characters', characters);
-
-    function characters () {
-        return charactersFilter;
-
-        function charactersFilter(input, chars, breakOnWord) {
-            if (isNaN(chars)) {
-                return input;
-            }
-            if (chars <= 0) {
-                return '';
-            }
-            if (input && input.length > chars) {
-                input = input.substring(0, chars);
-
-                if (!breakOnWord) {
-                    var lastspace = input.lastIndexOf(' ');
-                    // Get last space
-                    if (lastspace !== -1) {
-                        input = input.substr(0, lastspace);
-                    }
-                } else {
-                    while (input.charAt(input.length-1) === ' ') {
-                        input = input.substr(0, input.length - 1);
-                    }
-                }
-                return input + '...';
-            }
-            return input;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-words.filter.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-words.filter.js
deleted file mode 100644
index 49ff9bb633d0b272dd0409eb6634379c0df093eb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/components/util/truncate-words.filter.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .filter('words', words);
-
-    function words() {
-        return wordsFilter;
-
-        function wordsFilter(input, words) {
-            if (isNaN(words)) {
-                return input;
-            }
-            if (words <= 0) {
-                return '';
-            }
-            if (input) {
-                var inputWords = input.split(/\s+/);
-                if (inputWords.length > words) {
-                    input = inputWords.slice(0, words).join(' ') + '...';
-                }
-            }
-            return input;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/entity.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/entity.state.js
deleted file mode 100644
index 29420dc0c3f1659444afb2839eabf488bc13937e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/entity.state.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('entity', {
-            abstract: true,
-            parent: 'app'
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.service.js
deleted file mode 100644
index b07770a25004283f237f6028ad3b7c31387637ea..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.service.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    angular
-        .module('acsmiApp')
-        .factory('ServiceAttributeType', ServiceAttributeType);
-
-    ServiceAttributeType.$inject = ['$resource', 'DateUtils'];
-
-    function ServiceAttributeType($resource, DateUtils) {
-        var resourceUrl =  'acsmiservices/' + 'api/service-attribute-types/:id';
-
-        return $resource(resourceUrl, {}, {
-            'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    if (data) {
-                        data = angular.fromJson(data);
-                        data.deleteddate = DateUtils.convertDateTimeFromServer(data.deleteddate);
-                    }
-                    return data;
-                }
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.state.js
deleted file mode 100644
index 0dd7ccf0cea58574b60b110eae6a1af836b4354e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-type/service-attribute-type.state.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('service-attribute-types', {
-            parent: 'entity',
-            url: '/service-attribute-types',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            }
-        });
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.service.js
deleted file mode 100644
index 247c8359115dc03e4361923a32e280a57cf048ad..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.service.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    angular
-        .module('acsmiApp')
-        .factory('ServiceAttributeValue', ServiceAttributeValue);
-
-    ServiceAttributeValue.$inject = ['$resource', 'DateUtils'];
-
-    function ServiceAttributeValue($resource, DateUtils) {
-        var resourceUrl =  'acsmiservices/' + 'api/service-attribute-values/:id';
-
-        return $resource(resourceUrl, {}, {
-            'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    if (data) {
-                        data = angular.fromJson(data);
-                        data.deleteddate = DateUtils.convertDateTimeFromServer(data.deleteddate);
-                    }
-                    return data;
-                }
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.state.js
deleted file mode 100644
index cb2619d42575aa356e785acfc87bf9834888e593..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-attribute-value/service-attribute-value.state.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('service-attribute-values', {
-            parent: 'entity',
-            url: '/service-attribute-values',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            }
-        });
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.service.js
deleted file mode 100644
index ec9d6929ee183212d537b49dfd20ac6cf2e9fa78..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.service.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    angular
-        .module('acsmiApp')
-        .factory('ServiceClassTypicalAttribute', ServiceClassTypicalAttribute);
-
-    ServiceClassTypicalAttribute.$inject = ['$resource', 'DateUtils'];
-
-    function ServiceClassTypicalAttribute($resource, DateUtils) {
-        var resourceUrl =  'acsmiservices/' + 'api/service-class-typical-attributes/:id';
-
-        return $resource(resourceUrl, {}, {
-            'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    if (data) {
-                        data = angular.fromJson(data);
-                        data.deleteddate = DateUtils.convertDateTimeFromServer(data.deleteddate);
-                    }
-                    return data;
-                }
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.state.js
deleted file mode 100644
index 9c097d75c062ed88b0b20256edb6efc5a7c41391..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class-typical-attribute/service-class-typical-attribute.state.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('service-class-typical-attributes', {
-            parent: 'entity',
-            url: '/service-class-typical-attributes',
-            data: {
-                authorities: ['ROLE_ADMIN']
-            }
-        });
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.controller.js
deleted file mode 100644
index 408ee236c0bd47383b64ff8e9ef3042d861c10df..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.controller.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassDeleteController',ServiceClassDeleteController);
-
-    ServiceClassDeleteController.$inject = ['$scope', '$uibModalInstance', 'entity', 'ServiceClass'];
-
-    function ServiceClassDeleteController($scope, $uibModalInstance, entity, ServiceClass) {
-        var vm = this;
-
-        vm.serviceClass = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete(id) {
-        	ServiceClass.delete({id: vm.serviceClass.id, forcedelete: 'true'},
-        			onDeleteServiceClassSuccess, onDeleteServiceClassError);
-        } 
-        
-        // Función de éxito en borrado de clase de servicio
-        function onDeleteServiceClassSuccess(result) {
-        	$scope.$emit('acsmiApp:serviceClassDelete', result);
-            $uibModalInstance.close(result);
-        }
-        
-        
-        // Función de error en borrado de clase de servicio
-        function onDeleteServiceClassError() {
-        	$uibModalInstance.close(true);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.html
deleted file mode 100644
index c405bc342066d864606e1b53f4087d05566abc61..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-delete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="deleteForm" ng-submit="vm.confirmDelete(vm.serviceClass.id)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm delete operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.serviceClasses.delete.question" translate-values="{serviceclassname: '{{vm.serviceClass.serviceclassname}}'}">Are you sure you want to delete this Service Class?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="deleteForm.$invalid" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.delete">Delete</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.controller.js
deleted file mode 100644
index 2144bdcaa3b5655ae67bbcd817e85714d9dc91a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.controller.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassDetailController', ServiceClassDetailController);
-
-    ServiceClassDetailController.$inject = ['$scope', '$rootScope', '$stateParams', 'previousState', 'entity'];
-
-    function ServiceClassDetailController($scope, $rootScope, $stateParams, previousState, entity) {
-        var vm = this;
-
-        vm.serviceClass = entity;
-        vm.previousState = previousState.name;
-        
-        var unsubscribe = $rootScope.$on('acsmiApp:serviceClassUpdate', function(event, result) {
-            vm.serviceClass = result;
-        });
-        $scope.$on('$destroy', unsubscribe);
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.html
deleted file mode 100644
index b60ff41b75a4cab35e309749bfe27db01d750c18..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-detail.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-<div>
-    <h2>{{vm.serviceClass.serviceclassname}}</h2>
-    <hr>
-    <jhi-alert-error></jhi-alert-error>
-    <dl class="dl-horizontal jh-entity-details">
-        <dt><span data-translate="acsmiApp.serviceClasses.serviceclassname">Service class name</span></dt>
-        <dd>
-            <span ng-show="vm.serviceClass.deleteddate == null">{{vm.serviceClass.serviceclassname}}</span>
-            <span ng-show="vm.serviceClass.deleteddate != null" class="registry-deleted">{{vm.serviceClass.serviceclassname}}</span>
-        </dd>
-    </dl>
-
-    <button type="submit"
-            ui-sref="{{ vm.previousState }}"
-            class="btn btn-info">
-        <span class="glyphicon glyphicon-arrow-left"></span>&nbsp;<span data-translate="entity.action.back"> Back</span>
-    </button>
-
-    <button type="button" ui-sref="service-class-detail.edit({id:vm.serviceClass.id})" class="btn btn-primary">
-        <span class="glyphicon glyphicon-pencil"></span>
-        <span class="hidden-sm-down" data-translate="entity.action.edit"> Edit</span>
-    </button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.controller.js
deleted file mode 100644
index 20436293e494c763795233302907bf5a2f0c8431..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.controller.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassDialogController', ServiceClassDialogController);
-
-    ServiceClassDialogController.$inject = ['$timeout', '$scope', '$translate', '$http', '$stateParams', '$uibModalInstance', 'entity', 'ServiceClass'];
-
-    function ServiceClassDialogController ($timeout, $scope, $translate, $http, $stateParams, $uibModalInstance, entity, ServiceClass) {
-        var vm = this;
-
-        vm.serviceClass = entity;
-        vm.clear = clear;
-        vm.save = save;
-
-
-        $timeout(function (){
-            angular.element('.form-group:eq(1)>input').focus();
-        });
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        
-        // Función de guardado de clase de servicio (alta o modificación)
-        function save() {
-            if (vm.serviceClass.id != null) {
-                ServiceClass.update(vm.serviceClass, onSaveServiceClassSuccess, onSaveServiceClassError);
-            } else {
-            	vm.serviceClass.editable = true;
-            	ServiceClass.save(vm.serviceClass, onSaveServiceClassSuccess, onSaveServiceClassError);
-            }
-        }
-
-        
-        // Función de éxito en alta/modificación de clase de servicio
-        function onSaveServiceClassSuccess(result) {
-        	$scope.$emit('acsmiApp:serviceClassUpdate', result);
-            $uibModalInstance.close(result);
-        }
-        
-        
-        // Función de error en alta/modificación de clase de servicio
-        function onSaveServiceClassError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.html
deleted file mode 100644
index 8013dbb6381d51dc83f505c95f9bb79bc092bb64..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-dialog.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-<form name="editForm" role="form" novalidate ng-submit="vm.save()" show-validation>
-
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" id="myServiceTypeLabel" data-translate="acsmiApp.serviceClasses.home.createOrEditLabel">Create or edit a Service Class</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <div class="form-group">
-            <label class="control-label" data-translate="acsmiApp.serviceClasses.serviceclassname" for="field_serviceclassname">serviceclassname</label>
-            <input type="text" class="form-control" name="serviceclassname" id="field_serviceclassname"
-                    ng-model="vm.serviceClass.serviceclassname"
-                    required ng-maxlength="50"/>
-            <div ng-show="editForm.serviceclassname.$invalid">
-                <p class="help-block"
-                    ng-show="editForm.serviceclassname.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-                <p class="help-block"
-                    ng-show="editForm.serviceclassname.$error.maxlength" data-translate="entity.validation.maxlength" translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid || vm.isSaving" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.save">Save</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.controller.js
deleted file mode 100644
index eef923e9684e6002eaa38367e576a0fc99c419cc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.controller.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassReactivateDialogController', ServiceClassReactivateDialogController);
-
-    ServiceClassReactivateDialogController.$inject = ['$timeout', '$scope', '$stateParams', '$uibModalInstance', 'entity', 'ServiceClass'];
-
-    function ServiceClassReactivateDialogController ($timeout, $scope, $stateParams, $uibModalInstance, entity, ServiceClass) {
-        var vm = this;
-
-        vm.serviceClass = entity;
-        vm.clear = clear;
-        vm.save = save;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function save() {
-        	ServiceClass.update(vm.serviceClass, onUpdateServiceClassSuccess, onUpdateServiceClassError);
-        }
-
-        
-        // Función de éxito en reactivación de clase de servicio
-        function onUpdateServiceClassSuccess(result) {
-        	$scope.$emit('acsmiApp:serviceClassUpdate', result);
-            $uibModalInstance.close(result);
-        }
-
-        
-        // Función de error en reactivación de clase de servicio
-        function onUpdateServiceClassError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.html
deleted file mode 100644
index 9706756397dac319b1215e46d3aa91745e112da2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-reactivate-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="reactivateForm" role="form" ng-submit="vm.save()">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.reactivate.title">Confirm reactivate operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.serviceClasses.reactivate.question" translate-values="{serviceclassname: '{{vm.serviceClass.serviceclassname}}'}">Are you sure you want to reactivate this Service class?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid || vm.isSaving" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.reactivate">Reactivate</span>
-        </button>
-    </div>
-</form>
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.controller.js
deleted file mode 100644
index ba08da864bb461ba41d7a2f1c037659e5e8dd955..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.controller.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassSoftDeleteController', ServiceClassSoftDeleteController);
-
-    ServiceClassSoftDeleteController.$inject = ['$scope', '$uibModalInstance', 'entity', 'ServiceClass'];
-
-    function ServiceClassSoftDeleteController($scope, $uibModalInstance, entity, ServiceClass) {
-        var vm = this;
-
-        vm.serviceClass = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete (id) {
-        	// Marcar la clase de servicio como borrada
-        	ServiceClass.delete({id: id, forcedelete: 'false'},
-        			onDeleteServiceClassSuccess, onDeleteServiceClassError);
-        }
-        
-        
-        // Función de éxito en borrado clase de servicio
-        function onDeleteServiceClassSuccess(result) {
-        	$scope.$emit('acsmiApp:serviceClassDelete', result);
-            $uibModalInstance.close(result);
-        }
-        
-        
-        // Función de error en borrado de clase de servicio
-        function onDeleteServiceClassError () {
-        	$uibModalInstance.close(true);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.html
deleted file mode 100644
index 901e1d137577733e4e49e42385af284da65d0e55..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class-softdelete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="softDeleteForm" ng-submit="vm.confirmDelete(vm.serviceClass.id)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm erase operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.serviceClasses.softdelete.question" translate-values="{serviceclassname: '{{vm.serviceClass.serviceclassname}}'}">Are you sure you want to erase this Service class?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="deleteForm.$invalid" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.softdelete">Erase</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.controller.js
deleted file mode 100644
index b3f44b7ef05fd459545a89877c455df27983bf3f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.controller.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceClassController', ServiceClassController);
-
-    ServiceClassController.$inject = ['ServiceClass', 'Service'];
-
-    function ServiceClassController(ServiceClass, Service) {
-
-        var vm = this;
-
-        vm.serviceClasses = [];
-
-        loadAll();
-
-        function loadAll() {
-        	// Cargar lista de clases de servicio
-        	ServiceClass.query(function(result) {
-                vm.serviceClasses = result;
-                if (vm.serviceClasses != null && vm.serviceClasses.length > 0) {
-                	// Cargar lista de servicios
-                	Service.query({filter: ""}, function(resultServices) {
-                    	vm.services = resultServices;
-                    	if (vm.services != null && vm.services.length > 0) {
-                    		for (var i = 0;i < vm.serviceClasses.length;i++) {
-                    			for (var j = 0;j < vm.services.length;j++) {
-                    				if (vm.services[j].serviceclass.id == vm.serviceClasses[i].id) {
-                    					vm.serviceClasses[i].editable = false;
-                    				}
-                    			}
-                    		}
-                    	}
-                    });
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.service.js
deleted file mode 100644
index a291456a69e4507e37fab936e85cd5e3a02aa79d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.service.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    angular
-        .module('acsmiApp')
-        .factory('ServiceClass', ServiceClass);
-
-    ServiceClass.$inject = ['$resource', 'DateUtils'];
-
-    function ServiceClass($resource, DateUtils) {
-        var resourceUrl =  'acsmiservices/' + 'api/service-classes/:id';
-
-        return $resource(resourceUrl, {}, {
-            'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    if (data) {
-                        data = angular.fromJson(data);
-                        data.deleteddate = DateUtils.convertDateTimeFromServer(data.deleteddate);
-                    }
-                    return data;
-                }
-            },
-            'update': { method:'PUT' }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.state.js
deleted file mode 100644
index ef7520afaf16cf8310ebda8eb8d53e16bebee37f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-class.state.js
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('service-class', {
-            parent: 'entity',
-            url: '/service-class',
-            data: {
-            	authorities: ['ROLE_ADMIN'],
-                pageTitle: 'acsmiApp.serviceClesses.home.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/entities/service-class/service-classes.html',
-                    controller: 'ServiceClassController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('serviceClasses');
-                    $translatePartialLoader.addPart('global');
-                    return $translate.refresh();
-                }]
-            }
-        })
-        .state('service-class-detail', {
-            parent: 'service-class',
-            url: '/service-class/{id}',
-            data: {
-            	authorities: ['ROLE_ADMIN'],
-                pageTitle: 'acsmiApp.serviceClasses.detail.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/entities/service-class/service-class-detail.html',
-                    controller: 'ServiceClassDetailController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('serviceClasses');
-                    return $translate.refresh();
-                }],
-                entity: ['$stateParams', 'ServiceClass', function($stateParams, ServiceClass) {
-                    return ServiceClass.get({id : $stateParams.id}).$promise;
-                }],
-                previousState: ["$state", function ($state) {
-                    var currentStateData = {
-                        name: $state.current.name || 'service-class',
-                        params: $state.params,
-                        url: $state.href($state.current.name, $state.params)
-                    };
-                    return currentStateData;
-                }]
-            }
-        })
-        .state('service-class-detail.edit', {
-            parent: 'service-class-detail',
-            url: '/detail/edit',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-dialog.html',
-                    controller: 'ServiceClassDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['ServiceClass', function(ServiceClass) {
-                            return ServiceClass.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('^', {}, { reload: false });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service-class.new', {
-            parent: 'service-class',
-            url: '/new',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-dialog.html',
-                    controller: 'ServiceClassDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: function () {
-                            return {
-                            	serviceclassname: null,
-                            	editable: false,
-                                deleteddate: null,
-                                id: null
-                            };
-                        }
-                    }
-                }).result.then(function() {
-                    $state.go('service-class', null, { reload: 'service-class' });
-                }, function() {
-                    $state.go('service-class');
-                });
-            }]
-        })
-        .state('service-class.edit', {
-            parent: 'service-class',
-            url: '/{id}/edit',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-dialog.html',
-                    controller: 'ServiceClassDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['ServiceClass', function(ServiceClass) {
-                            return ServiceClass.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service-class', null, { reload: 'service-class' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service-class.reactivate', {
-            parent: 'service-class',
-            url: '/{id}/reactivate',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-reactivate-dialog.html',
-                    controller: 'ServiceClassReactivateDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['ServiceClass', function(ServiceClass) {
-                            return ServiceClass.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service-class', null, { reload: 'service-class' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service-class.softdelete', {
-            parent: 'service-class',
-            url: '/{id}/softdelete',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-softdelete-dialog.html',
-                    controller: 'ServiceClassSoftDeleteController',
-                    controllerAs: 'vm',
-                    size: 'md',
-                    resolve: {
-                        entity: ['ServiceClass', function(ServiceClass) {
-                            return ServiceClass.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service-class', null, { reload: 'service-class' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service-class.delete', {
-            parent: 'service-class',
-            url: '/{id}/delete',
-            data: {
-            	authorities: ['ROLE_ADMIN']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service-class/service-class-delete-dialog.html',
-                    controller: 'ServiceClassDeleteController',
-                    controllerAs: 'vm',
-                    size: 'md',
-                    resolve: {
-                        entity: ['ServiceClass', function(ServiceClass) {
-                            return ServiceClass.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service-class', null, { reload: 'service-class' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        });
-    }
-
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-classes.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-classes.html
deleted file mode 100644
index 57517aef4e98e8d730ed92300cf5de46556b42e5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service-class/service-classes.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<div>
-    <h2 data-translate="acsmiApp.serviceClasses.home.title">Service Classes</h2>
-    <jhi-alert></jhi-alert>
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-xs-4 no-padding-left">
-                <button class="btn btn-primary" ui-sref="service-class.new" >
-                    <span class="glyphicon glyphicon-plus"></span>
-                    <span  data-translate="acsmiApp.serviceClasses.home.createLabel">
-                        Create new Service Class
-                    </span>
-                </button>
-            </div>
-        </div>
-    </div>
-    <br/>
-    <div class="table-responsive">
-        <table class="jh-table table table-striped">
-            <thead>
-                <tr>
-                    <th><span data-translate="acsmiApp.serviceClasses.serviceclassname">Name</span></th>
-                    <th></th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr ng-repeat="serviceClass in vm.serviceClasses track by serviceClass.id">
-                    <td ng-show="serviceClass.deleteddate == null">
-                    	<a ui-sref="service-class-detail({id:serviceClass.id})">{{serviceClass.serviceclassname}}</a>
-                    </td>
-                    <td ng-show="serviceClass.deleteddate != null" class="registry-deleted">{{serviceClass.serviceclassname}}</td>
-                    <td class="text-right">
-                        <div class="btn-group flex-btn-group-container">
-                            <button type="submit"
-                                    ui-sref="service-class-detail({id:serviceClass.id})"
-                                    class="btn btn-info btn-sm">
-                                <span class="glyphicon glyphicon-eye-open"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.view"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service-class.edit({id:serviceClass.id})"
-                                    class="btn btn-primary btn-sm"
-                                    ng-show="serviceClass.deleteddate == null">
-                                <span class="glyphicon glyphicon-pencil"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.edit"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service-class.reactivate({id:serviceClass.id})"
-                                    class="btn btn-primary btn-sm"
-                                    ng-show="serviceClass.editable && serviceClass.deleteddate != null">
-                                <span class="glyphicon glyphicon-pencil"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.reactivate"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service-class.softdelete({id:serviceClass.id})"
-                                    class="btn btn-danger btn-sm"
-                                    ng-show="serviceClass.editable && serviceClass.deleteddate == null">
-                                <span class="glyphicon glyphicon-remove-circle"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.softdelete"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service-class.delete({id:serviceClass.id})"
-                                    class="btn btn-danger btn-sm"
-                                    ng-show="serviceClass.editable && serviceClass.deleteddate != null">
-                                <span class="glyphicon glyphicon-remove-circle"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.delete"></span>
-                            </button>
-                        </div>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.controller.js
deleted file mode 100644
index 46eb893bb5a60ec87548f35791ebd0752944f732..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.controller.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceDeleteController',ServiceDeleteController);
-
-    ServiceDeleteController.$inject = ['$uibModalInstance', 'entity', 'Service'];
-
-    function ServiceDeleteController($uibModalInstance, entity, Service) {
-        var vm = this;
-
-        vm.service = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete(id) {
-        	Service.delete({id: vm.service.id, forcedelete: 'true'}, onDeleteServiceSuccess, onDeleteServiceError);
-        }
-        
-        
-        // Función de éxito en borrado de servicio
-        function onDeleteServiceSuccess() {
-        	$uibModalInstance.close(true);
-        }
-        
-        
-        // Función de error en borrado de servicio
-        function onDeleteServiceError() {
-        	$uibModalInstance.close(true);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.html
deleted file mode 100644
index f613642709bcfc3b063e63ed71d580dac5b8f682..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-delete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="deleteForm" ng-submit="vm.confirmDelete(vm.service.id)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm erase operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.service.delete.question" translate-values="{servicename: '{{vm.service.servicename}}'}">Are you sure you want to delete this Service?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="deleteForm.$invalid" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.delete">Delete</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.controller.js
deleted file mode 100644
index d17758a7fe5a654cd4eead2fc2aac56f79e20ac9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.controller.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceDetailController', ServiceDetailController);
-
-    ServiceDetailController.$inject = ['$scope', '$rootScope', '$state', '$stateParams', 'previousState', 'entity', 'Service', 'ServiceAttributeType', 'ServiceAttributeValue'];
-
-    function ServiceDetailController($scope, $rootScope, $state, $stateParams, previousState, entity, Service, ServiceAttributeType, ServiceAttributeValue) {
-        var vm = this;
-
-        vm.service = entity;
-        vm.previousState = previousState.name;
-        vm.nextState = vm.previousState;
-        
-        if (vm.previousState == 'contract') {
-        	vm.nextState = 'contract';
-        }  
-        
-        loadAttributes();
-        
-        // Función de carga de los atributos del servicio
-        function loadAttributes() {
-        	// Obtener valores de los atributos
-        	vm.attributeValues = new Array();
-        	ServiceAttributeValue.query(function(resultValues) {
-        		if (resultValues != null && resultValues.length > 0) {
-        			for (var i = 0;i < resultValues.length;i++) {
-        				if (resultValues[i].serviceid == vm.service.id) {
-        					vm.attributeValues.push(resultValues[i]);
-        				}
-        			}
-        		}
-        		
-        		// Obtener tipos de atributos
-        		vm.attributeTypes = new Array();
-        		ServiceAttributeType.query(function(resultTypes) {
-        			if (resultTypes != null && resultTypes.length > 0) {
-        				vm.attributeTypes = resultTypes;
-        			}
-        			
-        			// Cargar array de atributos definitivo
-        			vm.attributes = new Array();
-        			if (vm.attributeTypes != null && vm.attributeTypes.length > 0 && vm.attributeValues != null && vm.attributeValues.length > 0) {
-        				for (var i = 0;i < vm.attributeValues.length;i++) {
-        					for (var j = 0;j < vm.attributeTypes.length;j++) {
-            					if (vm.attributeValues[i].serviceattributetypeid == vm.attributeTypes[j].id) {
-            						var attrValue = vm.attributeValues[i].serviceattributevalue;
-            						if (vm.attributeTypes[j].mandatoryenumeration) {
-            							var obj = JSON.parse(vm.attributeTypes[j].enumerationvalues);
-            							attrValue = obj[attrValue];
-            						}
-            						vm.attribute = {
-            	        				name: vm.attributeTypes[j].serviceattributetypename,
-            	        				value: attrValue
-            	        			};
-            						vm.attributes.push(vm.attribute);
-            						break;
-            					}
-            				}
-        				}
-        			}
-        		});
-        	});
-        }
-        
-        var unsubscribe = $rootScope.$on('acsmiApp:serviceUpdate', function(event, result) {
-            vm.service = result;
-            
-            
-        });
-        $scope.$on('$destroy', unsubscribe);
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.html
deleted file mode 100644
index 73066c8695e00db12e0e9580fa7605bd7b980710..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-detail.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-<div>
-    <h2>{{vm.service.servicename}}</h2>
-    <hr>
-    <jhi-alert-error></jhi-alert-error>
-    <dl class="dl-horizontal jh-entity-details">
-        <dt><span data-translate="acsmiApp.service.serviceName">Service Name</span></dt>
-        <dd>
-            <span ng-show="vm.service.deleteddate == null">{{vm.service.servicename}}</span>
-            <span ng-show="vm.service.deleteddate != null" class="registry-deleted">{{vm.service.servicename}}</span>
-        </dd>
-        <dt><span data-translate="acsmiApp.service.serviceClass">Service Class</span></dt>
-        <dd>
-            <span ng-show="vm.service.deleteddate == null">{{vm.service.serviceclass.serviceclassname}}</span>
-            <span ng-show="vm.service.deleteddate != null" class="registry-deleted">{{vm.service.serviceclass.serviceclassname}}</span>
-        </dd>
-
-        <div ng-repeat="attr in vm.attributes">
-        	<dt>
-        		<span>{{ attr.name }}</span>
-        	</dt>
-        	<dd>
-        		<span ng-show="vm.service.deleteddate == null">{{ attr.value }}</span>
-        		<span ng-show="vm.service.deleteddate != null" class="registry-deleted">{{attr.value }}</span>
-        	</dd>
-        	<hr>
-        </div>
-    </dl>
-
-    <button type="submit" ui-sref="{{ vm.nextState }}" class="btn btn-info">
-        <span class="glyphicon glyphicon-arrow-left"></span>
-        &nbsp;<span data-translate="entity.action.back"> Back</span>
-    </button>
-
-    <button type="button" ui-sref="service-detail.edit({id:vm.service.id})" class="btn btn-primary" ng-show="vm.service.deleteddate == null && vm.previousState != 'search-results'">
-        <span class="glyphicon glyphicon-pencil"></span>
-        <span class="hidden-sm-down" data-translate="entity.action.edit"> Edit</span>
-    </button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.controller.js
deleted file mode 100644
index 8b66e4cf4aa6e3041ae93b0c088ceefee774a3fc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.controller.js
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceDialogController', ServiceDialogController);
-
-    ServiceDialogController.$inject = ['$timeout', '$scope', '$translate', '$http', '$stateParams', '$uibModalInstance', 'entity', 'Service', 'ServiceClass', 'ServiceAttributeType', 'ServiceClassTypicalAttribute', 'ServiceAttributeValue'];
-
-    function ServiceDialogController($timeout, $scope, $translate, $http, $stateParams, $uibModalInstance, entity, Service, ServiceClass, ServiceAttributeType, ServiceClassTypicalAttribute, ServiceAttributeValue) {
-    	var vm = this;
-
-        vm.service = entity;
-        vm.clear = clear;
-        vm.save = save;
-        
-        loadServiceClasses();
-        
-        // Cargar lista de clases de servicio
-        function loadServiceClasses() {
-        	ServiceClass.query(function(result) {
-        		vm.serviceClasses = result;
-        	});
-        }
-        
-        // Carga la lista de atributos
-        $scope.loadAttributes = function() {
-        	vm.aditionalAttribute = {
-        		key: 0,
-                name: "",
-                value: "",
-                mandatoryenumeration: false,
-                enumerationvalues: null,
-                text: ""
-            };
-        	vm.arraySelectedAttributes = new Array();
-        	vm.arrayTypicalAttributeValues = null;
-        	
-        	// Cargar atributos
-        	ServiceClassTypicalAttribute.query(function(resultTypical) {
-        		vm.arrayTypicalAttributes = new Array();
-        		if (resultTypical != null && resultTypical.length > 0) {
-        			// Cargar lista de tipos de atributos
-        			ServiceAttributeType.query(function(resultAttr) {
-        				vm.serviceAttributeTypes = resultAttr;
-        				if (vm.serviceAttributeTypes != null && vm.serviceAttributeTypes.length > 0) {
-        					// Cargar lista de atributos típicos de la clase de servicio seleccionada
-        					for (var i = 0;i < resultTypical.length;i++) {
-        	        			if (vm.service.serviceclass.id == resultTypical[i].serviceclassid) {
-        	        				for (var j = 0;j < vm.serviceAttributeTypes.length;j++) {
-        	        					if (resultTypical[i].serviceattributetypeid == vm.serviceAttributeTypes[j].id) {
-        	        						resultTypical[i].attributename = vm.serviceAttributeTypes[j].serviceattributetypename;
-        	        						resultTypical[i].mandatoryenumeration = vm.serviceAttributeTypes[j].mandatoryenumeration;
-        	        						var obj = JSON.parse(vm.serviceAttributeTypes[j].enumerationvalues);
-        	        						var arrayEnumerationValues = new Array();
-        	        						for (var clave in obj) {
-        	        							if (obj.hasOwnProperty(clave)) {
-	        	        							var element = {
-	        	        								key: clave,
-	        	        								value: obj[clave]
-	        	        							};
-	        	        							arrayEnumerationValues.push(element);
-        	        							}
-        	        						}
-        	        						resultTypical[i].enumerationvalues = arrayEnumerationValues;
-        	        						break;
-        	        					}
-        	        				}
-        	        				vm.arrayTypicalAttributes.push(resultTypical[i]);
-        	        			}
-        	        		}
-        					
-        					// Cargar lista de atributos adicionales
-        					vm.arrayAditionalAttributes = new Array();
-		        			for (var i = 0;i < vm.serviceAttributeTypes.length;i++) {
-		        				// Comprobar si el atributo figura como atributo típico de la clase del servicio
-	        					for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        						var found = false;
-	        						if (vm.arrayTypicalAttributes[j].serviceattributetypeid == vm.serviceAttributeTypes[i].id) {
-	        							found = true;
-	        							break;
-	        						}
-	        					}
-	        					// Si el atributo no figura como típico, añadirlo como adicional
-	        					if (!found) {
-	        						vm.arrayAditionalAttributes.push(vm.serviceAttributeTypes[i]);
-		        				}
-		        			}
-        				}
-        				
-        				// Modo edición: cargar valores de atributos
-        				if (vm.service.id != null && vm.service.id != 0) {
-	        				ServiceAttributeValue.query(function(resultValues) {
-	        	   				if (resultValues != null && resultValues.length > 0) {
-	        	   					vm.arrayTypicalAttributeValues = new Array();
-	        	   					for (var i = 0;i < resultValues.length;i++) {
-	        	   						if (resultValues[i].serviceid == vm.service.id) {
-	        	   							// Cargar atributos típicos
-	        	   							for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        	   								if (vm.arrayTypicalAttributes[j].serviceattributetypeid == resultValues[i].serviceattributetypeid) {
-	        	   									vm.arrayTypicalAttributeValues[resultValues[i].serviceattributetypeid] = resultValues[i].serviceattributevalue;
-	        	   								}
-	        	   							}
-	        	   							
-	        	   							// Cargar atributos adicionales
-	        	   							var found = false;
-	        	   							for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        	   								if (vm.arrayTypicalAttributes[j].serviceattributetypeid == resultValues[i].serviceattributetypeid) {
-	        	   									found = true;
-	        	   									break;
-	        	   								}
-	        	   							}
-	        	   							if (!found && vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0) {
-	        	   								for (var j = 0;j < vm.arrayAditionalAttributes.length;j++) {
-	        	   									if (resultValues[i].serviceattributetypeid == vm.arrayAditionalAttributes[j].id) {
-	        	   										var textValue = resultValues[i].serviceattributevalue;
-	        	   										if (vm.arrayAditionalAttributes[j].mandatoryenumeration) {
-	        	   							            	var obj = JSON.parse(vm.arrayAditionalAttributes[j].enumerationvalues);
-	        	   							            	for (var clave in obj) {
-	        	   												if (obj.hasOwnProperty(clave) && clave == resultValues[i].serviceattributevalue) {
-	        	   													textValue = obj[clave];
-	        	   													break;
-	        	   												}
-	        	   							            	}
-	        	   						            	}
-	        	   										var attr = {
-	        	   											key: vm.arrayAditionalAttributes[j].id,
-	                	   					                name: vm.arrayAditionalAttributes[j].serviceattributetypename,
-	                	   					                value: resultValues[i].serviceattributevalue,
-	                	   					                mandatoryenumeration: vm.arrayAditionalAttributes[j].mandatoryenumeration,
-	                	   					                enumerationvalues: vm.arrayAditionalAttributes[j].enumerationvalues,
-	                	   					                text: textValue
-	                	   					            };
-	        	   										vm.arraySelectedAttributes.push(attr);
-	        	   										break;
-	        	   									}
-	        	   								}
-	        	   							}
-	        	   						}
-	        	   					}
-	        	   				}
-	        	        	});
-        				}
-        			});
-	        	}
-        	});
-        }
-        
-        // Si es modo edición, cargar listas de atributos
-   		if (vm.service.id != null && vm.service.id != 0) {
-   			$scope.loadAttributes();
-   		}
-        
-        // Función que añade un atributo adicional
-        $scope.addAttribute = function() {
-        	if (vm.aditionalAttribute.key != '0' && vm.aditionalAttribute.value != '') {
-        		var values = vm.aditionalAttribute.key.split('#');
-            	vm.aditionalAttribute.key = values[0];
-            	vm.aditionalAttribute.name = values[1];
-            	vm.aditionalAttribute.mandatoryenumeration = values[2] == 'true' ? true : false;
-            	vm.aditionalAttribute.enumerationvalues = values[3];
-            	if (!vm.aditionalAttribute.mandatoryenumeration) {
-            		vm.aditionalAttribute.text = vm.aditionalAttribute.value;
-            	} else {
-	            	var obj = JSON.parse(vm.aditionalAttribute.enumerationvalues);
-	            	for (var clave in obj) {
-						if (obj.hasOwnProperty(clave) && clave == vm.aditionalAttribute.value) {
-							vm.aditionalAttribute.text = obj[clave];
-							break;
-						}
-	            	}
-            	}
-            	vm.arraySelectedAttributes.push(vm.aditionalAttribute);
-            	vm.aditionalAttribute = {
-                   	key: 0,
-                   	name: "",
-                   	value: "",
-                   	mandatoryenumeration: false,
-                    enumerationvalues: null,
-                    text: ""
-            	};
-        	}
-        }
-        
-        // Función que elimina un atributo adicional
-        $scope.removeAttribute = function(index) {
-        	vm.arraySelectedAttributes.splice(index, 1);
-        }
-        
-        // Función de selección de un atributo adicional
-        $scope.selectAditionalAttribute = function() {
-        	var values = vm.aditionalAttribute.key.split('#');
-        	vm.aditionalAttribute.name = values[1];
-        	vm.aditionalAttribute.mandatoryenumeration = values[2] == 'true' ? true : false;
-        	if (vm.aditionalAttribute.mandatoryenumeration) {
-        		vm.aditionalAttribute.enumerationvalues = JSON.parse(values[3]);
-        	}
-        }
-
-        
-        $timeout(function(){
-            angular.element('.form-group:eq(1)>input').focus();
-        });
-
-        
-        function clear() {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        
-        function save() {
-        	// Construir attributos a insertar/modificar
-        	var array = new Array();
-        	
-        	// Añadir atributos típicos
-        	if (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0 && vm.arrayTypicalAttributeValues != null) {
-        		for (var key in vm.arrayTypicalAttributeValues) {
-        			if (vm.arrayTypicalAttributeValues.hasOwnProperty(key)) {
-        				array.push(key);
-        				array.push(vm.arrayTypicalAttributeValues[key]);
-        			}
-        		}
-        	}
-        	
-        	// Añadir atributos adicionales
-        	if (vm.arraySelectedAttributes != null && vm.arraySelectedAttributes.length > 0) {
-        		for (var i = 0;i < vm.arraySelectedAttributes.length;i++) {
-        			array.push(vm.arraySelectedAttributes[i].key);
-        			array.push(vm.arraySelectedAttributes[i].value);
-        		}
-        	}
-
-        	// Si el servicio no tiene atributos, enviar un atributo ficticio para que funcione el guardado
-        	if (array.length == 0) {
-            	array.push("0");
-        	}
-        	
-        	// Guardar
-            if (vm.service.id != null) {
-            	Service.update({attributes: array}, vm.service, onSaveServiceSuccess, onSaveServiceError);
-            } else {
-            	Service.save({attributes: array}, vm.service, onSaveServiceSuccess, onSaveServiceError);
-            }
-        }
-
-        
-        // Función de éxito en alta/modificación de servicio
-        function onSaveServiceSuccess(result) {
-            $scope.$emit('acsmiApp:serviceUpdate', result);
-            $uibModalInstance.close(result);
-        }
-
-        
-        // Función de error en alta/modificación de servicio
-        function onSaveServiceError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.html
deleted file mode 100644
index aa2166074bd0b8d92ac93221f8c661ea41197df7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-dialog.html
+++ /dev/null
@@ -1,128 +0,0 @@
-
-<form name="editForm" role="form" ng-submit="vm.save()" show-validation>
-
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" id="myServiceLabel" data-translate="acsmiApp.service.home.createOrEditLabel">Create or edit a Service</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <div class="form-group">
-            <label class="control-label" data-translate="acsmiApp.service.serviceName" for="field_serviceName">Service Name</label>
-            <input type="text" class="form-control" name="servicename" id="field_serviceName" ng-model="vm.service.servicename" ng-maxlength="70" required />
-            <div ng-show="editForm.servicename.$invalid">
-                <p class="help-block"
-                    ng-show="editForm.servicename.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-                <p class="help-block"
-                    ng-show="editForm.servicename.$error.maxlength" data-translate="entity.validation.maxlength" translate-value-max="70">
-                    This field cannot be longer than 70 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="control-label" data-translate="acsmiApp.service.serviceClass" for="field_serviceclass">Service class</label>
-            <select class="form-control" id="field_serviceclass" name="serviceclass" ng-model="vm.service.serviceclass" ng-options="serviceclass as serviceclass.serviceclassname for serviceclass in vm.serviceClasses | filter:{deleteddate: '!'} track by serviceclass.id" ng-disabled="vm.service.id != null && vm.service.id != 0" ng-change="loadAttributes()" required>
-            </select>
-            <div ng-show="editForm.serviceclass.$invalid">
-                <p class="help-block"
-                    ng-show="editForm.serviceclass.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-            </div>
-        </div>
-        
-        <!-- Typical attributes -->
-        <div class="form-group" ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0)">
-        	<hr /><label class="control-label" data-translate="acsmiApp.service.serviceClassTypicalAttributes">Typical attributes</label>
-        </div>
-        <div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0)" ng-repeat="srv in vm.arrayTypicalAttributes | orderBy: 'weight'">
-        	<div class="form-group">
-        		<label class="control-label" for="fieldTyp_{{ srv.id }}">{{ srv.attributename }}</label>
-        		<input type="text" class="form-control" name="{{ 'fieldTyp_' + srv.id }}" id="{{ 'fieldTyp_' + srv.id }}" ng-model="vm.arrayTypicalAttributeValues[srv.serviceattributetypeid]" ng-required="{{ srv.mandatory }}" ng-maxlength="50" ng-show="!srv.mandatoryenumeration" />
-		        <select class="form-control" id="{{ 'fieldTyp_' + srv.id }}" name="{{ 'fieldTyp_' + srv.id }}" ng-model="vm.arrayTypicalAttributeValues[srv.serviceattributetypeid]" ng-show="srv.mandatoryenumeration">
-					<option ng-repeat="enum in srv.enumerationvalues" value="{{ enum.key }}">
-						{{ enum.value }}
-					</option>
-				</select>
-        		<div ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$invalid">
-	                <p class="help-block"
-	                    ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$error.required" data-translate="entity.validation.required">
-	                    This field is required.
-	                </p>
-	                <p class="help-block"
-	                    ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$error.maxlength" data-translate="entity.validation.maxlength" translate-value-max="50">
-	                    This field cannot be longer than 50 characters.
-	                </p>
-            	</div>
-        	</div>
-        </div>
-        
-        <!-- Aditional attributes -->
-        <div class="form-group" ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0)">
-        	<hr /><label class="control-label" data-translate="acsmiApp.service.serviceClassAditionalAttributes">Aditional attributes</label>
-        </div>
-        <div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arraySelectedAttributes != null && vm.arraySelectedAttributes.length > 0)">
-        	<table style="width: 100%;">
-        		<tr ng-repeat="attr in vm.arraySelectedAttributes">
-        			<td style="width: 21%;">
-        				<div class="form-group">
-        					<label class="sublabel">{{ attr.name }}</label>
-        				</div>
-        			</td>
-        			<td style="width: 1%;">&nbsp;</td>
-        			<td style="width: 71%;">
-        				<div class="form-group">
-        					<input type="text" class="form-control" value="{{ attr.text }}" disabled />
-        				</div>
-        			</td>
-        			<td style="width: 1%;">&nbsp;</td>
-        			<td style="width: 6%;">
-        				<div class="form-group">
-	        				<button type="button" class="btn btn-danger btn-sm" ng-click="removeAttribute($index)">
-								<span class="glyphicon glyphicon-minus"></span>
-							</button>
-						</div>
-        			</td>
-        		</tr>
-        	</table>
-        </div>
-        <div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0)">
-        	<div class="form-group">
-        		<table style="width: 100%;">
-        			<tr>
-        				<td style="width: 42%;">
-        					<select class="form-control" id="fieldAditionalAttribute" name="fieldAditionalAttribute" ng-model="vm.aditionalAttribute.key" ng-change="selectAditionalAttribute()">
-								<option ng-repeat="attr in vm.arrayAditionalAttributes" value="{{attr.id}}#{{attr.serviceattributetypename}}#{{attr.mandatoryenumeration}}#{{attr.enumerationvalues}}">
-				        			{{attr.serviceattributetypename}}
-				    			</option>
-							</select>
-        				</td>
-        				<td style="width: 1%;">&nbsp;</td>
-        				<td style="width: 50%;">
-        					<input type="text" class="form-control" id="fieldAditionalAttributeValue" name="fieldAditionalAttributeValue" ng-model="vm.aditionalAttribute.value" ng-maxlength="255" ng-show="!vm.aditionalAttribute.mandatoryenumeration" ng-disabled="vm.aditionalAttribute.key == null || vm.aditionalAttribute.key == '' || vm.aditionalAttribute.key == 0" />
-        					<select class="form-control" id="fieldAditionalAttributeValue" name="fieldAditionalAttributeValue" ng-model="vm.aditionalAttribute.value" ng-options="key as value for (key , value) in vm.aditionalAttribute.enumerationvalues" ng-show="vm.aditionalAttribute.mandatoryenumeration" ng-disabled="vm.aditionalAttribute.key == null || vm.aditionalAttribute.key == '' || vm.aditionalAttribute.key == 0">             
-		            		</select>
-        				</td>
-        				<td style="width: 1%;">&nbsp;</td>
-        				<td style="width: 6%;">
-        					<button type="button" class="btn btn-success btn-sm" ng-click="addAttribute()">
-			                    <span class="glyphicon glyphicon-plus"></span>
-							</button>
-        				</td>
-        			</tr>
-        		</table>
-			</div>
-        </div>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.save">Save</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.controller.js
deleted file mode 100644
index 92ff00fb2550cec79a6fbc176854aa07bab34b3b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.controller.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceReactivateDialogController', ServiceReactivateDialogController);
-
-    ServiceReactivateDialogController.$inject = ['$timeout', '$scope', '$stateParams', '$uibModalInstance', 'entity', 'Service'];
-
-    function ServiceReactivateDialogController ($timeout, $scope, $stateParams, $uibModalInstance, entity, Service) {
-        var vm = this;
-
-        vm.service = entity;
-        vm.clear = clear;
-        vm.save = save;
-
-        $timeout(function (){
-            angular.element('.form-group:eq(1)>input').focus();
-        });
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function save () {
-        	var array = new Array();
-        	array.push("0");
-        	Service.update({attributes: array}, vm.service, onUpdateServiceSuccess, onUpdateServiceError);
-        }
-        
-        
-        // Función de éxito en reactivación de servicio
-        function onUpdateServiceSuccess(result) {
-        	$scope.$emit('acsmiApp:serviceUpdate', result);
-            $uibModalInstance.close(result);
-        }
-        
-        
-        // Función de error en reactivación de tipo de contrato
-        function onUpdateServiceError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.html
deleted file mode 100644
index 98e42fb0c676d6841272bdd45e8f236a844f73cf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-reactivate-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="reactivateForm" role="form" ng-submit="vm.save()">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.reactivate.title">Confirm reactivate operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.service.reactivate.question" translate-values="{servicename: '{{vm.service.servicename}}'}">Are you sure you want to reactivate this Service?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid || vm.isSaving" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.reactivate">Reactivate</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.controller.js
deleted file mode 100644
index 8661e079798b6a3c3a980816a3ce4875b846b062..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.controller.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceSoftDeleteController',ServiceSoftDeleteController);
-
-    ServiceSoftDeleteController.$inject = ['$uibModalInstance', 'entity', 'Service'];
-
-    function ServiceSoftDeleteController($uibModalInstance, entity, Service) {
-        var vm = this;
-
-        vm.service = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete(id) {
-        	// Marcar el servicio como borrado
-        	Service.delete({id: id, forcedelete: 'false'}, onDeleteServiceSuccess, onDeleteServiceError);
-        }
-        
-        
-        // Función de éxito en borrado de servicio
-        function onDeleteServiceSuccess(result) {
-        	$uibModalInstance.close(true);
-        }
-        
-        
-        // Función de éxito en borrado de servicio
-        function onDeleteServiceError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.html
deleted file mode 100644
index d88d24d1d00fbca00260abca2984a3154ea35ab5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service-softdelete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="softDeleteForm" ng-submit="vm.confirmDelete(vm.service.id)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm erase operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="acsmiApp.service.softdelete.question" translate-values="{servicename: '{{vm.service.servicename}}'}">Are you sure you want to erase this Service?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="deleteForm.$invalid" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.softdelete">Erase</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.controller.js
deleted file mode 100644
index e4a185f963f79d519ba03e7f7279bb31f166d75a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.controller.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ServiceController', ServiceController);
-
-    ServiceController.$inject = ['Service'];
-
-    function ServiceController(Service) {
-    	var vm = this;        
-        vm.services = [];
-        
-        loadServices();
-        
-        // Función de carga de servicios
-        function loadServices() {
-            Service.query({filter: ""}, function(result) {
-            	vm.services = result;
-            	allowDelete();          	
-            });
-        }
-        
-        
-        // Función que determina si un servicio puede ser borrado
-        function allowDelete() {
-        	if (vm.services != null && vm.services.length > 0) {
-				for (var i = 0;i < vm.services.length;i++) {
-					vm.services[i].allowLogicalDelete = true;
-					vm.services[i].allowReactivate = true;
-					vm.services[i].allowPhysicalDelete = true;
-				}
-        	}
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.service.js
deleted file mode 100644
index 029387b714c2c66cf7db46c78f70289e36b58b01..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.service.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-    angular
-        .module('acsmiApp')
-        .factory('Service', Service);
-
-    Service.$inject = ['$resource'];
-
-    function Service ($resource) {
-        var resourceUrl =  'acsmiservices/' + 'api/services/:id';
-
-        return $resource(resourceUrl, {}, {
-        	'query': { method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    if (data) {
-                        data = angular.fromJson(data);
-                    }
-                    return data;
-                }
-            },
-            'update': {
-            	method:'PUT'
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.state.js
deleted file mode 100644
index 243b1be40c38a0cb17cb26a815a8ada4a69a79d1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/service.state.js
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('service', {
-            parent: 'entity',
-            url: '/service',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER'],
-                pageTitle: 'acsmiApp.service.home.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/entities/service/services.html',
-                    controller: 'ServiceController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('service');
-                    $translatePartialLoader.addPart('global');
-                    return $translate.refresh();
-                }]
-            }
-        })
-        .state('service-detail', {
-            parent: 'service',
-            url: '/service/{id}',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER', 'ROLE_PA_OWNER', 'ROLE_PA_USER'],
-                pageTitle: 'acsmiApp.service.detail.title'
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/entities/service/service-detail.html',
-                    controller: 'ServiceDetailController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                    $translatePartialLoader.addPart('service');
-                    return $translate.refresh();
-                }],
-                entity: ['$stateParams', 'Service', function($stateParams, Service) {
-                    return Service.get({id : $stateParams.id}).$promise;
-                }],
-                previousState: ["$state", function ($state) {
-                    var currentStateData = {
-                        name: $state.current.name || 'service',
-                        params: $state.params,
-                        url: $state.href($state.current.name, $state.params)
-                    };
-                    return currentStateData;
-                }]
-            }
-        })
-        .state('service-detail.edit', {
-            parent: 'service-detail',
-            url: '/detail/edit',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-dialog.html',
-                    controller: 'ServiceDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['Service', function(Service) {
-                            return Service.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('^', {}, { reload: false });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service.new', {
-            parent: 'service',
-            url: '/new',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-dialog.html',
-                    controller: 'ServiceDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: function () {
-                            return {
-                                id: null
-                            };
-                        }
-                    }
-                }).result.then(function() {
-                    $state.go('service', null, { reload: 'service' });
-                }, function() {
-                    $state.go('service');
-                });
-            }]
-        })
-        .state('service.edit', {
-            parent: 'service',
-            url: '/{id}/edit',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-dialog.html',
-                    controller: 'ServiceDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['Service', function(Service) {
-                            return Service.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service', null, { reload: 'service' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service.reactivate', {
-            parent: 'service',
-            url: '/{id}/reactivate',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-reactivate-dialog.html',
-                    controller: 'ServiceReactivateDialogController',
-                    controllerAs: 'vm',
-                    backdrop: 'static',
-                    size: 'lg',
-                    resolve: {
-                        entity: ['Service', function(Service) {
-                            return Service.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service', null, { reload: 'service' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service.softdelete', {
-            parent: 'service',
-            url: '/{id}/softdelete',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-softdelete-dialog.html',
-                    controller: 'ServiceSoftDeleteController',
-                    controllerAs: 'vm',
-                    size: 'md',
-                    resolve: {
-                        entity: ['Service', function(Service) {
-                            return Service.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service', null, { reload: 'service' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-        .state('service.delete', {
-            parent: 'service',
-            url: '/{id}/delete',
-            data: {
-            	authorities: ['ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER']
-            },
-            onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                $uibModal.open({
-                    templateUrl: 'app/entities/service/service-delete-dialog.html',
-                    controller: 'ServiceDeleteController',
-                    controllerAs: 'vm',
-                    size: 'md',
-                    resolve: {
-                        entity: ['Service', function(Service) {
-                            return Service.get({id : $stateParams.id}).$promise;
-                        }]
-                    }
-                }).result.then(function() {
-                    $state.go('service', null, { reload: 'service' });
-                }, function() {
-                    $state.go('^');
-                });
-            }]
-        })
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/services.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/services.html
deleted file mode 100644
index 2aa289c793cada5d0f215a6e08781422406a5e90..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/entities/service/services.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<div>
-    <h2 data-translate="acsmiApp.service.home.title">Services</h2>
-    <jhi-alert></jhi-alert>
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-xs-4 no-padding-left">
-                <button class="btn btn-primary" ui-sref="service.new" >
-                    <span class="glyphicon glyphicon-plus"></span>
-                    <span  data-translate="acsmiApp.service.home.createLabel">
-                        Create new Service
-                    </span>
-                </button>
-            </div>
-        </div>
-    </div>
-    <br/>
-    <div class="table-responsive">
-        <table class="jh-table table table-striped">
-            <thead>
-                <tr>
-                    <th><span data-translate="acsmiApp.service.serviceName">Service Name</span></th>
-                    <th><span data-translate="acsmiApp.service.serviceClass">Service Class</span></th>
-                    <th></th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr ng-repeat="service in vm.services track by service.id">
-                	<td ng-show="service.deleteddate == null">
-                		<a ui-sref="service-detail({id:service.id})">{{service.servicename}}</a>
-                	</td>
-                    <td ng-show="service.deleteddate != null" class="registry-deleted">{{service.servicename}}</td>
-                    <td ng-show="service.deleteddate == null">
-                    	<a ui-sref="service-class-detail({id:service.serviceclass.id})">{{service.serviceclass.serviceclassname}}</a>
-                	</td>
-                    <td ng-show="service.deleteddate != null" class="registry-deleted">{{service.serviceclass.serviceclassname}}</td>
-                    
-                    <!-- Buttons -->
-                    <td class="text-right">
-                        <div class="btn-group flex-btn-group-container">
-                            <button type="submit"
-                                    ui-sref="service-detail({id:service.id})"
-                                    class="btn btn-info btn-sm">
-                                <span class="glyphicon glyphicon-eye-open"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.view"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service.edit({id:service.id})"
-                                    class="btn btn-primary btn-sm"
-                                    ng-show="service.deleteddate == null">
-                                <span class="glyphicon glyphicon-pencil"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.edit"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service.reactivate({id:service.id})"
-                                    class="btn btn-primary btn-sm"
-                                    ng-show="service.deleteddate != null && service.allowReactivate">
-                                <span class="glyphicon glyphicon-pencil"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.reactivate"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service.softdelete({id: service.id})"
-                                    class="btn btn-danger btn-sm"
-                                    ng-show="service.deleteddate == null && service.allowLogicalDelete">
-                                <span class="glyphicon glyphicon-remove-circle"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.softdelete"></span>
-                            </button>
-                            <button type="submit"
-                                    ui-sref="service.delete({id: service.id})"
-                                    class="btn btn-danger btn-sm"
-                                    ng-show="service.deleteddate != null && service.allowPhysicalDelete">
-                                <span class="glyphicon glyphicon-remove-circle"></span>
-                                <span class="hidden-sm-down" data-translate="entity.action.delete"></span>
-                            </button>
-                        </div>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.controller.js
deleted file mode 100644
index 93d9f6783dec70210e27b25522584e0d9a5fe78e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.controller.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('HomeController', HomeController);
-
-    HomeController.$inject = ['$scope', 'Principal', 'LoginService', '$state'];
-
-    function HomeController ($scope, Principal, LoginService, $state) {
-        var vm = this;
-
-        vm.account = null;
-        vm.isAuthenticated = null;
-        vm.login = LoginService.open;
-        vm.register = register;
-        $scope.$on('authenticationSuccess', function() {
-            getAccount();
-        });
-
-        getAccount();
-
-        function getAccount() {
-            Principal.identity().then(function(account) {
-                vm.account = account;
-                vm.isAuthenticated = Principal.isAuthenticated;
-            });
-        }
-        function register () {
-            $state.go('register');
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.html
deleted file mode 100644
index ad06406fee98b536dd5feefc86f5102fcec1afec..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<div ng-cloak>
-    <div class="row">
-        <div class="col-md-12">
-            <h1 data-translate="home.title">Welcome to CloudForEurope!</h1>
-            <p class="lead" data-translate="home.subtitle">This is the homepage</p>
-
-            <div ng-switch="vm.isAuthenticated()">
-                <div class="alert alert-success" ng-switch-when="true" data-translate="home.logged.message" translate-values="{username: '{{vm.account.login}}'}">
-                    You are logged in as user "{{vm.account.login}}".
-                </div>
-
-                <div class="alert alert-warning" ng-switch-when="false" data-translate="global.messages.info.register" translate-compile>
-                    You don't have an account yet? <a class="alert-link" ui-sref="register">Register a new account</a>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.state.js
deleted file mode 100644
index d50a071ad0698aa45699abd962b4d7d08940f5b5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/home/home.state.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider.state('home', {
-            parent: 'app',
-            url: '/',
-            data: {
-                authorities: []
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/home/home.html',
-                    controller: 'HomeController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate,$translatePartialLoader) {
-                    $translatePartialLoader.addPart('home');
-                    return $translate.refresh();
-                }]
-            }
-        });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/accessdenied.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/accessdenied.html
deleted file mode 100644
index 418555dc25a1590fde77dbb959a1c5d7aab6665e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/accessdenied.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div ng-cloak>
-    <div class="row">
-        <div class="col-md-4">
-            <span class="tecnalia img-responsive img-rounded"></span>
-        </div>
-        <div class="col-md-8">
-            <h1 data-translate="error.title">Error Page!</h1>
-
-            <div class="alert alert-danger" data-translate="error.403">You are not authorized to access the page.
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.html
deleted file mode 100644
index 6bc8413576f0832a4fa3171778465a148f0d15e1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<div ng-cloak>
-    <div class="row">
-        <div class="col-md-4">
-            <span class="tecnalia img-responsive img-rounded"></span>
-        </div>
-        <div class="col-md-8">
-            <h1 data-translate="error.title">Error Page!</h1>
-
-            <div ng-show="errorMessage">
-                <div class="alert alert-danger">{{errorMessage}}
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.state.js
deleted file mode 100644
index ed8dedd6a470cb698d005e89f26c3f4088624e65..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/error/error.state.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-            .state('error', {
-                parent: 'app',
-                url: '/error',
-                data: {
-                    authorities: [],
-                    pageTitle: 'error.title'
-                },
-                views: {
-                    'content@': {
-                        templateUrl: 'app/layouts/error/error.html'
-                    }
-                },
-                resolve: {
-                    translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                        $translatePartialLoader.addPart('error');
-                        return $translate.refresh();
-                    }]
-                }
-            })
-            .state('accessdenied', {
-                parent: 'app',
-                url: '/accessdenied',
-                data: {
-                    authorities: []
-                },
-                views: {
-                    'content@': {
-                        templateUrl: 'app/layouts/error/accessdenied.html'
-                    }
-                },
-                resolve: {
-                    translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) {
-                        $translatePartialLoader.addPart('error');
-                        return $translate.refresh();
-                    }]
-                }
-            });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/active-menu.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/active-menu.directive.js
deleted file mode 100644
index 30122b18a88f0df91ad1f946b71751b4d003cbae..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/active-menu.directive.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('activeMenu', activeMenu);
-
-    activeMenu.$inject = ['$translate', '$locale', 'tmhDynamicLocale'];
-
-    function activeMenu($translate, $locale, tmhDynamicLocale) {
-        var directive = {
-            restrict: 'A',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc(scope, element, attrs) {
-            var language = attrs.activeMenu;
-
-            scope.$watch(function() {
-                return $translate.use();
-            }, function(selectedLanguage) {
-                if (language === selectedLanguage) {
-                    tmhDynamicLocale.set(language);
-                    element.addClass('active');
-                } else {
-                    element.removeClass('active');
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.controller.js
deleted file mode 100644
index ba70687561b13062924e4f1c1ab0cab870dc55d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.controller.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('NavbarController', NavbarController);
-
-    NavbarController.$inject = ['$state', 'Auth', 'Principal', 'ProfileService', 'LoginService'];
-
-    function NavbarController ($state, Auth, Principal, ProfileService, LoginService) {
-        var vm = this;
-
-        vm.isNavbarCollapsed = true;
-        vm.isAuthenticated = Principal.isAuthenticated;
-
-        ProfileService.getProfileInfo().then(function(response) {
-            vm.inProduction = response.inProduction;
-            vm.swaggerEnabled = response.swaggerEnabled;
-        });
-
-        vm.login = login;
-        vm.logout = logout;
-        vm.toggleNavbar = toggleNavbar;
-        vm.collapseNavbar = collapseNavbar;
-        vm.$state = $state;
-
-        function login() {
-            collapseNavbar();
-            LoginService.open();
-        }
-
-        function logout() {
-            collapseNavbar();
-            Auth.logout();
-            $state.go('home');
-        }
-
-        function toggleNavbar() {
-            vm.isNavbarCollapsed = !vm.isNavbarCollapsed;
-        }
-
-        function collapseNavbar() {
-            vm.isNavbarCollapsed = true;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.html
deleted file mode 100644
index 4c06a1089e72d42a5dc95db492350ad772004369..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/layouts/navbar/navbar.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<nav class="navbar navbar-default" role="navigation">
-    <div class="container">
-        <div class="navbar-header">
-            <button type="button" class="navbar-toggle" ng-click="vm.toggleNavbar()">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand logo" href="#/" ng-click="vm.collapseNavbar()">
-                <img class="logo-img" src="content/images/decide_logo.png" alt="logo"/>
-                <span data-translate="global.title">ACSmI</span> <span class="navbar-version">v{{VERSION}}</span>
-            </a>
-        </div>
-        <div class="navbar-collapse" uib-collapse="vm.isNavbarCollapsed" ng-switch="vm.isAuthenticated()">
-            <ul class="nav navbar-nav navbar-right">
-                <li ui-sref-active="active">
-                    <a ui-sref="home" ng-click="vm.collapseNavbar()">
-                        <span class="glyphicon glyphicon-home"></span>
-                        <span class="hidden-sm" data-translate="global.menu.home">Home</span>
-                    </a>
-                </li>
-
-                <li ng-class="{active: vm.$state.includes('search')}" ng-switch-when="true" has-any-authority="ROLE_ADMIN, ROLE_CSP_USER,
-                ROLE_PA_USER, ROLE_CSP_OWNER, ROLE_PA_OWNER, ROLE_CSP_EXTERNAL" uib-dropdown class="dropdown pointer">
-                	<a class="dropdown-toggle" uib-dropdown-toggle href="" id="search-menu">
-                        <span>
-                            <span class="glyphicon glyphicon-th-list"></span>
-                            <span class="hidden-sm" data-translate="global.menu.search.main">
-                                Discover
-                            </span>
-                            <b class="caret"></b>
-                        </span>
-                    </a>
-                    <ul class="dropdown-menu" uib-dropdown-menu>
-						      <li ui-sref-active="active" has-any-authority="ROLE_ADMIN, ROLE_PA_USER, ROLE_PA_OWNER, ROLE_CSP_USER, ROLE_CSP_OWNER, ROLE_CSP_EXTERNAL">
-            				<a ui-sref="search" ng-click="vm.collapseNavbar()">
-            					<span class="glyphicon glyphicon-asterisk"></span>&nbsp;
-            					<span data-translate="global.menu.search.services">Services</span>
-            				</a>
-            			</li>
-            		</ul>
-                </li>
-                <!-- jhipster-needle-add-element-to-menu - JHipster will add new menu items here -->
-                <li ng-class="{active: vm.$state.includes('entity')}" ng-switch-when="true" has-authority="ROLE_ADMIN" uib-dropdown class="dropdown pointer">
-                    <a class="dropdown-toggle" uib-dropdown-toggle href="" id="entity-menu">
-                        <span>
-                            <span class="glyphicon glyphicon-th-list"></span>
-                            <span class="hidden-sm" data-translate="global.menu.entities.main">
-                                Entities
-                            </span>
-                            <b class="caret"></b>
-                        </span>
-                    </a>
-                    <ul class="dropdown-menu" uib-dropdown-menu>
-                        <li ui-sref-active="active">
-                            <a ui-sref="service-class" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-asterisk"></span>&nbsp;
-                                <span data-translate="global.menu.entities.serviceClass">Service classes</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="service" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-asterisk"></span>&nbsp;
-                                <span data-translate="global.menu.entities.service">Service</span>
-                            </a>
-                        </li>
-                        <!-- jhipster-needle-add-entity-to-menu - JHipster will add entities to the menu here -->
-                    </ul>
-                </li>
-                <li ui-sref-active="active" has-any-authority="ROLE_ADMIN, ROLE_CSP_USER, ROLE_PA_USER, ROLE_CSP_OWNER, ROLE_PA_OWNER, ROLE_CSP_EXTERNAL">
-                    <a ui-sref="provider-members" ng-click="vm.collapseNavbar()">
-                        <span class="glyphicon glyphicon-tag"></span>
-                        <span class="hidden-sm" has-any-authority="ROLE_ADMIN, ROLE_CSP_USER, ROLE_CSP_OWNER, ROLE_CSP_EXTERNAL, ROLE_PA_USER, ROLE_PA_OWNER" data-translate="global.menu.provider.usersPanel">Panel</span>
-                    </a>
-                </li>
-
-                <li ng-class="{active: vm.$state.includes('resources')}" ng-switch-when="true" has-any-authority="ROLE_ADMIN, ROLE_CSP_USER, ROLE_CSP_OWNER" uib-dropdown class="dropdown pointer">
-                	<a class="dropdown-toggle" uib-dropdown-toggle href="" id="resources-menu">
-                        <span>
-                            <span class="glyphicon glyphicon-th-list"></span>
-                            <span class="hidden-sm" data-translate="global.menu.myresources.main">
-                                My resources
-                            </span>
-                            <b class="caret"></b>
-                        </span>
-                    </a>
-                    <ul class="dropdown-menu" uib-dropdown-menu>
-						<li ui-sref-active="active">
-            				<a ui-sref="service" ng-click="vm.collapseNavbar()">
-            					<span class="glyphicon glyphicon-asterisk"></span>&nbsp;
-            					<span data-translate="global.menu.myresources.myservices.main">My services</span>
-            				</a>
-            			</li>
-            		</ul>
-                </li>
-                <li ng-class="{active: vm.$state.includes('account')}" uib-dropdown class="dropdown pointer">
-                    <a class="dropdown-toggle" uib-dropdown-toggle href="" id="account-menu">
-                        <span>
-                            <span class="glyphicon glyphicon-user"></span>
-                            <span class="hidden-sm" data-translate="global.menu.account.main">
-                                Account
-                            </span>
-                            <b class="caret"></b>
-                        </span>
-                    </a>
-                    <ul class="dropdown-menu" uib-dropdown-menu>
-                        <li ui-sref-active="active" ng-switch-when="true">
-                            <a ui-sref="settings" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-wrench"></span>&nbsp;
-                                <span data-translate="global.menu.account.settings">Settings</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active" ng-switch-when="true">
-                            <a ui-sref="password" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-lock"></span>&nbsp;
-                                <span data-translate="global.menu.account.password">Password</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active" ng-switch-when="true">
-                            <a href="" ng-click="vm.logout()" id="logout">
-                                <span class="glyphicon glyphicon-log-out"></span>&nbsp;
-                                <span data-translate="global.menu.account.logout">Sign out</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active" ng-switch-when="false">
-                            <a href="" ng-click="vm.login()" id="login">
-                                <span class="glyphicon glyphicon-log-in"></span>&nbsp;
-                                <span data-translate="global.menu.account.login">Sign in</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active" ng-switch-when="false">
-                            <a ui-sref="register" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-plus-sign"></span>&nbsp;
-                                <span data-translate="global.menu.account.register">Register</span>
-                            </a>
-                        </li>
-                    </ul>
-                </li>
-                <li ng-class="{active: vm.$state.includes('admin')}"  ng-switch-when="true" has-authority="ROLE_ADMIN" uib-dropdown class="dropdown pointer">
-                    <a class="dropdown-toggle" uib-dropdown-toggle href="" id="admin-menu">
-                        <span>
-                            <span class="glyphicon glyphicon-tower"></span>
-                            <span class="hidden-sm" data-translate="global.menu.admin.main">Administration</span>
-                            <b class="caret"></b>
-                        </span>
-                    </a>
-                    <ul class="dropdown-menu" uib-dropdown-menu>
-                        <li ui-sref-active="active">
-                            <a ui-sref="gateway" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-road"></span>&nbsp;
-                                <span data-translate="global.menu.admin.gateway">Gateway</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="user-management" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-user"></span>&nbsp;
-                                <span data-translate="global.menu.admin.userManagement">User management</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="jhi-tracker" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-eye-open"></span>&nbsp;
-                                <span data-translate="global.menu.admin.tracker">User tracker</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="jhi-metrics" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-dashboard"></span>&nbsp;
-                                <span data-translate="global.menu.admin.metrics">Metrics</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="jhi-health" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-heart"></span>&nbsp;
-                                <span data-translate="global.menu.admin.health">Health</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="jhi-configuration" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-list-alt"></span>&nbsp;
-                                <span data-translate="global.menu.admin.configuration">Configuration</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="audits" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-bell"></span>&nbsp;
-                                <span data-translate="global.menu.admin.audits">Audits</span>
-                            </a>
-                        </li>
-                        <li ui-sref-active="active">
-                            <a ui-sref="logs" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-tasks"></span>&nbsp;
-                                <span data-translate="global.menu.admin.logs">Logs</span>
-                            </a>
-                        </li>
-                        <li ng-show="vm.swaggerEnabled" ui-sref-active="active">
-                            <a ui-sref="docs" ng-click="vm.collapseNavbar()">
-                                <span class="glyphicon glyphicon-book"></span>&nbsp;
-                                <span data-translate="global.menu.admin.apidocs">API</span>
-                            </a>
-                        </li>
-                        <!-- jhipster-needle-add-element-to-admin-menu - JHipster will add entities to the admin menu here -->
-                    </ul>
-                </li>
-            </ul>
-        </div>
-    </div>
-</nav>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.controller.js
deleted file mode 100644
index 0ec69e4dcc55ec595dc7f8e364c7c542e5880789..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.controller.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ProviderMembersDeleteController', ProviderMembersDeleteController);
-
-    ProviderMembersDeleteController.$inject = ['$uibModalInstance', 'entity', 'User'];
-
-    function ProviderMembersDeleteController ($uibModalInstance, entity, User) {
-        var vm = this;
-
-        vm.user = entity;
-        vm.clear = clear;
-        vm.confirmDelete = confirmDelete;
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function confirmDelete (login) {
-            User.delete({login: login},
-                function () {
-                    $uibModalInstance.close(true);
-                });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.html
deleted file mode 100644
index 316f635f3381361d7553a3c8b1424a363026a635..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-delete-dialog.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<form name="deleteForm" ng-submit="vm.confirmDelete(vm.user.login)">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" data-translate="entity.delete.title">Confirm delete operation</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-        <p data-translate="provider.delete.question" translate-values="{login: '{{vm.user.login}}'}">Are you sure you want to delete this User?</p>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" class="btn btn-danger">
-            <span class="glyphicon glyphicon-remove-circle"></span>&nbsp;<span data-translate="entity.action.delete">Delete</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.controller.js
deleted file mode 100644
index dc4d275314903543d6cebdd6f3a49d406cd946f1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.controller.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ProviderMembersDialogController',ProviderMembersDialogController);
-
-    ProviderMembersDialogController.$inject = ['$scope', 'Principal', '$stateParams', '$uibModalInstance', 'entity', 'User', 'JhiLanguageService'];
-
-    function ProviderMembersDialogController ($scope, Principal, $stateParams, $uibModalInstance, entity, User, JhiLanguageService) {
-        var vm = this;
-
-        vm.authorities = [];
-        vm.userType = [
-          'csp', 'pa'
-        ];
-        vm.clear = clear;
-        vm.languages = null;
-        vm.save = save;
-        vm.user = entity;
-
-        vm.account = null;
-        vm.isAuthenticated = null;
-
-        $scope.$on('authenticationSuccess', function() {
-            getAccount();
-        });
-
-        getAccount();
-
-        function getAccount() {
-            Principal.identity().then(function(account) {
-                vm.account = account;
-                vm.isAuthenticated = Principal.isAuthenticated;
-                // Dependiendo del tipo de usuario ofrece ciertos roles
-                setRoles(vm.account.userType);
-                // Establece los campos 'company', 'users_group' y 'user_type' dentro del objeto que se va a guardar
-                vm.user.company = vm.account.company;
-                vm.user.usersGroup = vm.account.usersGroup;
-                vm.user.userType = vm.account.userType;
-                // Establece los campos necesarios dependiendo de la identificación usada, tarjeta de crédito o referencia de contrato
-                if (vm.account.userType == "pa") {
-                    if (vm.account.creditCardType != null && vm.account.creditCard != null && vm.account.contractReference == null) {
-                      vm.user.creditCardType = vm.account.creditCardType;
-                      vm.user.creditCard = vm.account.creditCard;
-                    } else if (vm.account.creditCardType == null && vm.account.creditCard == null && vm.account.contractReference != null) {
-                      vm.user.contractReference = vm.account.contractReference;
-                    }
-                }
-                // Establece el campo 'cif_or_vat' dentro del objeto que se va a guardar
-                vm.user.cifOrVat = vm.account.cifOrVat;
-            });
-        }
-
-        // Dependiendo del tipo de usuario podrá aplicar ciertos roles
-        function setRoles(userType) {
-            switch (userType) {
-              case "csp":
-                vm.authorities = [
-                  'ROLE_CSP_USER', 'ROLE_CSP_EXTERNAL'
-                ];
-                break;
-              case "pa":
-                vm.authorities = [
-                  'ROLE_PA_USER'
-                ];
-                break;
-              default:
-                // Do nothing
-            }
-        }
-
-        JhiLanguageService.getAll().then(function (languages) {
-            vm.languages = languages;
-        });
-
-        function clear () {
-            $uibModalInstance.dismiss('cancel');
-        }
-
-        function onSaveSuccess (result) {
-            vm.isSaving = false;
-            $uibModalInstance.close(result);
-        }
-
-        function onSaveError () {
-            vm.isSaving = false;
-        }
-
-        function save () {
-            vm.isSaving = true;
-            if (vm.user.id !== null) {
-                // TODO: add 'ROLE_USER' in a better way
-                vm.user.authorities.push("ROLE_USER");
-                User.update(vm.user, onSaveSuccess, onSaveError);
-            } else {
-                // TODO: add 'ROLE_USER' in a better way
-                vm.user.authorities.push("ROLE_USER");
-                User.save(vm.user, onSaveSuccess, onSaveError);
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.html
deleted file mode 100644
index dc572de409e9e57976593ac4767508218430ffe9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members-dialog.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<form name="editForm" role="form" novalidate ng-submit="vm.save()" show-validation>
-
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"
-                ng-click="vm.clear()">&times;</button>
-        <h4 class="modal-title" id="myUserLabel" data-translate="provider.home.createOrEditLabel" translate-values="{company: '{{vm.account.company}}'}">
-            Create or edit a {{vm.account.company}} user</h4>
-    </div>
-    <div class="modal-body">
-        <jhi-alert-error></jhi-alert-error>
-
-        <div class="form-group">
-            <label class="control-label" data-translate="provider.login">Login</label>
-            <input type="text" class="form-control" name="login"
-                   ng-model="vm.user.login" ng-required="vm.user.id == null" ng-minlength=1 ng-maxlength=50 ng-pattern="/^[_'.@A-Za-z0-9-]*$/">
-
-            <div ng-show="editForm.login.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.login.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.login.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="control-label" data-translate="provider.firstName">First Name</label>
-            <input type="text" class="form-control" name="firstName"
-                   ng-model="vm.user.firstName" required ng-maxlength="50">
-
-            <div ng-show="editForm.firstName.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.firstName.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.firstName.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label data-translate="provider.lastName">Last Name</label>
-            <input type="text" class="form-control" name="lastName"
-                   ng-model="vm.user.lastName" required ng-maxlength="50">
-
-            <div ng-show="editForm.lastName.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.lastName.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.lastName.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="50">
-                    This field cannot be longer than 50 characters.
-                </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="control-label" data-translate="provider.email">Email</label>
-            <input type="email" class="form-control" name="email"
-                   ng-model="vm.user.email" required ng-maxlength="100">
-
-            <div ng-show="editForm.email.$invalid">
-                <p class="help-block"
-                   ng-show="editForm.email.$error.required" data-translate="entity.validation.required">
-                    This field is required.
-                </p>
-
-                <p class="help-block"
-                   ng-show="editForm.email.$error.maxlength" data-translate="entity.validation.maxlength"
-                   translate-value-max="100">
-                    This field cannot be longer than 100 characters.
-                </p>
-				        <p class="help-block"
-                   ng-show="editForm.email.$error.email" data-translate="global.messages.validate.email.invalid">
-                    Your email is invalid.
-                 </p>
-            </div>
-        </div>
-        <div class="form-group">
-            <label data-translate="provider.company">Company</label>
-            <input type="text" class="form-control" name="company"
-                   ng-model="vm.account.company" readonly>
-        </div>
-        <div class="form-group" ng-if="vm.account.creditCardType != null">
-            <label data-translate="provider.creditcardtype">Credit Card Type</label>
-            <input type="text" class="form-control" name="creditCardType"
-                   ng-model="vm.account.creditCardType" readonly>
-        </div>
-        <div class="form-group" ng-if="vm.account.creditCard != null">
-            <label data-translate="provider.creditcard">Credit Card</label>
-            <input type="text" class="form-control" name="creditCard"
-                   ng-model="vm.account.creditCard" readonly>
-        </div>
-        <div class="form-group" ng-if="vm.account.contractReference != null">
-            <label data-translate="provider.contractreference">Contract Reference</label>
-            <input type="text" class="form-control" name="contractReference"
-                   ng-model="vm.account.contractReference" readonly>
-        </div>
-        <div class="form-group">
-            <label data-translate="provider.ciforvat">CIF / VAT</label>
-            <input type="text" class="form-control" name="cifOrVat"
-                   ng-model="vm.account.cifOrVat" readonly>
-        </div>
-        <div class="form-group">
-            <label data-translate="provider.langKey">Lang Key</label>
-            <select class="form-control" name="langKey" ng-model="vm.user.langKey"
-                    ng-options="language as language for language in vm.languages track by language">
-            </select>
-        </div>
-        <div class="form-group">
-            <label data-translate="provider.profiles">Profiles</label>
-            <select class="form-control" multiple name="authority" ng-model="vm.user.authorities"
-                    ng-options="authority for authority in vm.authorities" required>
-            </select>
-        </div>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.clear()">
-            <span class="glyphicon glyphicon-ban-circle"></span>&nbsp;<span
-            data-translate="entity.action.cancel">Cancel</span>
-        </button>
-        <button type="submit" ng-disabled="editForm.$invalid || vm.isSaving" class="btn btn-primary">
-            <span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.save">Save</span>
-        </button>
-    </div>
-</form>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.controller.js
deleted file mode 100644
index aa5138fb82f7e08f1df54f8498f2ce9e4423e31c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.controller.js
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('ProviderMembersController', ProviderMembersController);
-
-    ProviderMembersController.$inject = ['$scope', 'Principal', 'LoginService', '$state', 'User', 'ParseLinks', 'AlertService', 'pagingParams', 'paginationConstants', 'JhiLanguageService'];
-
-    function ProviderMembersController ($scope, Principal, LoginService, $state, User, ParseLinks, AlertService, pagingParams, paginationConstants, JhiLanguageService) {
-        var vm = this;
-
-        vm.account = null;
-        vm.isAuthenticated = null;
-        vm.login = LoginService.open;
-        vm.authorities = [
-          'ROLE_USER', 'ROLE_ADMIN', 'ROLE_CSP_OWNER', 'ROLE_CSP_USER',
-          'ROLE_CSP_EXTERNAL', 'ROLE_PA_OWNER', 'ROLE_PA_USER',
-          'ROLE_CB_OPERATOR', 'ROLE_CB_LAW'
-        ];
-        vm.currentAccount = null;
-        vm.languages = null;
-        vm.loadAll = loadAll;
-        vm.setActive = setActive;
-        vm.users = [];
-        vm.page = 1;
-        vm.totalItems = null;
-        vm.clear = clear;
-        vm.links = null;
-        vm.loadPage = loadPage;
-        vm.predicate = pagingParams.predicate;
-        vm.reverse = pagingParams.ascending;
-        vm.itemsPerPage = paginationConstants.itemsPerPage;
-        vm.transition = transition;
-
-        $scope.$on('authenticationSuccess', function() {
-            getAccount();
-        });
-
-        $scope.myCompany = function (user) {
-            // Compara que el grupo de usuarios del usuario recibido
-            // sea el mismo que el del usuario logeado
-            return user.usersGroup === vm.account.usersGroup;
-        };
-
-        getAccount();
-
-        function getAccount() {
-            Principal.identity().then(function(account) {
-                vm.account = account;
-                vm.isAuthenticated = Principal.isAuthenticated;
-            });
-        }
-
-        vm.loadAll();
-        JhiLanguageService.getAll().then(function (languages) {
-            vm.languages = languages;
-        });
-        Principal.identity().then(function(account) {
-            vm.currentAccount = account;
-        });
-
-        function setActive (user, isActivated) {
-            user.activated = isActivated;
-            User.update(user, function () {
-                vm.loadAll();
-                vm.clear();
-            });
-        }
-
-        function loadAll () {
-            User.query({
-                page: pagingParams.page - 1,
-                size: vm.itemsPerPage,
-                sort: sort()
-            }, onSuccess, onError);
-        }
-
-        function onSuccess(data, headers) {
-            vm.links = ParseLinks.parse(headers('link'));
-            vm.totalItems = headers('X-Total-Count');
-            vm.queryCount = vm.totalItems;
-            vm.page = pagingParams.page;
-            vm.users = data;
-        }
-
-        function onError(error) {
-            AlertService.error(error.data.message);
-        }
-
-        function clear () {
-            vm.user = {
-                id: null, login: null, firstName: null, lastName: null, email: null,
-                company: null, usersGroup:null, userType: null, creditCardType: null,
-                creditCard: null, cifOrVat: null, activated: true, langKey: null,
-                createdBy: null, createdDate: null, lastModifiedBy: null,
-                lastModifiedDate: null, resetDate: null, resetKey: null, authorities: null
-            };
-        }
-
-        function sort () {
-            var result = [vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc')];
-            if (vm.predicate !== 'id') {
-                result.push('id');
-            }
-            return result;
-        }
-
-        function loadPage (page) {
-            vm.page = page;
-            vm.transition();
-        }
-
-        function transition () {
-            $state.transitionTo($state.$current, {
-                page: vm.page,
-                sort: vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc'),
-                search: vm.currentSearch
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.html
deleted file mode 100644
index 869ca2489d7c8a43804602f620e5c5607f516c59..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider-members.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<div ng-cloak>
-    <div class="row">
-        <div class="col-md-12">
-            <h1 data-translate="provider.home.title-members">Welcome to members panel!</h1>
-            <p class="lead" data-translate="provider.home.subtitle">This is your panel</p>
-
-            <div class="row" has-any-authority="ROLE_CSP_OWNER, ROLE_PA_OWNER">
-              <div class="col-md-4">
-                  <button class="btn btn-primary" ui-sref="provider-members.new">
-                      <span class="glyphicon glyphicon-plus"></span> <span data-translate="provider.home.createLabel" translate-values="{company: '{{vm.account.company}}'}">Create a new {{vm.account.company}} user</span>
-                  </button>
-              </div>
-            </div>
-            <br/>
-
-            <div class="table-responsive">
-                <table class="jh-table table table-striped">
-                    <thead>
-                    <tr jh-sort="vm.predicate" ascending="vm.reverse" callback="vm.transition()">
-                        <th jh-sort-by="login"><span data-translate="provider.login">Login</span> <span class="glyphicon glyphicon-sort"></span></th>
-                        <th jh-sort-by="firstName"><span data-translate="provider.firstName">First name</span> <span class="glyphicon glyphicon-sort"></span></th>
-                        <th jh-sort-by="lastName"><span data-translate="provider.lastName">Last name</span> <span class="glyphicon glyphicon-sort"></span></th>
-                        <th jh-sort-by="email"><span data-translate="provider.email">Email</span> <span class="glyphicon glyphicon-sort"></span></th>
-                        <th has-any-authority="ROLE_CSP_OWNER, ROLE_PA_OWNER"><span data-translate="provider.profiles">Profiles</span></th>
-                        <th></th>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr ng-repeat="user in vm.users | filter: myCompany track by user.login">
-                        <td>{{user.login}}</td>
-                        <td>{{user.firstName}}</td>
-                        <td>{{user.lastName}}</td>
-                        <td>{{user.email}}</td>
-                        <td has-any-authority="ROLE_CSP_OWNER, ROLE_PA_OWNER">
-                            <div ng-repeat="authority in user.authorities">
-                                <span class="label label-info">{{ authority }}</span>
-                            </div>
-                        </td>
-                        <td class="text-right">
-                            <div class="btn-group flex-btn-group-container" has-any-authority="ROLE_CSP_OWNER, ROLE_PA_OWNER">
-                                <button type="submit"
-                                        ui-sref="provider-members.edit({login:user.login})"
-                                        class="btn btn-primary btn-sm">
-                                    <span class="glyphicon glyphicon-pencil"></span>
-                                    <span class="hidden-xs hidden-sm" data-translate="entity.action.edit"></span>
-                                </button>
-                                <button type="submit"
-                                        ui-sref="provider-members.delete({login:user.login})"
-                                        class="btn btn-danger btn-sm" ng-disabled="vm.currentAccount.login==user.login">
-                                    <span class="glyphicon glyphicon-remove-circle"></span>
-                                    <span class="hidden-xs hidden-sm" data-translate="entity.action.delete"></span>
-                                </button>
-                            </div>
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
-            </div>
-            <div class="text-center">
-                <jhi-item-count page="vm.page" total="vm.queryCount" items-per-page="vm.itemsPerPage"></jhi-item-count>
-                <uib-pagination class="pagination-sm" total-items="vm.totalItems" ng-model="vm.page" ng-change="vm.transition()"></uib-pagination>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider.state.js
deleted file mode 100644
index c8053ecfe81f7a638860c00ace5411cb1c7880d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/provider/provider.state.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-            .state('provider-members', {
-                parent: 'app',
-                url: '/provider-members',
-                data: {
-                    authorities: [
-                      'ROLE_ADMIN',
-                      'ROLE_CSP_USER',
-                      'ROLE_PA_USER',
-                      'ROLE_CSP_OWNER',
-                      'ROLE_PA_OWNER',
-                      'ROLE_CSP_EXTERNAL'
-                    ]
-                },
-                views: {
-                    'content@': {
-                        templateUrl: 'app/provider/provider-members.html',
-                        controller: 'ProviderMembersController',
-                        controllerAs: 'vm'
-                    }
-                },
-                params: {
-                    page: {
-                        value: '1',
-                        squash: true
-                    },
-                    sort: {
-                        value: 'id,asc',
-                        squash: true
-                    }
-                },
-                resolve: {
-                    pagingParams: ['$stateParams', 'PaginationUtil', function ($stateParams, PaginationUtil) {
-                        return {
-                            page: PaginationUtil.parsePage($stateParams.page),
-                            sort: $stateParams.sort,
-                            predicate: PaginationUtil.parsePredicate($stateParams.sort),
-                            ascending: PaginationUtil.parseAscending($stateParams.sort)
-                        };
-                    }],
-                    translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate,$translatePartialLoader) {
-                        $translatePartialLoader.addPart('provider');
-                        return $translate.refresh();
-                    }]
-                }
-            })
-            .state('provider-members.new', {
-                url: '/new',
-                data: {
-                    authorities: [
-                      'ROLE_ADMIN',
-                      'ROLE_CSP_OWNER',
-                      'ROLE_PA_OWNER'
-                    ]
-                },
-                onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                    $uibModal.open({
-                        templateUrl: 'app/provider/provider-members-dialog.html',
-                        controller: 'ProviderMembersDialogController',
-                        controllerAs: 'vm',
-                        backdrop: 'static',
-                        size: 'lg',
-                        resolve: {
-                            entity: function () {
-                                return {
-                                  id: null, login: null, firstName: null, lastName: null, email: null,
-                                  company: null, usersGroup:null, userType: null, creditCardType: null,
-                                  creditCard: null, cifOrVat: null, activated: true, langKey: null,
-                                  createdBy: null, createdDate: null, lastModifiedBy: null,
-                                  lastModifiedDate: null, resetDate: null, resetKey: null, authorities: null
-                                };
-                            }
-                        }
-                    }).result.then(function() {
-                        $state.go('provider-members', null, { reload: true });
-                    }, function() {
-                        $state.go('provider-members');
-                    });
-                }]
-            })
-            .state('provider-members.edit', {
-                url: '/{login}/edit',
-                data: {
-                    authorities: [
-                      'ROLE_ADMIN',
-                      'ROLE_CSP_OWNER',
-                      'ROLE_PA_OWNER'
-                    ]
-                },
-                onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                    $uibModal.open({
-                        templateUrl: 'app/provider/provider-members-dialog.html',
-                        controller: 'ProviderMembersDialogController',
-                        controllerAs: 'vm',
-                        backdrop: 'static',
-                        size: 'lg',
-                        resolve: {
-                            entity: ['User', function(User) {
-                                return User.get({login : $stateParams.login});
-                            }]
-                        }
-                    }).result.then(function() {
-                        $state.go('provider-members', null, { reload: true });
-                    }, function() {
-                        $state.go('^');
-                    });
-                }]
-            })
-            .state('provider-members.delete', {
-                url: '/{login}/delete',
-                data: {
-                    authorities: [
-                      'ROLE_ADMIN',
-                      'ROLE_CSP_OWNER',
-                      'ROLE_PA_OWNER'
-                    ]
-                },
-                onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
-                    $uibModal.open({
-                        templateUrl: 'app/provider/provider-members-delete-dialog.html',
-                        controller: 'ProviderMembersDeleteController',
-                        controllerAs: 'vm',
-                        size: 'md',
-                        resolve: {
-                            entity: ['User', function(User) {
-                                return User.get({login : $stateParams.login});
-                            }]
-                        }
-                    }).result.then(function() {
-                        $state.go('provider-members', null, { reload: true });
-                    }, function() {
-                        $state.go('^');
-                    });
-                }]
-            });
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.controller.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.controller.js
deleted file mode 100644
index 528bc734a25179245fb6ccad38b24a6773805caf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.controller.js
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .controller('SearchController', SearchController);
-
-    SearchController.$inject = ['$scope', 'Principal', '$translate', '$state', '$stateParams', 'ServiceClass', 'Service', 'ServiceAttributeType', 'ServiceClassTypicalAttribute'];
-
-    function SearchController ($scope, Principal, $translate, $state, $stateParams, ServiceClass, Service, ServiceAttributeType, ServiceClassTypicalAttribute) {
-        var vm = this;
-        vm.service = {};
-        vm.selectedAttributeType = {
-        	key: null,
-        	text: null,
-        	value: null
-        };
-
-        vm.filter = new Array();
-        vm.results = new Array();
-
-        // Obtenemos la información del usuario logueado (en caso de estarlo)
-        $scope.$on('authenticationSuccess', function() {
-            getAccount();
-        });
-
-        getAccount();
-
-        function getAccount() {
-            Principal.identity().then(function(account) {
-                vm.account = account;
-            });
-        }
-
-        loadServiceClasses();
-
-        // Cargar lista de clases de servicio
-        function loadServiceClasses() {
-        	ServiceClass.query(function(result) {
-        		if (result != null && result.length > 0) {
-        			// Cargar lista de tipos de atributo
-        			ServiceAttributeType.query(function(resultAttr) {
-        				if (resultAttr != null && resultAttr.length > 0) {
-        					vm.attributeTypes = resultAttr;
-        				}
-        			});
-        		}
-        		vm.serviceClasses = result;
-        	});
-        }
-        
-        
-
-        // Carga la lista de atributos
-        $scope.loadAttributes = function() {
-        	vm.aditionalAttribute = {
-        		key: 0,
-                name: "",
-                value: "",
-                mandatoryenumeration: false,
-                enumerationvalues: null,
-                text: ""
-            };
-        	vm.arraySelectedAttributes = new Array();
-        	vm.arrayTypicalAttributeValues = null;
-
-        	// Cargar atributos
-        	ServiceClassTypicalAttribute.query(function(resultTypical) {
-        		vm.arrayTypicalAttributes = new Array();
-        		if (resultTypical != null && resultTypical.length > 0) {
-        			// Cargar lista de tipos de atributos
-        			ServiceAttributeType.query(function(resultAttr) {
-        				vm.serviceAttributeTypes = resultAttr;
-        				if (vm.serviceAttributeTypes != null && vm.serviceAttributeTypes.length > 0) {
-        					// Cargar lista de atributos típicos de la clase de servicio seleccionada
-        					for (var i = 0;i < resultTypical.length;i++) {
-        	        			if (vm.service.serviceclass.id == resultTypical[i].serviceclassid) {
-        	        				for (var j = 0;j < vm.serviceAttributeTypes.length;j++) {
-        	        					if (resultTypical[i].serviceattributetypeid == vm.serviceAttributeTypes[j].id) {
-        	        						resultTypical[i].attributename = vm.serviceAttributeTypes[j].serviceattributetypename;
-        	        						resultTypical[i].mandatoryenumeration = vm.serviceAttributeTypes[j].mandatoryenumeration;
-        	        						var obj = JSON.parse(vm.serviceAttributeTypes[j].enumerationvalues);
-        	        						var arrayEnumerationValues = new Array();
-        	        						for (var clave in obj) {
-        	        							if (obj.hasOwnProperty(clave)) {
-	        	        							var element = {
-	        	        								key: clave,
-	        	        								value: obj[clave]
-	        	        							};
-	        	        							arrayEnumerationValues.push(element);
-        	        							}
-        	        						}
-        	        						resultTypical[i].enumerationvalues = arrayEnumerationValues;
-        	        						break;
-        	        					}
-        	        				}
-        	        				vm.arrayTypicalAttributes.push(resultTypical[i]);
-        	        			}
-        	        		}
-
-        					// Cargar lista de atributos adicionales
-        					vm.arrayAditionalAttributes = new Array();
-		        			for (var i = 0;i < vm.serviceAttributeTypes.length;i++) {
-		        				// Comprobar si el atributo figura como atributo típico de la clase del servicio
-	        					for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        						var found = false;
-	        						if (vm.arrayTypicalAttributes[j].serviceattributetypeid == vm.serviceAttributeTypes[i].id) {
-	        							found = true;
-	        							break;
-	        						}
-	        					}
-	        					// Si el atributo no figura como típico, añadirlo como adicional
-	        					if (!found) {
-	        						vm.arrayAditionalAttributes.push(vm.serviceAttributeTypes[i]);
-		        				}
-		        			}
-        				}
-
-        				// Modo edición: cargar valores de atributos
-        				if (vm.service.id != null && vm.service.id != 0) {
-	        				ServiceAttributeValue.query(function(resultValues) {
-	        	   				if (resultValues != null && resultValues.length > 0) {
-	        	   					vm.arrayTypicalAttributeValues = new Array();
-	        	   					for (var i = 0;i < resultValues.length;i++) {
-	        	   						if (resultValues[i].serviceid == vm.service.id) {
-	        	   							// Cargar atributos típicos
-	        	   							for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        	   								if (vm.arrayTypicalAttributes[j].serviceattributetypeid == resultValues[i].serviceattributetypeid) {
-	        	   									vm.arrayTypicalAttributeValues[resultValues[i].serviceattributetypeid] = resultValues[i].serviceattributevalue;
-	        	   								}
-	        	   							}
-
-	        	   							// Cargar atributos adicionales
-	        	   							var found = false;
-	        	   							for (var j = 0;j < vm.arrayTypicalAttributes.length;j++) {
-	        	   								if (vm.arrayTypicalAttributes[j].serviceattributetypeid == resultValues[i].serviceattributetypeid) {
-	        	   									found = true;
-	        	   									break;
-	        	   								}
-	        	   							}
-	        	   							if (!found && vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0) {
-	        	   								for (var j = 0;j < vm.arrayAditionalAttributes.length;j++) {
-	        	   									if (resultValues[i].serviceattributetypeid == vm.arrayAditionalAttributes[j].id) {
-	        	   										var textValue = resultValues[i].serviceattributevalue;
-	        	   										if (vm.arrayAditionalAttributes[j].mandatoryenumeration) {
-	        	   							            	var obj = JSON.parse(vm.arrayAditionalAttributes[j].enumerationvalues);
-	        	   							            	for (var clave in obj) {
-	        	   												if (obj.hasOwnProperty(clave) && clave == resultValues[i].serviceattributevalue) {
-	        	   													textValue = obj[clave];
-	        	   													break;
-	        	   												}
-	        	   							            	}
-	        	   						            	}
-	        	   										var attr = {
-	        	   											key: vm.arrayAditionalAttributes[j].id,
-	                	   					                name: vm.arrayAditionalAttributes[j].serviceattributetypename,
-	                	   					                value: resultValues[i].serviceattributevalue,
-	                	   					                mandatoryenumeration: vm.arrayAditionalAttributes[j].mandatoryenumeration,
-	                	   					                enumerationvalues: vm.arrayAditionalAttributes[j].enumerationvalues,
-	                	   					                text: textValue
-	                	   					            };
-	        	   										vm.arraySelectedAttributes.push(attr);
-	        	   										break;
-	        	   									}
-	        	   								}
-	        	   							}
-	        	   						}
-	        	   					}
-	        	   				}
-	        	        	});
-        				}
-        			});
-	        	}
-        	});
-        }
-
-
-        // Función que añade un atributo adicional
-        $scope.addAttribute = function() {
-        	if (vm.aditionalAttribute.key != '0' && vm.aditionalAttribute.value != '') {
-        		var values = vm.aditionalAttribute.key.split('#');
-            	vm.aditionalAttribute.key = values[0];
-            	vm.aditionalAttribute.name = values[1];
-            	vm.aditionalAttribute.mandatoryenumeration = values[2] == 'true' ? true : false;
-            	vm.aditionalAttribute.enumerationvalues = values[3];
-            	if (!vm.aditionalAttribute.mandatoryenumeration) {
-            		vm.aditionalAttribute.text = vm.aditionalAttribute.value;
-            	} else {
-	            	var obj = JSON.parse(vm.aditionalAttribute.enumerationvalues);
-	            	for (var clave in obj) {
-						if (obj.hasOwnProperty(clave) && clave == vm.aditionalAttribute.value) {
-							vm.aditionalAttribute.text = obj[clave];
-							break;
-						}
-	            	}
-            	}
-            	vm.arraySelectedAttributes.push(vm.aditionalAttribute);
-            	vm.aditionalAttribute = {
-                   	key: 0,
-                   	name: "",
-                   	value: "",
-                   	mandatoryenumeration: false,
-                    enumerationvalues: null,
-                    text: ""
-            	};
-        	}
-        }
-
-        // Función que elimina un atributo adicional
-        $scope.removeAttribute = function(index) {
-        	vm.arraySelectedAttributes.splice(index, 1);
-        }
-
-        // Función de selección de un atributo adicional
-        $scope.selectAditionalAttribute = function() {
-        	var values = vm.aditionalAttribute.key.split('#');
-        	vm.aditionalAttribute.name = values[1];
-        	vm.aditionalAttribute.mandatoryenumeration = values[2] == 'true' ? true : false;
-        	if (vm.aditionalAttribute.mandatoryenumeration) {
-        		vm.aditionalAttribute.enumerationvalues = JSON.parse(values[3]);
-        	}
-        }
-
-        // Envío de formulario
-        $scope.submitSearch = function() {
-        	// Construir filtro
-        	var strFilter = vm.service.serviceclassid;
-        	if (vm.filter.length > 0) {
-        		for (var i = 0;i < vm.filter.length;i++) {
-        			strFilter += '%#%<' + vm.filter[i].key + '>:<' + vm.filter[i].value + '>';
-        		}
-        	}
-
-    		// Ejecutar consulta
-        	Service.query({filter: strFilter}, function(result) {
-        		vm.results = result;
-        	});
-        }
-
-
-        // Cambio de clase seleccionada
-        $scope.changeClass = function() {
-        	vm.filter = new Array();
-        	$scope.submitSearch();
-        }
-
-        // Función que añade un tipo de atributo
-        $scope.addAttributeType = function() {
-        	if (vm.selectedAttributeType.key != null && vm.selectedAttributeType.value != null && vm.selectedAttributeType.value != "") {
-        		var values = vm.selectedAttributeType.key.split('#');
-        		vm.selectedAttributeType.key = values[0];
-        		vm.selectedAttributeType.text = values[1];
-
-        		// Comprobar si existe la entrada del filtro
-        		var found = false;
-       			for (var i = 0;i < vm.filter.length;i++) {
-       				if (vm.filter[i].key == vm.selectedAttributeType.key) {
-       					found = true;
-       					vm.filter[i].value = vm.selectedAttributeType.value;
-       				}
-       			}
-       			if (!found) {
-       				vm.filter.push(vm.selectedAttributeType);
-       			}
-
-       			// Reinicar objeto
-       			vm.selectedAttributeType = {
-       		        key: null,
-       		        text: null,
-       		        value: null
-       			};
-
-       			// Ejecutar consulta
-       			$scope.submitSearch();
-        	}
-        }
-
-
-        // Función que elimina un tipo de atributo
-        $scope.removeAttributeType = function(index) {
-        	vm.filter.splice(index, 1);
-
-        	// Ejecutar consulta
-   			$scope.submitSearch();
-        }
-
-        // Función de creación de un servicio
-        $scope.submitSaveService = function() {
-        	// Construir attributos a insertar/modificar
-        	var array = new Array();
-
-        	// Añadir atributos típicos
-        	if (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0 && vm.arrayTypicalAttributeValues != null) {
-        		for (var key in vm.arrayTypicalAttributeValues) {
-        			if (vm.arrayTypicalAttributeValues.hasOwnProperty(key)) {
-        				array.push(key);
-        				array.push(vm.arrayTypicalAttributeValues[key]);
-        			}
-        		}
-        	}
-
-        	// Añadir atributos adicionales
-        	if (vm.arraySelectedAttributes != null && vm.arraySelectedAttributes.length > 0) {
-        		for (var i = 0;i < vm.arraySelectedAttributes.length;i++) {
-        			array.push(vm.arraySelectedAttributes[i].key);
-        			array.push(vm.arraySelectedAttributes[i].value);
-        		}
-        	}
-
-        	// Si el servicio no tiene atributos, enviar un atributo ficticio para que funcione el guardado
-        	if (array.length == 0) {
-            	array.push("0");
-        	}
-
-        	// Guardar
-            Service.save({attributes: array}, vm.service, onSaveServiceSuccess, onSaveServiceError);
-        }
-
-        // Función de éxito en alta/modificación de servicio
-        function onSaveServiceSuccess(result) {
-        	vm.service = null;
-        	vm.arrayTypicalAttributes = null;
-        	vm.arrayAditionalAttributes = null;
-        }
-
-
-        // Función de error en alta/modificación de servicio
-        function onSaveServiceError() {}
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.html
deleted file mode 100644
index ea66d8ebef294f5727808d456fb056dbf35045f5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.html
+++ /dev/null
@@ -1,239 +0,0 @@
-    <div class="row">
-        <!-- PA -->
-        <div class="col-md-12" has-any-authority="ROLE_ADMIN, ROLE_PA_USER, ROLE_PA_OWNER">
-            <h1 data-translate="search.titlepa">Search services</h1>
-            <form name="searchForm" role="form" ng-submit="submitSearch()">
-            	<!-- Filtro -->
-            	<div class="form-group">
-		            <label class="control-label" data-translate="search.form.serviceClass" for="field_serviceClass">Service Class</label>
-		            <select class="form-control" id="field_serviceClass" name="field_serviceClass" ng-model="vm.service.serviceclassid" ng-change="changeClass()">
-						<option ng-repeat="serviceclass in vm.serviceClasses" value="{{ serviceclass.id }}">
-							{{ serviceclass.serviceclassname }}
-						</option>
-					</select>
-		            <div ng-show="searchForm.field_serviceClass.$invalid">
-		                <p class="help-block"
-		                    ng-show="searchForm.field_serviceClass.$error.required" data-translate="entity.validation.required">
-		                    This field is required.
-		                </p>
-		            </div>
-		        </div>
-
-		        <div ng-show="vm.service.serviceclassid != null && vm.attributeTypes != null && vm.attributeTypes.length > 0">
-		        	<div ng-show="vm.filter != null && vm.filter.length > 0">
-		        		<table style="width: 100%;">
-		        			<tr ng-repeat="attr in vm.filter">
-		        				<td style="width: 93%;">
-		        					<div class="form-group">
-		        						<input type="text" class="form-control" value="{{ attr.text }} : {{ attr.value }}" disabled />
-		        					</div>
-		        				</td>
-		        				<td style="width: 1%;">&nbsp;</td>
-		        				<td style="width: 6%;">
-		        					<div class="form-group">
-			        					<button type="button" class="btn btn-danger btn-sm" ng-click="removeAttributeType($index)">
-											<span class="glyphicon glyphicon-minus"></span>
-										</button>
-									</div>
-		        				</td>
-		        			</tr>
-		        		</table>
-		        	</div>
-
-		        	<label class="control-label" data-translate="search.form.addFilter">Add filter</label>
-		        	<table style="width: 100%;">
-						<tr>
-							<td style="width: 6%;">&nbsp;</td>
-        					<td style="width: 42%;">
-	        					<label class="sublabel" data-translate="search.form.attributeType">Attribute type</label>
-        					</td>
-		        			<td style="width: 3%;">&nbsp;</td>
-		        			<td style="width: 42%;">
-		        				<label class="sublabel" data-translate="search.form.attributeTypeValue">Attribute type value</label>
-		        			</td>
-		        			<td style="width: 1%;">&nbsp;</td>
-		        			<td style="width: 6%;">&nbsp;</td>
-		        		</tr>
-		        		<tr>
-		        			<td style="width: 6%;">&nbsp;</td>
-        					<td style="width: 42%;">
-        						<select class="form-control" id="fieldAttributeType" name="fieldAttributeType" ng-model="vm.selectedAttributeType.key">
-									<option ng-repeat="attr in vm.attributeTypes" value="{{attr.id}}#{{attr.serviceattributetypename}}">
-					        			{{attr.serviceattributetypename}}
-					    			</option>
-					    		</select>
-	        				</td>
-		        			<td style="width: 3%;">&nbsp;</td>
-		        			<td style="width: 42%;">
-	        					<input type="text" class="form-control" id="fieldAttributeTypeValue" name="fieldAttributeTypeValue" ng-model="vm.selectedAttributeType.value" />
-		        			</td>
-		        			<td style="width: 1%;">&nbsp;</td>
-		        			<td style="width: 6%;">
-	        					<button type="button" class="btn btn-success btn-sm" ng-click="addAttributeType()">
-				                    <span class="glyphicon glyphicon-plus"></span>
-								</button>
-	        				</td>
-		        		</tr>
-		        	</table>
-		        </div>
-
-
-				<!-- Resultados  -->
-		        <div class="table-responsive" ng-show="vm.results != null && vm.results.length > 0">
-		        	<hr/>
-			        <h1 data-translate="search.titleresults" translate-values="{len: '{{ vm.results.length }}'}">Results</h1>
-					<table class="jh-table table table-striped">
-		            	<thead>
-		                	<tr>
-		                    	<th><span data-translate="acsmiApp.service.serviceName">Service Name</span></th>
-		                    	<th></th>
-		                	</tr>
-		            	</thead>
-		            	<tbody>
-		                	<tr ng-repeat="service in vm.results track by service.id">
-  		                		<!-- Service Name -->
-	  		                	<td ng-show="service.deleteddate == null">
-	                  			     <a ui-sref="service-detail({id:service.id})">{{service.servicename}}</a>
-	                  			</td>
-                      			<td ng-show="service.deleteddate != null" class="registry-deleted">{{service.servicename}}</td>
-                        		<td class="text-right">
-									<div class="btn-group flex-btn-group-container">
-										<button type="submit"
-											ui-sref="service-detail({id:service.id})"
-											class="btn btn-info btn-sm">
-											<span class="glyphicon glyphicon-eye-open"></span>
-											<span class="hidden-sm-down" data-translate="entity.action.view"></span>
-										</button>
-                        			</div>
-								</td>
-							</tr>
-						</tbody>
-					</table>
-				</div>
-            </form>
-        </div>
-
-
-
-
-        <!-- CSP -->
-        <div class="col-md-12" has-any-authority="ROLE_ADMIN, ROLE_CSP_OWNER, ROLE_CSP_USER, ROLE_CSP_EXTERNAL">
-			<h1 data-translate="search.titlecsp">Create service</h1>
-			<form name="createForm" role="form" ng-submit="submitSaveService()">
-				<div class="modal-body">
-					<jhi-alert></jhi-alert>
-	       			<jhi-alert-error></jhi-alert-error>
-		        	<div class="form-group">
-	            		<label class="control-label" data-translate="acsmiApp.service.serviceName" for="field_serviceName">Service Name</label>
-	            		<input type="text" class="form-control" name="servicename" id="field_serviceName" ng-model="vm.service.servicename" ng-maxlength="70" required />
-	            		<div ng-show="editForm.servicename.$invalid">
-	                		<p class="help-block" ng-show="editForm.servicename.$error.required" data-translate="entity.validation.required">
-	                    		This field is required.
-	                		</p>
-	                		<p class="help-block" ng-show="editForm.servicename.$error.maxlength" data-translate="entity.validation.maxlength" translate-value-max="70">
-	                    		This field cannot be longer than 70 characters.
-	                		</p>
-	            		</div>
-	        		</div>
-	        		<div class="form-group">
-	            		<label class="control-label" data-translate="acsmiApp.service.serviceClass" for="field_serviceclass">Service class</label>
-	            		<select class="form-control" id="field_serviceclass" name="serviceclass" ng-model="vm.service.serviceclass" ng-options="serviceclass as serviceclass.serviceclassname for serviceclass in vm.serviceClasses | filter:{deleteddate: '!'} track by serviceclass.id" ng-disabled="vm.service.id != null && vm.service.id != 0" ng-change="loadAttributes()" required>
-	            		</select>
-	            		<div ng-show="editForm.serviceclass.$invalid">
-	                		<p class="help-block" ng-show="editForm.serviceclass.$error.required" data-translate="entity.validation.required">
-	                    		This field is required.
-	                		</p>
-	            		</div>
-	        		</div>
-
-	        		<!-- Typical attributes -->
-	        		<div class="form-group" ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0)">
-	        			<hr /><label class="control-label" data-translate="acsmiApp.service.serviceClassTypicalAttributes">Typical attributes</label>
-	        		</div>
-	        		<div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayTypicalAttributes != null && vm.arrayTypicalAttributes.length > 0)" ng-repeat="srv in vm.arrayTypicalAttributes | orderBy: 'weight'">
-	        			<div class="form-group">
-	        				<label class="control-label" for="fieldTyp_{{ srv.id }}">{{ srv.attributename }}</label>
-	        				<input type="text" class="form-control" name="{{ 'fieldTyp_' + srv.id }}" id="{{ 'fieldTyp_' + srv.id }}" ng-model="vm.arrayTypicalAttributeValues[srv.serviceattributetypeid]" ng-required="{{ srv.mandatory }}" ng-maxlength="50" ng-show="!srv.mandatoryenumeration" />
-			        		<select class="form-control" id="{{ 'fieldTyp_' + srv.id }}" name="{{ 'fieldTyp_' + srv.id }}" ng-model="vm.arrayTypicalAttributeValues[srv.serviceattributetypeid]" ng-show="srv.mandatoryenumeration">
-								<option ng-repeat="enum in srv.enumerationvalues" value="{{ enum.key }}">
-									{{ enum.value }}
-								</option>
-							</select>
-	        				<div ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$invalid">
-		                		<p class="help-block" ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$error.required" data-translate="entity.validation.required">
-		                    		This field is required.
-		                		</p>
-		                		<p class="help-block" ng-show="editForm.{{ 'fieldTyp_' + srv.id }}.$error.maxlength" data-translate="entity.validation.maxlength" translate-value-max="50">
-		                    		This field cannot be longer than 50 characters.
-		                		</p>
-	            			</div>
-	        			</div>
-	        		</div>
-
-	        		<!-- Aditional attributes -->
-	        		<div class="form-group" ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0)">
-	        			<hr /><label class="control-label" data-translate="acsmiApp.service.serviceClassAditionalAttributes">Aditional attributes</label>
-	        		</div>
-	        		<div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arraySelectedAttributes != null && vm.arraySelectedAttributes.length > 0)">
-	        			<table style="width: 100%;">
-	        				<tr ng-repeat="attr in vm.arraySelectedAttributes">
-	        					<td style="width: 21%;">
-	        						<div class="form-group">
-	        							<label class="sublabel">{{ attr.name }}</label>
-	        						</div>
-	        					</td>
-	        					<td style="width: 1%;">&nbsp;</td>
-	        					<td style="width: 71%;">
-	        						<div class="form-group">
-	        							<input type="text" class="form-control" value="{{ attr.text }}" disabled />
-	        						</div>
-	        					</td>
-	        					<td style="width: 1%;">&nbsp;</td>
-	        					<td style="width: 6%;">
-	        						<div class="form-group">
-		        						<button type="button" class="btn btn-danger btn-sm" ng-click="removeAttribute($index)">
-											<span class="glyphicon glyphicon-minus"></span>
-										</button>
-									</div>
-	        					</td>
-	        				</tr>
-	        			</table>
-	        		</div>
-	        		<div ng-show="(vm.service.id != null && vm.service.id != 0) || (vm.arrayAditionalAttributes != null && vm.arrayAditionalAttributes.length > 0)">
-	        			<div class="form-group">
-	        				<table style="width: 100%;">
-	        					<tr>
-	        						<td style="width: 42%;">
-	        							<select class="form-control" id="fieldAditionalAttribute" name="fieldAditionalAttribute" ng-model="vm.aditionalAttribute.key" ng-change="selectAditionalAttribute()">
-											<option ng-repeat="attr in vm.arrayAditionalAttributes" value="{{attr.id}}#{{attr.serviceattributetypename}}#{{attr.mandatoryenumeration}}#{{attr.enumerationvalues}}">
-					        					{{attr.serviceattributetypename}}
-					    					</option>
-										</select>
-	        						</td>
-	        						<td style="width: 1%;">&nbsp;</td>
-	        						<td style="width: 50%;">
-	        							<input type="text" class="form-control" id="fieldAditionalAttributeValue" name="fieldAditionalAttributeValue" ng-model="vm.aditionalAttribute.value" ng-maxlength="255" ng-show="!vm.aditionalAttribute.mandatoryenumeration" ng-disabled="vm.aditionalAttribute.key == null || vm.aditionalAttribute.key == '' || vm.aditionalAttribute.key == 0" />
-	        							<select class="form-control" id="fieldAditionalAttributeValue" name="fieldAditionalAttributeValue" ng-model="vm.aditionalAttribute.value" ng-options="key as value for (key , value) in vm.aditionalAttribute.enumerationvalues" ng-show="vm.aditionalAttribute.mandatoryenumeration" ng-disabled="vm.aditionalAttribute.key == null || vm.aditionalAttribute.key == '' || vm.aditionalAttribute.key == 0">
-			            				</select>
-	        						</td>
-	        						<td style="width: 1%;">&nbsp;</td>
-	        						<td style="width: 6%;">
-	        							<button type="button" class="btn btn-success btn-sm" ng-click="addAttribute()">
-				                    		<span class="glyphicon glyphicon-plus"></span>
-										</button>
-	        						</td>
-	        					</tr>
-	        				</table>
-						</div>
-	        		</div>
-				</div>
-
-				<div class="modal-footer">
-					<button type="submit" ng-disabled="createForm.$invalid || vm.isSaving" class="btn btn-primary">
-						<span class="glyphicon glyphicon-save"></span>&nbsp;<span data-translate="entity.action.save">Save</span>
-					</button>
-				</div>
-
-			</form>
-		</div>
-	</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.state.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.state.js
deleted file mode 100644
index 314a1fdf9670e8c8963575e5002d23f519c5ff0b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/search/search.state.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-   angular
-        .module('acsmiApp')
-        .config(stateConfig);
-
-    stateConfig.$inject = ['$stateProvider'];
-
-    function stateConfig($stateProvider) {
-        $stateProvider
-        .state('search', {
-            parent: 'app',
-            url: '/search',
-            data: {
-                authorities: ['ROLE_ADMIN', 'ROLE_PA_USER', 'ROLE_PA_OWNER', 'ROLE_CSP_USER', 'ROLE_CSP_OWNER', 'ROLE_CSP_EXTERNAL']
-            },
-            views: {
-                'content@': {
-                    templateUrl: 'app/search/search.html',
-                    controller: 'SearchController',
-                    controllerAs: 'vm'
-                }
-            },
-            resolve: {
-                translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate,$translatePartialLoader) {
-                    $translatePartialLoader.addPart('search');
-                    $translatePartialLoader.addPart('service');
-                    $translatePartialLoader.addPart('global');
-                    return $translate.refresh();
-                }]
-            }
-        })
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/account.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/account.service.js
deleted file mode 100644
index cebdec3a45a4b87467cba47639eddbb95a058f8d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/account.service.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Account', Account);
-
-    Account.$inject = ['$resource'];
-
-    function Account ($resource) {
-        var service = $resource('api/account', {}, {
-            'get': { method: 'GET', params: {}, isArray: false,
-                interceptor: {
-                    response: function(response) {
-                        // expose response
-                        return response;
-                    }
-                }
-            }
-        });
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/activate.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/activate.service.js
deleted file mode 100644
index 69cbb407d5b3b070f5ff3311ec326781f5cf772a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/activate.service.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Activate', Activate);
-
-    Activate.$inject = ['$resource'];
-
-    function Activate ($resource) {
-        var service = $resource('api/activate', {}, {
-            'get': { method: 'GET', params: {}, isArray: false}
-        });
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.jwt.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.jwt.service.js
deleted file mode 100644
index 18558e6294b448f5b7859d043f5f57d64e80aa4d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.jwt.service.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('AuthServerProvider', AuthServerProvider);
-
-    AuthServerProvider.$inject = ['$http', '$localStorage', '$sessionStorage', '$q'];
-
-    function AuthServerProvider ($http, $localStorage, $sessionStorage, $q) {
-        var service = {
-            getToken: getToken,
-            login: login,
-            loginWithToken: loginWithToken,
-            storeAuthenticationToken: storeAuthenticationToken,
-            logout: logout
-        };
-
-        return service;
-
-        function getToken () {
-            return $localStorage.authenticationToken || $sessionStorage.authenticationToken;
-        }
-
-        function login (credentials) {
-
-            var data = {
-                username: credentials.username,
-                password: credentials.password,
-                rememberMe: credentials.rememberMe
-            };
-            return $http.post('api/authenticate', data).success(authenticateSuccess);
-
-            function authenticateSuccess (data, status, headers) {
-                var bearerToken = headers('Authorization');
-                if (angular.isDefined(bearerToken) && bearerToken.slice(0, 7) === 'Bearer ') {
-                    var jwt = bearerToken.slice(7, bearerToken.length);
-                    service.storeAuthenticationToken(jwt, credentials.rememberMe);
-                    return jwt;
-                }
-            }
-        }
-
-        function loginWithToken(jwt, rememberMe) {
-            var deferred = $q.defer();
-
-            if (angular.isDefined(jwt)) {
-                this.storeAuthenticationToken(jwt, rememberMe);
-                deferred.resolve(jwt);
-            } else {
-                deferred.reject();
-            }
-
-            return deferred.promise;
-        }
-
-        function storeAuthenticationToken(jwt, rememberMe) {
-            if(rememberMe){
-                $localStorage.authenticationToken = jwt;
-            } else {
-                $sessionStorage.authenticationToken = jwt;
-            }
-        }
-
-        function logout () {
-            delete $localStorage.authenticationToken;
-            delete $sessionStorage.authenticationToken;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.service.js
deleted file mode 100644
index 671bd573211453e20f9295b1d32774f4987e2e1b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/auth.service.js
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Auth', Auth);
-
-    Auth.$inject = ['$rootScope', '$state', '$sessionStorage', '$q', '$translate', 'Principal', 'AuthServerProvider', 'Account', 'LoginService', 'Register', 'Activate', 'Password', 'PasswordResetInit', 'PasswordResetFinish', 'JhiTrackerService'];
-
-    function Auth ($rootScope, $state, $sessionStorage, $q, $translate, Principal, AuthServerProvider, Account, LoginService, Register, Activate, Password, PasswordResetInit, PasswordResetFinish, JhiTrackerService) {
-        var service = {
-            activateAccount: activateAccount,
-            authorize: authorize,
-            changePassword: changePassword,
-            createAccount: createAccount,
-            getPreviousState: getPreviousState,
-            login: login,
-            logout: logout,
-            loginWithToken: loginWithToken,
-            resetPasswordFinish: resetPasswordFinish,
-            resetPasswordInit: resetPasswordInit,
-            resetPreviousState: resetPreviousState,
-            storePreviousState: storePreviousState,
-            updateAccount: updateAccount
-        };
-
-        return service;
-
-        function activateAccount (key, callback) {
-            var cb = callback || angular.noop;
-
-            return Activate.get(key,
-                function (response) {
-                    return cb(response);
-                },
-                function (err) {
-                    return cb(err);
-                }.bind(this)).$promise;
-        }
-
-        function authorize (force) {
-            var authReturn = Principal.identity(force).then(authThen);
-
-            return authReturn;
-
-            function authThen () {
-                var isAuthenticated = Principal.isAuthenticated();
-
-                // an authenticated user can't access to login and register pages
-                if (isAuthenticated && $rootScope.toState.parent === 'account' && ($rootScope.toState.name === 'login' || $rootScope.toState.name === 'register' || $rootScope.toState.name === 'social-auth')) {
-                    $state.go('home');
-                }
-
-                // recover and clear previousState after external login redirect (e.g. oauth2)
-                if (isAuthenticated && !$rootScope.fromState.name && getPreviousState()) {
-                    var previousState = getPreviousState();
-                    resetPreviousState();
-                    $state.go(previousState.name, previousState.params);
-                }
-
-                if ($rootScope.toState.data.authorities && $rootScope.toState.data.authorities.length > 0 && !Principal.hasAnyAuthority($rootScope.toState.data.authorities)) {
-                    if (isAuthenticated) {
-                        // user is signed in but not authorized for desired state
-                        $state.go('accessdenied');
-                    }
-                    else {
-                        // user is not authenticated. stow the state they wanted before you
-                        // send them to the login service, so you can return them when you're done
-                        storePreviousState($rootScope.toState.name, $rootScope.toStateParams);
-
-                        // now, send them to the signin state so they can log in
-                        $state.go('accessdenied').then(function() {
-                            LoginService.open();
-                        });
-                    }
-                }
-            }
-        }
-
-        function changePassword (newPassword, callback) {
-            var cb = callback || angular.noop;
-
-            return Password.save(newPassword, function () {
-                return cb();
-            }, function (err) {
-                return cb(err);
-            }).$promise;
-        }
-
-        function createAccount (account, callback) {
-            var cb = callback || angular.noop;
-
-            return Register.save(account,
-                function () {
-                    return cb(account);
-                },
-                function (err) {
-                    this.logout();
-                    return cb(err);
-                }.bind(this)).$promise;
-        }
-
-        function login (credentials, callback) {
-            var cb = callback || angular.noop;
-            var deferred = $q.defer();
-
-            AuthServerProvider.login(credentials)
-                .then(loginThen)
-                .catch(function (err) {
-                    this.logout();
-                    deferred.reject(err);
-                    return cb(err);
-                }.bind(this));
-
-            function loginThen (data) {
-                Principal.identity(true).then(function(account) {
-                    // After the login the language will be changed to
-                    // the language selected by the user during his registration
-                    if (account!== null) {
-                        $translate.use(account.langKey).then(function () {
-                            $translate.refresh();
-                        });
-                    }
-                    JhiTrackerService.sendActivity();
-                    deferred.resolve(data);
-                });
-                return cb();
-            }
-
-            return deferred.promise;
-        }
-
-        function loginWithToken(jwt, rememberMe) {
-            return AuthServerProvider.loginWithToken(jwt, rememberMe);
-        }
-
-        function logout () {
-            AuthServerProvider.logout();
-            Principal.authenticate(null);
-        }
-
-        function resetPasswordFinish (keyAndPassword, callback) {
-            var cb = callback || angular.noop;
-
-            return PasswordResetFinish.save(keyAndPassword, function () {
-                return cb();
-            }, function (err) {
-                return cb(err);
-            }).$promise;
-        }
-
-        function resetPasswordInit (mail, callback) {
-            var cb = callback || angular.noop;
-
-            return PasswordResetInit.save(mail, function() {
-                return cb();
-            }, function (err) {
-                return cb(err);
-            }).$promise;
-        }
-
-        function updateAccount (account, callback) {
-            var cb = callback || angular.noop;
-
-            return Account.save(account,
-                function () {
-                    return cb(account);
-                },
-                function (err) {
-                    return cb(err);
-                }.bind(this)).$promise;
-        }
-
-        function getPreviousState() {
-            var previousState = $sessionStorage.previousState;
-            return previousState;
-        }
-
-        function resetPreviousState() {
-            delete $sessionStorage.previousState;
-        }
-
-        function storePreviousState(previousStateName, previousStateParams) {
-            var previousState = { "name": previousStateName, "params": previousStateParams };
-            $sessionStorage.previousState = previousState;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-any-authority.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-any-authority.directive.js
deleted file mode 100644
index 62f81d087202c4a478cb75d712cf53241135db10..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-any-authority.directive.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('hasAnyAuthority', hasAnyAuthority);
-
-    hasAnyAuthority.$inject = ['Principal'];
-
-    function hasAnyAuthority(Principal) {
-        var directive = {
-            restrict: 'A',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc(scope, element, attrs) {
-            var authorities = attrs.hasAnyAuthority.replace(/\s+/g, '').split(',');
-
-            var setVisible = function () {
-                    element.removeClass('hidden');
-                },
-                setHidden = function () {
-                    element.addClass('hidden');
-                },
-                defineVisibility = function (reset) {
-                    var result;
-                    if (reset) {
-                        setVisible();
-                    }
-
-                    result = Principal.hasAnyAuthority(authorities);
-                    if (result) {
-                        setVisible();
-                    } else {
-                        setHidden();
-                    }
-                };
-
-            if (authorities.length > 0) {
-                defineVisibility(true);
-
-                scope.$watch(function() {
-                    return Principal.isAuthenticated();
-                }, function() {
-                    defineVisibility(true);
-                });
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-authority.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-authority.directive.js
deleted file mode 100644
index b08d18d7fa234c74eca4035d5960607b62c9bff8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/has-authority.directive.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('hasAuthority', hasAuthority);
-
-    hasAuthority.$inject = ['Principal'];
-
-    function hasAuthority(Principal) {
-        var directive = {
-            restrict: 'A',
-            link: linkFunc
-        };
-
-        return directive;
-
-        function linkFunc(scope, element, attrs) {
-            var authority = attrs.hasAuthority.replace(/\s+/g, '');
-
-            var setVisible = function () {
-                    element.removeClass('hidden');
-                },
-                setHidden = function () {
-                    element.addClass('hidden');
-                },
-                defineVisibility = function (reset) {
-
-                    if (reset) {
-                        setVisible();
-                    }
-
-                    Principal.hasAuthority(authority)
-                        .then(function (result) {
-                            if (result) {
-                                setVisible();
-                            } else {
-                                setHidden();
-                            }
-                        });
-                };
-
-            if (authority.length > 0) {
-                defineVisibility(true);
-
-                scope.$watch(function() {
-                    return Principal.isAuthenticated();
-                }, function() {
-                    defineVisibility(true);
-                });
-            }
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-finish.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-finish.service.js
deleted file mode 100644
index 9014e51cbc0b512f03b471f2b348146fff4ccc41..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-finish.service.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('PasswordResetFinish', PasswordResetFinish);
-
-    PasswordResetFinish.$inject = ['$resource'];
-
-    function PasswordResetFinish($resource) {
-        var service = $resource('api/account/reset_password/finish', {}, {});
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-init.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-init.service.js
deleted file mode 100644
index 5756053ff3244a7415a8b6016f3f47db4458e821..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password-reset-init.service.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('PasswordResetInit', PasswordResetInit);
-
-    PasswordResetInit.$inject = ['$resource'];
-
-    function PasswordResetInit($resource) {
-        var service = $resource('api/account/reset_password/init', {}, {});
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password.service.js
deleted file mode 100644
index ae8790f363e1de0ab47cb52dd6aa55f6589a3e57..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/password.service.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Password', Password);
-
-    Password.$inject = ['$resource'];
-
-    function Password($resource) {
-        var service = $resource('api/account/change_password', {}, {});
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/principal.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/principal.service.js
deleted file mode 100644
index 13713b614525cf49168036a4585f57276e326953..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/principal.service.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Principal', Principal);
-
-    Principal.$inject = ['$q', 'Account', 'JhiTrackerService'];
-
-    function Principal ($q, Account, JhiTrackerService) {
-        var _identity,
-            _authenticated = false;
-
-        var service = {
-            authenticate: authenticate,
-            hasAnyAuthority: hasAnyAuthority,
-            hasAuthority: hasAuthority,
-            identity: identity,
-            isAuthenticated: isAuthenticated,
-            isIdentityResolved: isIdentityResolved
-        };
-
-        return service;
-
-        function authenticate (identity) {
-            _identity = identity;
-            _authenticated = identity !== null;
-        }
-
-        function hasAnyAuthority (authorities) {
-            if (!_authenticated || !_identity || !_identity.authorities) {
-                return false;
-            }
-
-            for (var i = 0; i < authorities.length; i++) {
-                if (_identity.authorities.indexOf(authorities[i]) !== -1) {
-                    return true;
-                }
-            }
-
-            return false;
-        }
-
-        function hasAuthority (authority) {
-            if (!_authenticated) {
-                return $q.when(false);
-            }
-
-            return this.identity().then(function(_id) {
-                return _id.authorities && _id.authorities.indexOf(authority) !== -1;
-            }, function(){
-                return false;
-            });
-        }
-
-        function identity (force) {
-            var deferred = $q.defer();
-
-            if (force === true) {
-                _identity = undefined;
-            }
-
-            // check and see if we have retrieved the identity data from the server.
-            // if we have, reuse it by immediately resolving
-            if (angular.isDefined(_identity)) {
-                deferred.resolve(_identity);
-
-                return deferred.promise;
-            }
-
-            // retrieve the identity data from the server, update the identity object, and then resolve.
-            Account.get().$promise
-                .then(getAccountThen)
-                .catch(getAccountCatch);
-
-            return deferred.promise;
-
-            function getAccountThen (account) {
-                _identity = account.data;
-                _authenticated = true;
-                deferred.resolve(_identity);
-                JhiTrackerService.connect();
-            }
-
-            function getAccountCatch () {
-                _identity = null;
-                _authenticated = false;
-                deferred.resolve(_identity);
-            }
-        }
-
-        function isAuthenticated () {
-            return _authenticated;
-        }
-
-        function isIdentityResolved () {
-            return angular.isDefined(_identity);
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/register.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/register.service.js
deleted file mode 100644
index 4918b6aa375f5c36d891b024599fde57b1721321..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/auth/register.service.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('Register', Register);
-
-    Register.$inject = ['$resource'];
-
-    function Register ($resource) {
-        return $resource('api/register', {}, {});
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/page-ribbon.directive.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/page-ribbon.directive.js
deleted file mode 100644
index c4ed4938add47a69bf6e7bb21b9eda8cbbba7b3a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/page-ribbon.directive.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .directive('pageRibbon', pageRibbon);
-
-    pageRibbon.$inject = ['ProfileService', '$rootScope', '$translate'];
-
-    function pageRibbon(ProfileService, $rootScope, $translate) {
-        var directive = {
-            replace : true,
-            restrict : 'AE',
-            template : '<div class="ribbon hidden"><a href="" data-translate="global.ribbon.{{ribbonEnv}}">{{ribbonEnv}}</a></div>',
-            link : linkFunc
-        };
-
-        return directive;
-
-        function linkFunc(scope, element, attrs) {
-            ProfileService.getProfileInfo().then(function(response) {
-                if (response.ribbonEnv) {
-                    scope.ribbonEnv = response.ribbonEnv;
-                    element.addClass(response.ribbonEnv);
-                    element.removeClass('hidden');
-                }
-            });
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/profile.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/profile.service.js
deleted file mode 100644
index 911c1becaadfad279ba50a14197b798cf5bbc9a3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/profiles/profile.service.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function() {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('ProfileService', ProfileService);
-
-    ProfileService.$inject = ['$http'];
-
-    function ProfileService($http) {
-
-        var dataPromise;
-
-        var service = {
-            getProfileInfo : getProfileInfo
-        };
-
-        return service;
-
-        function getProfileInfo() {
-            if (angular.isUndefined(dataPromise)) {
-                dataPromise = $http.get('api/profile-info').then(function(result) {
-                    if (result.data.activeProfiles) {
-                        var response = {};
-                        response.activeProfiles = result.data.activeProfiles;
-                        response.ribbonEnv = result.data.ribbonEnv;
-                        response.inProduction = result.data.activeProfiles.indexOf("prod") !== -1;
-                        response.swaggerEnabled = result.data.activeProfiles.indexOf("swagger") !== -1;
-                        return response;
-                    }
-                });
-            }
-            return dataPromise;
-        }
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/user/user.service.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/user/user.service.js
deleted file mode 100644
index a47979b49a5026b1b135c1ca44b92a15b8753f52..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/app/services/user/user.service.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-(function () {
-    'use strict';
-
-    angular
-        .module('acsmiApp')
-        .factory('User', User);
-
-    User.$inject = ['$resource'];
-
-    function User ($resource) {
-        var service = $resource('api/users/:login', {}, {
-            'query': {method: 'GET', isArray: true},
-            'get': {
-                method: 'GET',
-                transformResponse: function (data) {
-                    data = angular.fromJson(data);
-                    return data;
-                }
-            },
-            'save': { method:'POST' },
-            'update': { method:'PUT' },
-            'delete':{ method:'DELETE'}
-        });
-
-        return service;
-    }
-})();
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/documentation.css b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/documentation.css
deleted file mode 100644
index ba600a3f9030b1bbd122ce21eda5b49251cd20ec..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/documentation.css
+++ /dev/null
@@ -1,3 +0,0 @@
-/*!
- * Your CSS files will be generated in this directory by "gulp sass"
- */
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/main.css b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/main.css
deleted file mode 100644
index 79f85a34acf23606918f060a3e4d4880edfe5efa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/css/main.css
+++ /dev/null
@@ -1,329 +0,0 @@
-body {
-    background: #fafafa;
-    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-    color: #333;
-}
-
-/* ==========================================================================
-Hide ng-cloak on page load, https://docs.angularjs.org/api/ng/directive/ngCloak
-========================================================================== */
-[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
-    display: none !important;
-}
-
-/* ==========================================================================
-Development Ribbon
-========================================================================== */
-.ribbon {
-    background-color: #a00;
-    box-shadow: 0 0 10px #888;
-    left: -3.5em;
-    moz-box-shadow: 0 0 10px #888;
-    moz-transform: rotate(-45deg);
-    ms-transform: rotate(-45deg);
-    o-transform: rotate(-45deg);
-    overflow: hidden;
-    position: absolute;
-    top: 40px;
-    transform: rotate(-45deg);
-    webkit-box-shadow: 0 0 10px #888;
-    webkit-transform: rotate(-45deg);
-    white-space: nowrap;
-    width: 15em;
-    z-index: 9999;
-    pointer-events: none;
-}
-
-.ribbon a {
-    border: 1px solid #faa;
-    color: #fff;
-    display: block;
-    font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif;
-    margin: 1px 0;
-    padding: 10px 50px;
-    text-align: center;
-    text-decoration: none;
-    text-shadow: 0 0 5px #444;
-    pointer-events: none;
-}
-
-/* ==========================================================================
-Version number in navbar
-========================================================================== */
-.navbar-version {
-    font-size: 10px;
-    color: #ccc
-}
-
-/* ==========================================================================
-Browser Upgrade Prompt
-========================================================================== */
-.browserupgrade {
-    margin: 0.2em 0;
-    background: #ccc;
-    color: #000;
-    padding: 0.2em 0;
-}
-
-/* ==========================================================================
-Logo styles
-========================================================================== */
-.navbar-brand.logo {
-    padding: 5px 15px;
-}
-
-.logo .logo-img {
-    height: 45px;
-    display: inline-block;
-}
-
-/* ==========================================================================
-Main page styles
-========================================================================== */
-.hero-unit {
-    margin: 50px auto 0 auto;
-    width: 300px;
-    font-size: 18px;
-    font-weight: 200;
-    line-height: 30px;
-    background-color: #eee;
-    border-radius: 6px;
-    padding: 60px;
-}
-
-.hero-unit h1 {
-    font-size: 60px;
-    line-height: 1;
-    letter-spacing: -1px;
-}
-
-.tecnalia {
-    display: block;
-    margin: auto;
-    width: 1190px;
-    height: 101px;
-    background: url("../images/decide_footer.png") no-repeat center top;
-    background-size: contain;
-}
-
-/* wait autoprefixer update to allow simple generation of high pixel density media query */
-@media
-only screen and (-webkit-min-device-pixel-ratio: 2),
-only screen and (   min--moz-device-pixel-ratio: 2),
-only screen and (     -o-min-device-pixel-ratio: 2/1),
-only screen and (        min-device-pixel-ratio: 2),
-only screen and (                min-resolution: 192dpi),
-only screen and (                min-resolution: 2dppx) {
-    .tecnalia {
-        background: url("../images/decide_footer.png") no-repeat center top;
-        background-size: contain;
-    }
-}
-
-/* ==========================================================================
-Generic styles
-========================================================================== */
-.error {
-    color: white;
-    background-color: red;
-}
-
-.pad {
-    padding: 10px;
-}
-
-.break {
-    white-space: normal;
-    word-break:break-all;
-}
-
-.voffset  { margin-top: 2px; }
-.voffset1 { margin-top: 5px; }
-.voffset2 { margin-top: 10px; }
-.voffset3 { margin-top: 15px; }
-.voffset4 { margin-top: 30px; }
-.voffset5 { margin-top: 40px; }
-.voffset6 { margin-top: 60px; }
-.voffset7 { margin-top: 80px; }
-.voffset8 { margin-top: 100px; }
-.voffset9 { margin-top: 150px; }
-
-.readonly {
-    background-color: #eee;
-    opacity: 1;
-}
-
-/* ==========================================================================
-make sure browsers use the pointer cursor for anchors, even with no href
-========================================================================== */
-a:hover, .hand, [jh-sort-by] {
-    cursor: pointer;
-}
-
-/* ==========================================================================
-Metrics and Health styles
-========================================================================== */
-#threadDump .popover, #healthCheck .popover {
-    top: inherit;
-    display: block;
-    font-size: 10px;
-    max-width: 1024px;
-}
-
-#healthCheck .popover {
-    margin-left: -50px;
-}
-
-.health-details {
-    min-width: 400px;
-}
-
-/* ==========================================================================
-start Password strength bar style
-========================================================================== */
-ul#strengthBar {
-    display:inline;
-    list-style:none;
-    margin:0;
-    margin-left:15px;
-    padding:0;
-    vertical-align:2px;
-}
-
-.point:last {
-    margin:0 !important;
-}
-.point {
-    background:#DDD;
-    border-radius:2px;
-    display:inline-block;
-    height:5px;
-    margin-right:1px;
-    width:20px;
-}
-
-/* ==========================================================================
-Custom alerts for notification
-========================================================================== */
-.alerts .alert{
-    text-overflow: ellipsis;
-}
-.alert pre{
-    background: none;
-    border: none;
-    font: inherit;
-    color: inherit;
-    padding: 0;
-    margin: 0;
-}
-
-.alert .popover pre {
-    font-size: 10px;
-}
-
-.alerts .toast {
-    position: fixed;
-    width: 100%;
-}
-
-.alerts .toast.left {
-    left: 5px;
-}
-
-.alerts .toast.right {
-    right: 5px;
-}
-
-.alerts .toast.top {
-    top: 55px;
-}
-
-.alerts .toast.bottom {
-    bottom: 55px;
-}
-
-@media screen and (min-width: 480px) {
-    .alerts .toast {
-        width: 50%;
-    }
-}
-
-/* ==========================================================================
-entity tables helpers
-========================================================================== */
-/* Remove Bootstrap padding from the element
-   http://stackoverflow.com/questions/19562903/remove-padding-from-columns-in-bootstrap-3 */
-.no-padding-left { padding-left: 0 !important; }
-.no-padding-right { padding-right: 0 !important; }
-.no-padding-top { padding-top: 0 !important; }
-.no-padding-bottom { padding-bottom: 0 !important; }
-.no-padding { padding: 0 !important; }
-
-/* bootstrap 3 input-group 100% width
-   http://stackoverflow.com/questions/23436430/bootstrap-3-input-group-100-width */
-.width-min { width: 1% !important; }
-
-/* Makes toolbar not wrap on smaller screens
- http://www.sketchingwithcss.com/samplechapter/cheatsheet.html#right */
-.flex-btn-group-container {
-   display: -webkit-flex;
-   display: flex;
-   -webkit-flex-direction: row;
-   flex-direction: row;
-   -webkit-justify-content: flex-end;
-   justify-content: flex-end;
-}
-
-.jh-table > tbody > tr > td {
-    /* Align text in td vertically (top aligned by Bootstrap) */
-    vertical-align: middle;
-}
-
-.jh-table > thead > tr > th > .glyphicon-sort, .jh-table > thead > tr > th > .glyphicon-sort-by-attributes, .jh-table > thead > tr > th > .glyphicon-sort-by-attributes-alt {
-    /* less visible sorting icons */
-    opacity: 0.5;
-}
-
-.jh-table > thead > tr > th > .glyphicon-sort:hover, .jh-table > thead > tr > th > .glyphicon-sort-by-attributes:hover, .jh-table > thead > tr > th > .glyphicon-sort-by-attributes-alt:hover {
-    /* full visible sorting icons and pointer when mouse is over them */
-    opacity: 1;
-    cursor: pointer;
-}
-
-/* ==========================================================================
-entity detail page css
-========================================================================== */
-.dl-horizontal.jh-entity-details > dd {
-    margin-bottom: 15px;
-}
-
-@media screen and (min-width: 768px) {
-    .dl-horizontal.jh-entity-details > dt {
-        margin-bottom: 15px;
-    }
-
-    .dl-horizontal.jh-entity-details > dd {
-        border-bottom: 1px solid #eee;
-        padding-left: 180px;
-        margin-left: 0;
-    }
-}
-
-/* ==========================================================================
-ui bootstrap tweaks
-========================================================================== */
-.nav, .pagination, .carousel, .panel-title a {
-    cursor: pointer;
-}
-
-.datetime-picker-dropdown > li.date-picker-menu div > table .btn-default,
-.uib-datepicker-popup  > li > div.uib-datepicker > table .btn-default {
-    border: 0;
-}
-
-.datetime-picker-dropdown > li.date-picker-menu div > table:focus,
-.uib-datepicker-popup  > li > div.uib-datepicker > table:focus {
-    outline: none;
-}
-
-/* jhipster-needle-css-add-main JHipster will add new css style */
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_footer.png b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_footer.png
deleted file mode 100644
index 9559fbda5bcec88171b4f8bd04c68f5b6c2723c1..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_footer.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_logo.png b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_logo.png
deleted file mode 100644
index a21776b875bdd8a7b5fcb5313881487559bf7acd..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/decide_logo.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/tecnalia_logo.png b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/tecnalia_logo.png
deleted file mode 100644
index 8bf0fb54abb3544995159e45a01b58edf892037c..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/content/images/tecnalia_logo.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/favicon.ico b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/favicon.ico
deleted file mode 100644
index d5a476f9c53a9f174cbe850e7dc559951425b9ae..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/favicon.ico and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_en.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_en.js
deleted file mode 100644
index f794bab8bd207085081972a3039f63f3fbf52c52..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_en.js
+++ /dev/null
@@ -1,143 +0,0 @@
-'use strict';
-angular.module("ngLocale", [], ["$provide", function($provide) {
-var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
-function getDecimals(n) {
-  n = n + '';
-  var i = n.indexOf('.');
-  return (i == -1) ? 0 : n.length - i - 1;
-}
-
-function getVF(n, opt_precision) {
-  var v = opt_precision;
-
-  if (undefined === v) {
-    v = Math.min(getDecimals(n), 3);
-  }
-
-  var base = Math.pow(10, v);
-  var f = ((n * base) | 0) % base;
-  return {v: v, f: f};
-}
-
-$provide.value("$locale", {
-  "DATETIME_FORMATS": {
-    "AMPMS": [
-      "AM",
-      "PM"
-    ],
-    "DAY": [
-      "Sunday",
-      "Monday",
-      "Tuesday",
-      "Wednesday",
-      "Thursday",
-      "Friday",
-      "Saturday"
-    ],
-    "ERANAMES": [
-      "Before Christ",
-      "Anno Domini"
-    ],
-    "ERAS": [
-      "BC",
-      "AD"
-    ],
-    "FIRSTDAYOFWEEK": 6,
-    "MONTH": [
-      "January",
-      "February",
-      "March",
-      "April",
-      "May",
-      "June",
-      "July",
-      "August",
-      "September",
-      "October",
-      "November",
-      "December"
-    ],
-    "SHORTDAY": [
-      "Sun",
-      "Mon",
-      "Tue",
-      "Wed",
-      "Thu",
-      "Fri",
-      "Sat"
-    ],
-    "SHORTMONTH": [
-      "Jan",
-      "Feb",
-      "Mar",
-      "Apr",
-      "May",
-      "Jun",
-      "Jul",
-      "Aug",
-      "Sep",
-      "Oct",
-      "Nov",
-      "Dec"
-    ],
-    "STANDALONEMONTH": [
-      "January",
-      "February",
-      "March",
-      "April",
-      "May",
-      "June",
-      "July",
-      "August",
-      "September",
-      "October",
-      "November",
-      "December"
-    ],
-    "WEEKENDRANGE": [
-      5,
-      6
-    ],
-    "fullDate": "EEEE, MMMM d, y",
-    "longDate": "MMMM d, y",
-    "medium": "MMM d, y h:mm:ss a",
-    "mediumDate": "MMM d, y",
-    "mediumTime": "h:mm:ss a",
-    "short": "M/d/yy h:mm a",
-    "shortDate": "M/d/yy",
-    "shortTime": "h:mm a"
-  },
-  "NUMBER_FORMATS": {
-    "CURRENCY_SYM": "$",
-    "DECIMAL_SEP": ".",
-    "GROUP_SEP": ",",
-    "PATTERNS": [
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 3,
-        "minFrac": 0,
-        "minInt": 1,
-        "negPre": "-",
-        "negSuf": "",
-        "posPre": "",
-        "posSuf": ""
-      },
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 2,
-        "minFrac": 2,
-        "minInt": 1,
-        "negPre": "-\u00a4",
-        "negSuf": "",
-        "posPre": "\u00a4",
-        "posSuf": ""
-      }
-    ]
-  },
-  "id": "en",
-  "localeID": "en",
-  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
-});
-}]);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_es.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_es.js
deleted file mode 100644
index 07c4d2abcec46aabb937430c7128cd739db41a18..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_es.js
+++ /dev/null
@@ -1,125 +0,0 @@
-'use strict';
-angular.module("ngLocale", [], ["$provide", function($provide) {
-var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
-$provide.value("$locale", {
-  "DATETIME_FORMATS": {
-    "AMPMS": [
-      "a. m.",
-      "p. m."
-    ],
-    "DAY": [
-      "domingo",
-      "lunes",
-      "martes",
-      "mi\u00e9rcoles",
-      "jueves",
-      "viernes",
-      "s\u00e1bado"
-    ],
-    "ERANAMES": [
-      "antes de Cristo",
-      "despu\u00e9s de Cristo"
-    ],
-    "ERAS": [
-      "a. C.",
-      "d. C."
-    ],
-    "FIRSTDAYOFWEEK": 0,
-    "MONTH": [
-      "enero",
-      "febrero",
-      "marzo",
-      "abril",
-      "mayo",
-      "junio",
-      "julio",
-      "agosto",
-      "septiembre",
-      "octubre",
-      "noviembre",
-      "diciembre"
-    ],
-    "SHORTDAY": [
-      "dom.",
-      "lun.",
-      "mar.",
-      "mi\u00e9.",
-      "jue.",
-      "vie.",
-      "s\u00e1b."
-    ],
-    "SHORTMONTH": [
-      "ene.",
-      "feb.",
-      "mar.",
-      "abr.",
-      "may.",
-      "jun.",
-      "jul.",
-      "ago.",
-      "sept.",
-      "oct.",
-      "nov.",
-      "dic."
-    ],
-    "STANDALONEMONTH": [
-      "Enero",
-      "Febrero",
-      "Marzo",
-      "Abril",
-      "Mayo",
-      "Junio",
-      "Julio",
-      "Agosto",
-      "Septiembre",
-      "Octubre",
-      "Noviembre",
-      "Diciembre"
-    ],
-    "WEEKENDRANGE": [
-      5,
-      6
-    ],
-    "fullDate": "EEEE, d 'de' MMMM 'de' y",
-    "longDate": "d 'de' MMMM 'de' y",
-    "medium": "d MMM y H:mm:ss",
-    "mediumDate": "d MMM y",
-    "mediumTime": "H:mm:ss",
-    "short": "d/M/yy H:mm",
-    "shortDate": "d/M/yy",
-    "shortTime": "H:mm"
-  },
-  "NUMBER_FORMATS": {
-    "CURRENCY_SYM": "\u20ac",
-    "DECIMAL_SEP": ",",
-    "GROUP_SEP": ".",
-    "PATTERNS": [
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 3,
-        "minFrac": 0,
-        "minInt": 1,
-        "negPre": "-",
-        "negSuf": "",
-        "posPre": "",
-        "posSuf": ""
-      },
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 2,
-        "minFrac": 2,
-        "minInt": 1,
-        "negPre": "-",
-        "negSuf": "\u00a0\u00a4",
-        "posPre": "",
-        "posSuf": "\u00a0\u00a4"
-      }
-    ]
-  },
-  "id": "es",
-  "localeID": "es",
-  "pluralCat": function(n, opt_precision) {  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
-});
-}]);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_it.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_it.js
deleted file mode 100644
index 9b6a662ff89e8fe25f17241dacee6b2c955c5af7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/angular-locale_it.js
+++ /dev/null
@@ -1,143 +0,0 @@
-'use strict';
-angular.module("ngLocale", [], ["$provide", function($provide) {
-var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
-function getDecimals(n) {
-  n = n + '';
-  var i = n.indexOf('.');
-  return (i == -1) ? 0 : n.length - i - 1;
-}
-
-function getVF(n, opt_precision) {
-  var v = opt_precision;
-
-  if (undefined === v) {
-    v = Math.min(getDecimals(n), 3);
-  }
-
-  var base = Math.pow(10, v);
-  var f = ((n * base) | 0) % base;
-  return {v: v, f: f};
-}
-
-$provide.value("$locale", {
-  "DATETIME_FORMATS": {
-    "AMPMS": [
-      "AM",
-      "PM"
-    ],
-    "DAY": [
-      "domenica",
-      "luned\u00ec",
-      "marted\u00ec",
-      "mercoled\u00ec",
-      "gioved\u00ec",
-      "venerd\u00ec",
-      "sabato"
-    ],
-    "ERANAMES": [
-      "a.C.",
-      "d.C."
-    ],
-    "ERAS": [
-      "aC",
-      "dC"
-    ],
-    "FIRSTDAYOFWEEK": 0,
-    "MONTH": [
-      "gennaio",
-      "febbraio",
-      "marzo",
-      "aprile",
-      "maggio",
-      "giugno",
-      "luglio",
-      "agosto",
-      "settembre",
-      "ottobre",
-      "novembre",
-      "dicembre"
-    ],
-    "SHORTDAY": [
-      "dom",
-      "lun",
-      "mar",
-      "mer",
-      "gio",
-      "ven",
-      "sab"
-    ],
-    "SHORTMONTH": [
-      "gen",
-      "feb",
-      "mar",
-      "apr",
-      "mag",
-      "giu",
-      "lug",
-      "ago",
-      "set",
-      "ott",
-      "nov",
-      "dic"
-    ],
-    "STANDALONEMONTH": [
-      "Gennaio",
-      "Febbraio",
-      "Marzo",
-      "Aprile",
-      "Maggio",
-      "Giugno",
-      "Luglio",
-      "Agosto",
-      "Settembre",
-      "Ottobre",
-      "Novembre",
-      "Dicembre"
-    ],
-    "WEEKENDRANGE": [
-      5,
-      6
-    ],
-    "fullDate": "EEEE d MMMM y",
-    "longDate": "d MMMM y",
-    "medium": "dd MMM y HH:mm:ss",
-    "mediumDate": "dd MMM y",
-    "mediumTime": "HH:mm:ss",
-    "short": "dd/MM/yy HH:mm",
-    "shortDate": "dd/MM/yy",
-    "shortTime": "HH:mm"
-  },
-  "NUMBER_FORMATS": {
-    "CURRENCY_SYM": "\u20ac",
-    "DECIMAL_SEP": ",",
-    "GROUP_SEP": ".",
-    "PATTERNS": [
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 3,
-        "minFrac": 0,
-        "minInt": 1,
-        "negPre": "-",
-        "negSuf": "",
-        "posPre": "",
-        "posSuf": ""
-      },
-      {
-        "gSize": 3,
-        "lgSize": 3,
-        "maxFrac": 2,
-        "minFrac": 2,
-        "minInt": 1,
-        "negPre": "-",
-        "negSuf": "\u00a0\u00a4",
-        "posPre": "",
-        "posSuf": "\u00a0\u00a4"
-      }
-    ]
-  },
-  "id": "it",
-  "localeID": "it",
-  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
-});
-}]);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/activate.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/activate.json
deleted file mode 100644
index 6a13b1dee2c0729ddd2e38f1a54fd69c04a7d7c8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/activate.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-    "activate": {
-        "title": "Activation",
-        "messages": {
-            "success": "<strong>Your user account has been activated.</strong> Please <a class=\"alert-link\" href=\"\" ng-click=\"vm.login()\">sign in</a>.",
-            "error": "<strong>Your user could not be activated.</strong> Please use the registration form to sign up."
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/audits.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/audits.json
deleted file mode 100644
index ed5e16d4c5447c3f9baf75edeee2222818bf2b9a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/audits.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-    "audits": {
-        "title": "Audits",
-        "filter": {
-            "title": "Filter per date",
-            "from": "from",
-            "to": "to",
-            "button": {
-                "weeks": "Weeks",
-                "today": "today",
-                "clear": "clear",
-                "close": "close"
-            }
-        },
-        "table": {
-            "header": {
-                "principal": "User",
-                "date": "Date",
-                "status": "State",
-                "data": "Extra data"
-            },
-            "data": {
-                "remoteAddress": "Remote Address:"
-            }
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/category.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/category.json
deleted file mode 100644
index 24e01d9b88d74665e978f6d38b92677640cc7d69..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/category.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-    "acsmiApp": {
-        "Category" : {
-            "null": "",
-            "TOTAL": "TOTAL",
-            "PARTIAL": "PARTIAL",
-            "SIMPLE": "SIMPLE"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/configuration.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/configuration.json
deleted file mode 100644
index 81e208de5c0bbb15f2eb3fb60d9281943d0e2292..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/configuration.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-    "configuration": {
-        "title": "Configuration",
-        "filter": "Filter (by prefix)",
-        "table": {
-            "prefix": "Prefix",
-            "properties": "Properties"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/error.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/error.json
deleted file mode 100644
index 65246c3b0308c05c24197f4e2a3b4689275b4bc3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/error.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-    "error": {
-        "title": "Error page!",
-        "403": "You are not authorized to access the page."
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/gateway.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/gateway.json
deleted file mode 100644
index 8c8bbd7e981c9455cce9cc485492ba8a849485b4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/gateway.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "gateway": {
-        "title": "Gateway",
-        "routes": {
-            "title": "Current routes",
-            "url": "URL",
-            "service": "service",
-            "servers": "Available servers",
-            "error": "Warning: no server available!"
-        },
-        "refresh": {
-            "button": "Refresh"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/global.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/global.json
deleted file mode 100644
index 055ba0071fbf4dd422a4e1c345d6478bff0bbf25..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/global.json
+++ /dev/null
@@ -1,218 +0,0 @@
-{
-    "global": {
-        "title": "ACSmI Advanced Cloud Service meta Intermediator",
-        "browsehappy": "You are using an <strong>outdated</strong> browser. Please <a href=\"http://browsehappy.com/?locale=en\">upgrade your browser</a> to improve your experience.",
-        "menu": {
-            "home": "Home",
-            "search": {
-                "main": "Discover",
-                "services": "Services",
-                "jhipster-needle-menu-add-entry": "JHipster will add additional entities here (do not translate!)"
-            },
-            "jhipster-needle-menu-add-element": "JHipster will add additional menu entries here (do not translate!)",
-            "entities": {
-                "main": "Entities",
-                "users": "Users",
-                "groups": "Groups",
-                "groupsRoles": "Groups Roles",
-                "permissions": "Permissions",
-                "service": "Services",
-                "serviceInstance": "Service Instances",
-                "policy": "Policy",
-                "rol": "Rol",
-                "serviceClass": "Service classes",
-                "jhipster-needle-menu-add-entry": "JHipster will add additional entities here (do not translate!)"
-            },
-            "provider": {
-              "usersPanel": "Users Panel",
-              "members": "Members",
-              "customers": "Customers"
-            },
-            "myresources": {
-            	"main": "My resources",
-            	"myservices": {
-            		"main": "My services"
-            	}
-            },
-            "account": {
-                "main": "Account",
-                "settings": "Settings",
-                "password": "Password",
-                "sessions": "Sessions",
-                "login": "Sign in",
-                "logout": "Sign out",
-                "register": "Register"
-            },
-            "admin": {
-                "main": "Administration",
-                "gateway": "Gateway",
-                "userManagement": "User management",
-                "tracker": "User tracker",
-                "metrics": "Metrics",
-                "health": "Health",
-                "configuration": "Configuration",
-                "logs": "Logs",
-                "audits": "Audits",
-                "apidocs": "API",
-                "database": "Database",
-                "jhipster-needle-menu-add-admin-element": "JHipster will add additional menu entries here (do not translate!)"
-            },
-            "language": "Language"
-        },
-        "form": {
-            "firstname": "First name",
-            "firstname.placeholder": "Your first name",
-            "lastname": "Last name",
-            "lastname.placeholder": "Your last name",
-            "username": "Username",
-            "username.placeholder": "Your username",
-            "newpassword": "New password",
-            "newpassword.placeholder": "New password",
-            "confirmpassword": "New password confirmation",
-            "confirmpassword.placeholder": "Confirm the new password",
-            "email": "Email",
-            "email.placeholder": "Your email",
-            "company": "Company",
-            "company.placeholder": "Name of the company you work for",
-            "usertype": "User type",
-            "creditorcontract": "Credit Card / Contract Reference",
-            "creditcardtype": "Credit card type",
-            "creditcard": "Credit card",
-            "creditcard.placeholder": "Your credit card number",
-            "contractreference": "Contract reference",
-            "contractreference.placeholder": "Your contract reference number",
-            "ciforvat": "CIF / VAT",
-            "ciforvat.placeholder": "Your CIF / VAT number"
-        },
-        "messages": {
-            "info": {
-                "authenticated": "If you want to <a class=\"alert-link\" href=\"\" ng-click=\"vm.login()\">sign in</a>, you can try the default accounts:<br/>- Administrator (login=\"admin\" and password=\"admin\") <br/>- User (login=\"user\" and password=\"user\").",
-                "register": "You don't have an account yet? <a class=\"alert-link\" href=\"\" ng-click=\"vm.register()\">Register a new account</a>"
-            },
-            "error": {
-                "dontmatch": "The password and its confirmation do not match!"
-            },
-            "validate": {
-                "newpassword": {
-                    "required": "Your password is required.",
-                    "minlength": "Your password is required to be at least 4 characters.",
-                    "maxlength": "Your password cannot be longer than 50 characters.",
-                    "strength": "Password strength:"
-                },
-                "confirmpassword": {
-                    "required": "Your confirmation password is required.",
-                    "minlength": "Your confirmation password is required to be at least 4 characters.",
-                    "maxlength": "Your confirmation password cannot be longer than 50 characters."
-                },
-                "email": {
-                    "required": "Your email is required.",
-                    "invalid": "Your email is invalid.",
-                    "minlength": "Your email is required to be at least 5 characters.",
-                    "maxlength": "Your email cannot be longer than 50 characters."
-                },
-                "usersgroup": {
-                    "required": "Your users group is required.",
-                    "maxlength": "Your users group cannot be longer than 50 characters."
-                },
-                "creditcard": {
-                    "required": "Your credit card number is required.",
-                    "invalid": "Your credit card number is invalid.",
-                    "minlength": "Your credit card number must be at least 13 characters.",
-                    "maxlength": "Your credit card number cannot be longer than 16 characters."
-                },
-                "contractreference": {
-                    "required": "Your contract reference number is required.",
-                    "invalid": "Your contract reference number is invalid.",
-                    "minlength": "Your contract reference number must be at least 13 characters.",
-                    "maxlength": "Your contract reference number cannot be longer than 16 characters."
-                },
-                "ciforvat": {
-                    "required": "Your CIF / VAT number is required.",
-                    "minlength": "Your CIF / VAT number must be at least 8 characters.",
-                    "maxlength": "Your CIF / VAT number must be at least 12 characters."
-                }
-            }
-        },
-        "field": {
-            "id": "ID"
-        },
-        "ribbon": {
-            "dev":"Development"
-        }
-    },
-    "entity": {
-        "action": {
-            "addblob": "Add blob",
-            "addimage": "Add image",
-            "back": "Back",
-            "cancel": "Cancel",
-            "delete": "Delete",
-            "edit": "Edit",
-            "open": "Open",
-            "save": "Save",
-            "view": "View",
-            "reactivate": "Reactivate",
-            "softdelete": "Erase",
-            "list": "List",
-            "services": "Servicies",
-            "deactivate": "Deactivate",
-            "migrate": "Migrate"
-        },
-        "detail": {
-            "field": "Field",
-            "value": "Value"
-        },
-        "reactivate": {
-            "title": "Confirm reactivate operation"
-        },
-        "delete": {
-            "title": "Confirm delete operation"
-        },
-        "deactivate": {
-            "title": "Confirm deactivate operation"
-        },
-        "validation": {
-            "required": "This field is required.",
-            "minlength": "This field is required to be at least {{ min }} characters.",
-            "maxlength": "This field cannot be longer than {{ max }} characters.",
-            "min": "This field should be at least {{ min }}.",
-            "max": "This field cannot be more than {{ max }}.",
-            "minbytes": "This field should be at least {{ min }} bytes.",
-            "maxbytes": "This field cannot be more than {{ max }} bytes.",
-            "pattern": "This field should follow pattern for {{ pattern }}.",
-            "number": "This field should be a number.",
-            "datetimelocal": "This field should be a date and time."
-        }
-    },
-    "error": {
-        "internalServerError": "Internal server error",
-        "server.not.reachable": "Server not reachable",
-        "url.not.found": "Not found",
-        "NotNull": "Field {{ fieldName }} cannot be empty!",
-        "Size": "Field {{ fieldName }} does not meet min/max size requirements!",
-        "userexists": "Login name already used!",
-        "emailexists": "Email is already in use!",
-        "idexists": "A new {{ entityName }} cannot already have an ID",
-        "serviceNameExists": "The Service name is already registered",
-        "serviceCreateError": "Cannot create the Service",
-        "serviceUpdateError": "Cannot update the Service",
-        "serviceGetError": "Cannot get the Service",
-        "serviceDeleteError": "The Service cannot be deleted",
-        "serviceClassExists": "The Service class is already registered",
-        "serviceClassCreateError": "Cannot create the Service class",
-        "serviceClassUpdateError": "Cannot update the Service class",
-        "serviceClassGetError": "Cannot get the Service class",
-        "serviceClassDeleteError": "The Service class cannot be deleted",
-        "serviceClassTypicalAttributeGetError": "Cannot get the Service class typical attribute",
-        "serviceAttributeTypeGetError": "Cannot get the Service attribute type",
-        "serviceAttributeValueCreateError": "Cannot create the Service attribute value",
-        "serviceAttributeValueUpdateError": "Cannot update the Service attribute value",
-        "serviceAttributeValueGetError": "Cannot get the Service attribute value",
-        "serviceAttributeValueDeleteError": "The Service attribute value cannot be deleted",
-        "serviceInstanceCreateError": "Cannot create the Service Instance",
-        "serviceInstanceUpdateError": "Cannot update the Service Instance",
-        "serviceInstanceGetError": "Cannot get the Service Instance",
-        "serviceInstanceDeactivateError": "The Service cannot be deactivated"
-    },
-    "footer": "This is your footer"
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/health.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/health.json
deleted file mode 100644
index de998c2d315d98ce237e4545b65e741482d5ad34..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/health.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    "health": {
-        "title": "Health Checks",
-        "refresh.button": "Refresh",
-        "stacktrace": "Stacktrace",
-        "details": {
-            "details": "Details",
-            "properties": "Properties",
-            "name": "Name",
-            "value": "Value",
-            "error": "Error"
-        },
-        "indicator": {
-            "discoveryComposite": "Discovery Composite",
-            "refreshScope": "Microservice Refresh Scope",
-            "configServer": "Microservice Config Server",
-            "hystrix": "Hystrix",
-            "diskSpace": "Disk space",
-            "mail": "Email",
-            "db": "Database"
-        },
-        "table": {
-            "service": "Service name",
-            "status": "Status"
-        },
-        "status": {
-            "UP": "UP",
-            "DOWN": "DOWN"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/home.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/home.json
deleted file mode 100644
index e131f9fc470584a79cdc1d816865d4b52a34da11..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/home.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-    "home": {
-        "title": "Welcome to ACSmI!",
-        "subtitle": "This is the homepage",
-        "logged": {
-            "message": "You are logged in as user \"{{username}}\"."
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/login.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/login.json
deleted file mode 100644
index 3a000852e62ce11d7bcce7c2e5af4644db149829..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/login.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "login": {
-        "title": "Sign in",
-        "form": {
-            "password": "Password",
-            "password.placeholder": "Your password",
-            "rememberme": "Remember me",
-            "button": "Sign in"
-        },
-        "messages": {
-            "error": {
-                "authentication": "<strong>Failed to sign in!</strong> Please check your credentials and try again."
-            }
-        },
-        "password" : {
-            "forgot": "Did you forget your password?"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/logs.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/logs.json
deleted file mode 100644
index a614b128da5977a00f062d83ebd8431323d33584..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/logs.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "logs": {
-        "title": "Logs",
-        "nbloggers": "There are {{ total }} loggers.",
-        "filter": "Filter",
-        "table": {
-            "name": "Name",
-            "level": "Level"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/metrics.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/metrics.json
deleted file mode 100644
index 9d804947c5717a55b8c1d271ac465620ee03ac60..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/metrics.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
-    "metrics": {
-        "title": "Application Metrics",
-        "refresh.button": "Refresh",
-        "updating": "Updating...",
-        "jvm": {
-            "title": "JVM Metrics",
-            "memory": {
-                "title": "Memory",
-                "total": "Total Memory",
-                "heap": "Heap Memory",
-                "nonheap": "Non-Heap Memory"
-            },
-            "threads": {
-                "title": "Threads",
-                "all": "All",
-                "runnable": "Runnable",
-                "timedwaiting": "Timed waiting",
-                "waiting": "Waiting",
-                "blocked": "Blocked",
-                "dump": {
-                    "title": "Threads dump",
-                    "id": "Id: ",
-                    "blockedtime": "Blocked Time",
-                    "blockedcount": "Blocked Count",
-                    "waitedtime": "Waited Time",
-                    "waitedcount": "Waited Count",
-                    "lockname": "Lock name",
-                    "stacktrace": "Stacktrace",
-                    "show": "Show Stacktrace",
-                    "hide": "Hide Stacktrace"
-                }
-            },
-            "gc": {
-                "title": "Garbage collections",
-                "marksweepcount": "Mark Sweep count",
-                "marksweeptime": "Mark Sweep time",
-                "scavengecount": "Scavenge count",
-                "scavengetime": "Scavenge time"
-            },
-            "http": {
-                "title": "HTTP requests (events per second)",
-                "active": "Active requests:",
-                "total": "Total requests:",
-                "table": {
-                    "code": "Code",
-                    "count": "Count",
-                    "mean": "Mean",
-                    "average": "Average"
-                },
-                "code": {
-                    "ok": "Ok",
-                    "notfound": "Not found",
-                    "servererror": "Server Error"
-                }
-            }
-        },
-        "servicesstats": {
-            "title": "Services statistics (time in millisecond)",
-            "table": {
-                "name": "Service name",
-                "count": "Count",
-                "mean": "Mean",
-                "min": "Min",
-                "max": "Max",
-                "p50": "p50",
-                "p75": "p75",
-                "p95": "p95",
-                "p99": "p99"
-            }
-        },
-        "cache": {
-            "title": "Cache statistics",
-            "cachename": "Cache name",
-            "hits": "Cache Hits",
-            "misses": "Cache Misses",
-            "gets": "Cache Gets",
-            "puts": "Cache Puts",
-            "removals": "Cache Removals",
-            "evictions": "Cache Evictions",
-            "hitPercent": "Cache Hit %",
-            "missPercent": "Cache Miss %",
-            "averageGetTime": "Average get time (µs)",
-            "averagePutTime": "Average put time (µs)",
-            "averageRemoveTime": "Average remove time (µs)"
-        },
-        "datasource": {
-            "usage": "Usage",
-            "title": "DataSource statistics (time in millisecond)",
-            "name": "Pool usage",
-            "count": "Count",
-            "mean": "Mean",
-            "min": "Min",
-            "max": "Max",
-            "p50": "p50",
-            "p75": "p75",
-            "p95": "p95",
-            "p99": "p99"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/password.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/password.json
deleted file mode 100644
index 46227a77024cb89677950493b49796291fdb1546..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/password.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    "password": {
-        "title": "Password for [<b>{{username}}</b>]",
-        "form": {
-            "button": "Save"
-        },
-        "messages": {
-            "error":  "<strong>An error has occurred!</strong> The password could not be changed.",
-            "success": "<strong>Password changed!</strong>"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/policy.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/policy.json
deleted file mode 100644
index aed0b180e369957c2ee6341bbcaa1339ef5ed94a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/policy.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    "acsmiApp": {
-        "policy" : {
-            "home": {
-                "title": "Policies",
-                "createLabel": "Create a new Policy",
-                "createOrEditLabel": "Create or edit a Policy"
-            },
-            "delete": {
-                "question": "Are you sure you want to delete Policy {{ id }}?"
-            },
-            "detail": {
-                "title": "Policy"
-            },
-            "name": "Name",
-            "description": "Description",
-            "group": "Group",
-            "category": "Category",
-            "status": "Status",
-            "deleteddate": "Deleteddate"
-        }
-    },
-    "acsmisupportApp": {
-        "policy" : {
-            "created": "A new Policy is created with identifier {{ param }}",
-            "updated": "A Policy is updated with identifier {{ param }}",
-            "deleted": "A Policy is deleted with identifier {{ param }}"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/provider.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/provider.json
deleted file mode 100644
index c7c9e835dbbc97537f3a950e46f7b43e6e155a22..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/provider.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    "provider": {
-        "home": {
-            "title-members": "Welcome to members panel!",
-            "title-customers": "Welcome to customers panel!",
-            "subtitle": "This is your panel",
-            "createLabel": "Create a new {{company}} user",
-            "createOrEditLabel": "Create or edit a {{company}} user"
-        },
-        "created": "A new user is created with identifier {{ param }}",
-        "updated": "A user is updated with identifier {{ param }}",
-        "deleted": "A user is deleted with identifier {{ param }}",
-        "delete": {
-            "question": "Are you sure you want to delete user <strong>{{ login }}</strong>?"
-        },
-        "logged": {
-            "message": "You are logged in as user \"{{username}}\"."
-        },
-        "login": "Login",
-        "firstName": "First name",
-        "lastName": "Last name",
-        "email": "Email",
-        "company": "Company",
-        "userType": "User type",
-        "creditcardtype": "Credit card type",
-        "creditcard": "Credit card",
-        "contractreference": "Contract reference",
-        "ciforvat": "CIF / VAT",
-        "langKey": "Language",
-        "profiles": "Profiles"
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/register.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/register.json
deleted file mode 100644
index 6f07d6a5be8d990f41496f6ae0e06af4505d2244..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/register.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-    "register": {
-        "title": "Registration",
-        "form": {
-            "button": "Register"
-        },
-        "messages": {
-            "validate": {
-                "login": {
-                    "required": "Your username is required.",
-                    "minlength": "Your username is required to be at least 1 character.",
-                    "maxlength": "Your username cannot be longer than 50 characters.",
-                    "pattern": "Your username can only contain lower-case letters and digits."
-                }
-            },
-            "success": "<strong>Registration saved!</strong> Please check your email for confirmation.",
-            "error": {
-                "fail": "<strong>Registration failed!</strong> Please try again later.",
-                "userexists": "<strong>Login name already registered!</strong> Please choose another one.",
-                "emailexists": "<strong>Email is already in use!</strong> Please choose another one.",
-                "usersgroupexists": "<strong>Users group already exists!</strong> Please choose another one."
-            }
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/reset.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/reset.json
deleted file mode 100644
index d6d7695ce62b00a5242d46aec16a39068b111cde..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/reset.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-    "reset": {
-        "request": {
-            "title": "Reset your password",
-            "form": {
-                "button": "Reset password"
-            },
-            "messages": {
-                "info": "Enter the email address you used to register",
-                "success": "Check your emails for details on how to reset your password.",
-                "notfound": "<strong>Email address isn't registered!</strong> Please check and try again"
-            }
-        },
-        "finish" : {
-            "title": "Reset password",
-            "form": {
-                "button": "Validate new password"
-            },
-            "messages": {
-                "info": "Choose a new password",
-                "success": "<strong>Your password has been reset.</strong> Please <a class=\"alert-link\" href=\"\" ng-click=\"vm.login()\">sign in</a>.",
-                "keymissing": "The reset key is missing.",
-                "error": "Your password couldn't be reset. Remember a password request is only valid for 24 hours."
-            }
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/rol.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/rol.json
deleted file mode 100644
index 7d072b4f087bf2ed91c4f2f53ce23e596c89f7ae..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/rol.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "acsmiApp": {
-        "rol" : {
-            "home": {
-                "title": "Rols",
-                "createLabel": "Create a new Rol",
-                "createOrEditLabel": "Create or edit a Rol"
-            },
-            "delete": {
-                "question": "Are you sure you want to delete Rol {{ id }}?"
-            },
-            "detail": {
-                "title": "Rol"
-            },
-            "name": "Name",
-            "group": "Group"
-        }
-    },
-    "acsmisupportApp": {
-        "rol" : {
-            "created": "A new Rol is created with identifier {{ param }}",
-            "updated": "A Rol is updated with identifier {{ param }}",
-            "deleted": "A Rol is deleted with identifier {{ param }}"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/search.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/search.json
deleted file mode 100644
index 6365a4730ad1750636bfa5f26b3734bf6bcc3192..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/search.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "search": {
-        "titlepa": "Discover services",
-        "titlecsp": "Endorse service",
-        "titleresults": "Results ({{ len }})",
-        "form": {
-            "serviceClass": "Service Class",
-            "filter": "Filter",
-			"addFilter": "Select filter:",
-			"attributeType": "Attribute type",
-			"attributeTypeValue": "Value",
-            "search": "Discover"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/service.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/service.json
deleted file mode 100644
index c6d67e716073ab40bc40f730011668710be83c49..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/service.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
-    "acsmiApp": {
-        "service" : {
-            "home": {
-                "title": "Services",
-                "createLabel": "Create a new Service",
-                "createOrEditLabel": "Create or edit a Service"
-            },
-            "reactivate": {
-                "question": "Are you sure you want to reactivate the Service '{{ servicename }}'?"
-            },
-            "delete": {
-                "question": "Are you sure you want to delete definitely the Service '{{ servicename }}'?"
-            },
-            "softdelete": {
-                "question": "Are you sure you want to mark as erased the Service '{{ servicename }}'?"
-            },
-            "detail": {
-                "title": "Service"
-            },
-            "migrate_from_service": "Migrate from",
-            "migrate_to_service": "Migrate to",
-            "service": "Service",
-            "serviceName": "Name",
-            "serviceClass": "Service Class",
-            "serviceClassTypicalAttributes": "Typical Attributes",
-            "serviceClassAditionalAttributes": "Aditional Attributes",
-            "attributes": "Attributes"
-        }
-    },
-    "acsmiservicesApp": {
-        "service" : {
-            "created": "The Service '{{ param }}' was successfully created",
-            "updated": "The Service '{{ param }}' was successfully updated",
-            "deleted": "The Service '{{ param }}' was successfully definitely deleted",
-            "softdeleted": "The Service '{{ param }}' was successfully mark as erased",
-            "reactivated": "The Service '{{ param }}' was successfully reactivated"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceClasses.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceClasses.json
deleted file mode 100644
index 1739ccc1befd7953ec73d91fb81d3e5a6cce2aaf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceClasses.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-    "acsmiApp": {
-        "serviceClasses" : {
-            "home": {
-                "title": "Service classes",
-                "createLabel": "Create a new Service class",
-                "createOrEditLabel": "Create or edit a Service class"
-            },
-            "reactivate": {
-                "question": "Are you sure you want to reactivate the Service class '{{ serviceclassname }}'?"
-            },
-            "delete": {
-                "question": "Are you sure you want to delete Service class {{ serviceclassname }}?"
-            },
-            "softdelete": {
-                "question": "Are you sure you want to mark as erased the Service class '{{ serviceclassname }}'?"
-            },
-            "detail": {
-                "title": "Service Class"
-            },
-            "serviceclassname": "Service Class Name"
-        }
-    },
-    "acsmiservicesApp": {
-        "serviceClass" : {
-            "created": "A new Service class is created with identifier {{ param }}",
-            "updated": "A Service class is updated with identifier {{ param }}",
-            "deleted": "A Service class is deleted with identifier {{ param }}",
-            "softdeleted": "The Service class '{{ param }}' was successfully mark as erased",
-            "reactivated": "The Service class '{{ param }}' was successfully reactivated"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceInstance.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceInstance.json
deleted file mode 100644
index 7467e2b433702b50973f107561295af093e2e77f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/serviceInstance.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    "acsmiApp": {
-        "serviceInstance" : {
-            "home": {
-                "title": "Service Instances"
-            },
-            "deactivate": {
-                "question": "Are you sure you want to deactivate the selected Service Instance?"
-            },
-            "detail": {
-                "title": "Service Instance"
-            },
-            "id": "Id",
-            "servicename": "Service name",
-            "credentials": "Credentials",
-            "usersgroup": "Users group"
-        }
-    },
-    "acsmiservicesApp": {
-        "serviceInstance" : {
-            "deactivated": "The Service Instance was successfully deactivated"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/sessions.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/sessions.json
deleted file mode 100644
index d410035ee7ca05e94612467b60c7b9a014f95f41..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/sessions.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-    "sessions": {
-        "title": "Active sessions for [<b>{{username}}</b>]",
-        "table": {
-            "ipaddress": "IP address",
-            "useragent": "User Agent",
-            "date": "Date",
-            "button": "Invalidate"
-        },
-        "messages": {
-            "success": "<strong>Session invalidated!</strong>",
-            "error": "<strong>An error has occurred!</strong> The session could not be invalidated."
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/settings.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/settings.json
deleted file mode 100644
index d941381969db3ebff53ebc9acc1476e4dc7511bf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/settings.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-    "settings": {
-        "title": "User settings for [<b>{{username}}</b>]",
-        "form": {
-            "firstname": "First Name",
-            "firstname.placeholder": "Your first name",
-            "lastname": "Last Name",
-            "lastname.placeholder": "Your last name",
-            "language": "Language",
-            "button": "Save"
-        },
-        "messages": {
-            "error": {
-                "fail": "<strong>An error has occurred!</strong> Settings could not be saved.",
-                "emailexists": "<strong>Email is already in use!</strong> Please choose another one."
-            },
-            "success": "<strong>Settings saved!</strong>",
-            "validate": {
-                "firstname": {
-                    "required": "Your first name is required.",
-                    "minlength": "Your first name is required to be at least 1 character",
-                    "maxlength": "Your first name cannot be longer than 50 characters"
-                },
-                "lastname": {
-                    "required": "Your last name is required.",
-                    "minlength": "Your last name is required to be at least 1 character",
-                    "maxlength": "Your last name cannot be longer than 50 characters"
-                }
-            }
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/state.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/state.json
deleted file mode 100644
index dde54457c40f518b8df9dcf107dbff7004024fc1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/state.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-    "acsmiApp": {
-        "State" : {
-            "null": "",
-            "ACTIVE": "ACTIVE",
-            "INACTIVE": "INACTIVE"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/tracker.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/tracker.json
deleted file mode 100644
index 0651de0d16409b38ddfe4c0b14a153ab61bb3a85..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/tracker.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    "tracker": {
-        "title": "Real-time user activities",
-        "table": {
-            "userlogin": "User",
-            "ipaddress": "IP Address",
-            "userAgent": "User agent",
-            "page": "Current page",
-            "time": "Time"
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/user-management.json b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/user-management.json
deleted file mode 100644
index 07c91157230a98d575930836839c4d8397b871c3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/i18n/en/user-management.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "userManagement": {
-        "home": {
-            "title": "Users",
-            "createLabel": "Create a new user",
-            "createOrEditLabel": "Create or edit a user"
-        },
-        "created": "A new user is created with identifier {{ param }}",
-        "updated": "An user is updated with identifier {{ param }}",
-        "deleted": "An user is deleted with identifier {{ param }}",
-        "delete": {
-            "question": "Are you sure you want to delete user <strong>{{ login }}</strong>?"
-        },
-        "detail": {
-            "title": "User"
-        },
-        "login": "Login",
-        "firstName": "First name",
-        "lastName": "Last name",
-        "email": "Email",
-        "company": "Company",
-        "usersgroup": "Users group",
-        "usertype": "User type",
-        "creditorcontract": "Credit Card / Contract Reference",
-        "creditcardtype": "Credit card type",
-        "creditcard": "Credit card",
-        "contractreference": "Contract reference",
-        "ciforvat": "CIF / VAT",
-        "activated": "Activated",
-        "deactivated": "Deactivated",
-        "profiles": "Profiles",
-        "langKey": "Language",
-        "createdBy": "Created by",
-        "createdDate": "Created date",
-        "lastModifiedBy": "Modified by",
-        "lastModifiedDate": "Modified date"
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/index.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/index.html
deleted file mode 100644
index d8116c72a9b9814e1c0babf23188513ab6eef594..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/index.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!doctype html>
-<html class="no-js">
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>acsmi</title>
-    <meta name="description" content="">
-    <meta name="google" value="notranslate">
-    <meta name="viewport" content="width=device-width">
-    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-    <!-- build:css content/css/vendor.css -->
-    <!-- bower:css -->
-    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
-    <link rel="stylesheet" href="bower_components/angular-loading-bar/build/loading-bar.css">
-    <!-- endinject -->
-    <!-- endbuild -->
-    <!-- build:css content/css/main.css -->
-    <link rel="stylesheet" href="content/css/main.css">
-    <!-- endbuild -->
-    <link rel="shortcut icon" href="favicon.ico" />
-</head>
-<body ng-app="acsmiApp" ng-strict-di>
-    <!--[if lt IE 9]>
-        <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-    <![endif]-->
-    <page-ribbon></page-ribbon>
-    <div ui-view="navbar" ng-cloak></div>
-    <div class="container">
-        <div class="well" ui-view="content">
-            <!-- Angular views -->
-        </div>
-
-        <div class="footer" ng-cloak>
-            <span class="tecnalia img-responsive"></span>
-        </div>
-    </div>
-
-    <!-- Google Analytics: uncomment and change UA-XXXXX-X to be your site's ID.
-    <script>
-        (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
-        function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
-        e=o.createElement(i);r=o.getElementsByTagName(i)[0];
-        e.src='//www.google-analytics.com/analytics.js';
-        r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
-        ga('create','UA-XXXXX-X');ga('send','pageview');
-    </script>-->
-
-    <!-- build:js app/vendor.js -->
-    <!-- bower:js -->
-    <script src="bower_components/jquery/dist/jquery.js"></script>
-    <script src="bower_components/messageformat/messageformat.js"></script>
-    <script src="bower_components/json3/lib/json3.js"></script>
-    <script src="bower_components/sockjs-client/dist/sockjs.js"></script>
-    <script src="bower_components/stomp-websocket/lib/stomp.min.js"></script>
-    <script src="bower_components/angular/angular.js"></script>
-    <script src="bower_components/angular-aria/angular-aria.js"></script>
-    <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
-    <script src="bower_components/angular-cache-buster/angular-cache-buster.js"></script>
-    <script src="bower_components/angular-cookies/angular-cookies.js"></script>
-    <script src="bower_components/angular-dynamic-locale/src/tmhDynamicLocale.js"></script>
-    <script src="bower_components/ngstorage/ngStorage.js"></script>
-    <script src="bower_components/angular-loading-bar/build/loading-bar.js"></script>
-    <script src="bower_components/angular-resource/angular-resource.js"></script>
-    <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
-    <script src="bower_components/angular-translate/angular-translate.js"></script>
-    <script src="bower_components/angular-translate-interpolation-messageformat/angular-translate-interpolation-messageformat.js"></script>
-    <script src="bower_components/angular-translate-loader-partial/angular-translate-loader-partial.js"></script>
-    <script src="bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.js"></script>
-    <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
-    <script src="bower_components/bootstrap-ui-datetime-picker/dist/datetime-picker.js"></script>
-    <script src="bower_components/ng-file-upload/ng-file-upload.js"></script>
-    <script src="bower_components/ngInfiniteScroll/build/ng-infinite-scroll.js"></script>
-    <!-- endinject -->
-    <!-- endbuild -->
-
-    <!-- build:js app/app.js  -->
-    <!-- inject:js -->
-    <script src="app/app.module.js"></script>
-    <script src="app/services/user/user.service.js"></script>
-    <script src="app/services/profiles/profile.service.js"></script>
-    <script src="app/services/profiles/page-ribbon.directive.js"></script>
-    <script src="app/services/auth/register.service.js"></script>
-    <script src="app/services/auth/principal.service.js"></script>
-    <script src="app/services/auth/password-reset-init.service.js"></script>
-    <script src="app/services/auth/password-reset-finish.service.js"></script>
-    <script src="app/services/auth/password.service.js"></script>
-    <script src="app/services/auth/has-authority.directive.js"></script>
-    <script src="app/services/auth/has-any-authority.directive.js"></script>
-    <script src="app/services/auth/auth.service.js"></script>
-    <script src="app/services/auth/auth.jwt.service.js"></script>
-    <script src="app/services/auth/activate.service.js"></script>
-    <script src="app/services/auth/account.service.js"></script>
-    <script src="app/search/search.state.js"></script>
-    <script src="app/search/search.controller.js"></script>
-    <script src="app/provider/provider-members-dialog.controller.js"></script>
-    <script src="app/provider/provider-members-delete-dialog.controller.js"></script>
-    <script src="app/provider/provider-members.controller.js"></script>
-    <script src="app/provider/provider.state.js"></script>
-    <script src="app/layouts/navbar/navbar.controller.js"></script>
-    <script src="app/layouts/navbar/active-menu.directive.js"></script>
-    <script src="app/layouts/error/error.state.js"></script>
-    <script src="app/home/home.state.js"></script>
-    <script src="app/home/home.controller.js"></script>
-    <script src="app/entities/service-class-typical-attribute/service-class-typical-attribute.state.js"></script>
-    <script src="app/entities/service-class-typical-attribute/service-class-typical-attribute.service.js"></script>
-    <script src="app/entities/service-class/service-class-softdelete-dialog.controller.js"></script>
-    <script src="app/entities/service-class/service-class-reactivate-dialog.controller.js"></script>
-    <script src="app/entities/service-class/service-class-dialog.controller.js"></script>
-    <script src="app/entities/service-class/service-class-detail.controller.js"></script>
-    <script src="app/entities/service-class/service-class-delete-dialog.controller.js"></script>
-    <script src="app/entities/service-class/service-class.state.js"></script>
-    <script src="app/entities/service-class/service-class.service.js"></script>
-    <script src="app/entities/service-class/service-class.controller.js"></script>
-    <script src="app/entities/service-attribute-value/service-attribute-value.state.js"></script>
-    <script src="app/entities/service-attribute-value/service-attribute-value.service.js"></script>
-    <script src="app/entities/service-attribute-type/service-attribute-type.state.js"></script>
-    <script src="app/entities/service-attribute-type/service-attribute-type.service.js"></script>
-    <script src="app/entities/service/service-softdelete-dialog.controller.js"></script>
-    <script src="app/entities/service/service-reactivate-dialog.controller.js"></script>
-    <script src="app/entities/service/service-dialog.controller.js"></script>
-    <script src="app/entities/service/service-detail.controller.js"></script>
-    <script src="app/entities/service/service-delete-dialog.controller.js"></script>
-    <script src="app/entities/service/service.state.js"></script>
-    <script src="app/entities/service/service.service.js"></script>
-    <script src="app/entities/service/service.controller.js"></script>
-    <script src="app/entities/entity.state.js"></script>
-    <script src="app/components/util/truncate-words.filter.js"></script>
-    <script src="app/components/util/truncate-characters.filter.js"></script>
-    <script src="app/components/util/sort-by.directive.js"></script>
-    <script src="app/components/util/sort.directive.js"></script>
-    <script src="app/components/util/parse-links.service.js"></script>
-    <script src="app/components/util/pagination-util.service.js"></script>
-    <script src="app/components/util/jhi-item-count.directive.js"></script>
-    <script src="app/components/util/date-util.service.js"></script>
-    <script src="app/components/util/data-util.service.js"></script>
-    <script src="app/components/util/capitalize.filter.js"></script>
-    <script src="app/components/util/base64.service.js"></script>
-    <script src="app/components/register/register-creditcard.service.js"></script>
-    <script src="app/components/register/register-creditcard.filter.js"></script>
-    <script src="app/components/register/register-creditcard.controller.js"></script>
-    <script src="app/components/register/register-creditcard.constants.js"></script>
-    <script src="app/components/login/login.service.js"></script>
-    <script src="app/components/login/login.controller.js"></script>
-    <script src="app/components/language/language.service.js"></script>
-    <script src="app/components/language/language.filter.js"></script>
-    <script src="app/components/language/language.controller.js"></script>
-    <script src="app/components/language/language.constants.js"></script>
-    <script src="app/components/form/show-validation.directive.js"></script>
-    <script src="app/components/form/pagination.constants.js"></script>
-    <script src="app/components/form/minbytes.directive.js"></script>
-    <script src="app/components/form/maxbytes.directive.js"></script>
-    <script src="app/components/alert/alert-error.directive.js"></script>
-    <script src="app/components/alert/alert.service.js"></script>
-    <script src="app/components/alert/alert.directive.js"></script>
-    <script src="app/blocks/interceptor/notification.interceptor.js"></script>
-    <script src="app/blocks/interceptor/errorhandler.interceptor.js"></script>
-    <script src="app/blocks/interceptor/auth-expired.interceptor.js"></script>
-    <script src="app/blocks/interceptor/auth.interceptor.js"></script>
-    <script src="app/blocks/handlers/translation.handler.js"></script>
-    <script src="app/blocks/handlers/state.handler.js"></script>
-    <script src="app/blocks/config/uib-pagination.config.js"></script>
-    <script src="app/blocks/config/uib-pager.config.js"></script>
-    <script src="app/blocks/config/translation-storage.provider.js"></script>
-    <script src="app/blocks/config/translation.config.js"></script>
-    <script src="app/blocks/config/localstorage.config.js"></script>
-    <script src="app/blocks/config/http.config.js"></script>
-    <script src="app/blocks/config/compile.config.js"></script>
-    <script src="app/blocks/config/alert.config.js"></script>
-    <script src="app/app.state.js"></script>
-    <script src="app/app.constants.js"></script>
-    <script src="app/admin/user-management/user-management-dialog.controller.js"></script>
-    <script src="app/admin/user-management/user-management-detail.controller.js"></script>
-    <script src="app/admin/user-management/user-management-delete-dialog.controller.js"></script>
-    <script src="app/admin/user-management/user-management.state.js"></script>
-    <script src="app/admin/user-management/user-management.controller.js"></script>
-    <script src="app/admin/tracker/tracker.state.js"></script>
-    <script src="app/admin/tracker/tracker.service.js"></script>
-    <script src="app/admin/tracker/tracker.controller.js"></script>
-    <script src="app/admin/metrics/metrics.state.js"></script>
-    <script src="app/admin/metrics/metrics.service.js"></script>
-    <script src="app/admin/metrics/metrics.modal.controller.js"></script>
-    <script src="app/admin/metrics/metrics.controller.js"></script>
-    <script src="app/admin/logs/logs.state.js"></script>
-    <script src="app/admin/logs/logs.service.js"></script>
-    <script src="app/admin/logs/logs.controller.js"></script>
-    <script src="app/admin/health/health.state.js"></script>
-    <script src="app/admin/health/health.service.js"></script>
-    <script src="app/admin/health/health.modal.controller.js"></script>
-    <script src="app/admin/health/health.controller.js"></script>
-    <script src="app/admin/gateway/gateway-routes.service.js"></script>
-    <script src="app/admin/gateway/gateway.state.js"></script>
-    <script src="app/admin/gateway/gateway.controller.js"></script>
-    <script src="app/admin/docs/docs.state.js"></script>
-    <script src="app/admin/configuration/configuration.state.js"></script>
-    <script src="app/admin/configuration/configuration.service.js"></script>
-    <script src="app/admin/configuration/configuration.controller.js"></script>
-    <script src="app/admin/audits/audits.state.js"></script>
-    <script src="app/admin/audits/audits.service.js"></script>
-    <script src="app/admin/audits/audits.controller.js"></script>
-    <script src="app/admin/admin.state.js"></script>
-    <script src="app/account/settings/settings.state.js"></script>
-    <script src="app/account/settings/settings.controller.js"></script>
-    <script src="app/account/reset/request/reset.request.state.js"></script>
-    <script src="app/account/reset/request/reset.request.controller.js"></script>
-    <script src="app/account/reset/finish/reset.finish.state.js"></script>
-    <script src="app/account/reset/finish/reset.finish.controller.js"></script>
-    <script src="app/account/register/register.state.js"></script>
-    <script src="app/account/register/register.controller.js"></script>
-    <script src="app/account/password/password-strength-bar.directive.js"></script>
-    <script src="app/account/password/password.state.js"></script>
-    <script src="app/account/password/password.controller.js"></script>
-    <script src="app/account/activate/activate.state.js"></script>
-    <script src="app/account/activate/activate.controller.js"></script>
-    <script src="app/account/account.state.js"></script>
-    <!-- endinject -->
-    <!-- endbuild -->
-
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/robots.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/robots.txt
deleted file mode 100644
index 7de2585cf605653ce96a7c789d4cb91159a8ca0e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/robots.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# robotstxt.org/
-
-User-agent: *
-Disallow: /api/account
-Disallow: /api/account/change_password
-Disallow: /api/account/sessions
-Disallow: /api/audits/
-Disallow: /api/logs/
-Disallow: /api/users/
-Disallow: /management/
-Disallow: /v2/api-docs/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/images/throbber.gif b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/images/throbber.gif
deleted file mode 100644
index 06393889242fb3ea9e0205fa84369ec7bb66d15a..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/images/throbber.gif and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/index.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/index.html
deleted file mode 100644
index 8ad5b0617a7bf8589cca93dc2cfbdc8096fcc3be..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/main/webapp/swagger-ui/index.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>Swagger UI</title>
-    <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
-    <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
-    <link href='../bower_components/swagger-ui/dist/css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='../bower_components/swagger-ui/dist/css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='../bower_components/swagger-ui/dist/css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='../bower_components/swagger-ui/dist/css/reset.css' media='print' rel='stylesheet' type='text/css'/>
-    <link href='../bower_components/swagger-ui/dist/css/print.css' media='print' rel='stylesheet' type='text/css'/>
-    <script src='../bower_components/swagger-ui/dist/lib/object-assign-pollyfill.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/jquery.slideto.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/jquery.wiggle.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/handlebars-2.0.0.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/lodash.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/backbone-min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/swagger-ui.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/jsoneditor.min.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/marked.js' type='text/javascript'></script>
-    <script src='../bower_components/swagger-ui/dist/lib/swagger-oauth.js' type='text/javascript'></script>
-
-    <!-- Some basic translations -->
-    <!-- <script src='lang/translator.js' type='text/javascript'></script> -->
-    <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
-    <!-- <script src='lang/en.js' type='text/javascript'></script> -->
-
-    <script type="text/javascript">
-        $(function() {
-            var springfox = {
-                "baseUrl": function() {
-                    var urlMatches = /(.*)\/swagger-ui\/index.html.*/.exec(window.location.href);
-                    return urlMatches[1];
-                },
-                "securityConfig": function(cb) {
-                    $.getJSON(this.baseUrl() + "/swagger-resources/configuration/security", function(data) {
-                        cb(data);
-                    });
-                },
-                "uiConfig": function(cb) {
-                    $.getJSON(this.baseUrl() + "/swagger-resources/configuration/ui", function(data) {
-                        cb(data);
-                    });
-                }
-            };
-            window.springfox = springfox;
-            window.oAuthRedirectUrl = springfox.baseUrl() + '../bower_components/swagger-ui/dist/o2c.html'
-
-            window.springfox.uiConfig(function(data) {
-                window.swaggerUi = new SwaggerUi({
-                    dom_id: "swagger-ui-container",
-                    validatorUrl: data.validatorUrl,
-                    supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
-                    onComplete: function(swaggerApi, swaggerUi) {
-                        initializeSpringfox();
-                        if (window.SwaggerTranslator) {
-                            window.SwaggerTranslator.translate();
-                        }
-                        $('pre code').each(function(i, e) {
-                            hljs.highlightBlock(e)
-                        });
-                    },
-                    onFailure: function(data) {
-                        log("Unable to Load SwaggerUI");
-                    },
-                    docExpansion: "none",
-                    apisSorter: "alpha",
-                    showRequestHeaders: false
-                });
-
-                initializeBaseUrl();
-
-                $('#select_baseUrl').change(function() {
-                    window.swaggerUi.headerView.trigger('update-swagger-ui', {
-                        url: $('#select_baseUrl').val()
-                    });
-                    addApiKeyAuthorization();
-                });
-
-                function addApiKeyAuthorization(){
-                    var authToken = JSON.parse(localStorage.getItem("jhi-authenticationToken") || sessionStorage.getItem("jhi-authenticationToken"));
-                    var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("Authorization", "Bearer " + authToken, "header");
-                    window.swaggerUi.api.clientAuthorizations.add("bearer", apiKeyAuth);
-                }
-
-                function getCSRF() {
-                    var name = "XSRF-TOKEN=";
-                    var ca = document.cookie.split(';');
-                    for(var i=0; i<ca.length; i++) {
-                        var c = ca[i];
-                        while (c.charAt(0)==' ') c = c.substring(1);
-                        if (c.indexOf(name) != -1) return c.substring(name.length,c.length);
-                    }
-                    return "";
-                }
-
-                function log() {
-                    if ('console' in window) {
-                        console.log.apply(console, arguments);
-                    }
-                }
-
-                function oAuthIsDefined(security) {
-                    return security.clientId
-                    && security.clientSecret
-                    && security.appName
-                    && security.realm;
-                }
-
-                function initializeSpringfox() {
-                    var security = {};
-                    window.springfox.securityConfig(function(data) {
-                        security = data;
-                        if (typeof initOAuth == "function" && oAuthIsDefined(security)) {
-                            initOAuth(security);
-                        }
-                    });
-                }
-            });
-
-            function maybePrefix(location, withRelativePath) {
-                var pat = /^https?:\/\//i;
-                if (pat.test(location)) {
-                    return location;
-                }
-                return withRelativePath + location;
-            }
-
-            function initializeBaseUrl() {
-                var relativeLocation = springfox.baseUrl();
-
-                $('#input_baseUrl').hide();
-
-                $.getJSON(relativeLocation + "/swagger-resources", function(data) {
-
-                    var $urlDropdown = $('#select_baseUrl');
-                    $urlDropdown.empty();
-                    $.each(data, function(i, resource) {
-                        var option = $('<option></option>')
-                        .attr("value", maybePrefix(resource.location, relativeLocation))
-                        .text(resource.name + " (" + resource.location + ")");
-                        $urlDropdown.append(option);
-                    });
-                    $urlDropdown.change();
-                });
-
-            }
-
-        });
-    </script>
-</head>
-
-
-<body class="swagger-section">
-<div id='header'>
-    <div class="swagger-ui-wrap">
-        <a id="logo" href="http://swagger.io">swagger</a>
-
-        <form id='api_selector'>
-            <div class='input'>
-                <select id="select_baseUrl" name="select_baseUrl"></select>
-            </div>
-            <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/>
-            </div>
-        </form>
-    </div>
-</div>
-
-<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
-<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTest.java
deleted file mode 100644
index 094589df40effbb81abfa8e81234b3354c201374..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTest.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilter;
-import com.codahale.metrics.servlets.MetricsServlet;
-import com.hazelcast.config.Config;
-import com.hazelcast.core.*;
-import com.hazelcast.durableexecutor.DurableExecutorService;
-import com.hazelcast.logging.LoggingService;
-import com.hazelcast.mapreduce.JobTracker;
-import com.hazelcast.quorum.QuorumService;
-import com.hazelcast.ringbuffer.Ringbuffer;
-import com.hazelcast.transaction.*;
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.web.filter.CachingHttpHeadersFilter;
-import io.undertow.Undertow;
-import io.undertow.Undertow.Builder;
-import io.undertow.UndertowOptions;
-import org.junit.Before;
-import org.junit.Test;
-import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
-import org.springframework.http.HttpHeaders;
-import org.springframework.mock.env.MockEnvironment;
-import org.springframework.mock.web.MockServletContext;
-import org.springframework.test.util.ReflectionTestUtils;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.xnio.OptionMap;
-
-import javax.servlet.*;
-import java.util.*;
-import java.util.concurrent.ConcurrentMap;
-
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.*;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.options;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Unit tests for the WebConfigurer class.
- *
- * @see WebConfigurer
- */
-public class WebConfigurerTest {
-
-    private WebConfigurer webConfigurer;
-
-    private MockServletContext servletContext;
-
-    private MockEnvironment env;
-
-    private JHipsterProperties props;
-
-    private MetricRegistry metricRegistry;
-
-    @Before
-    public void setup() {
-        servletContext = spy(new MockServletContext());
-        doReturn(new MockFilterRegistration())
-            .when(servletContext).addFilter(anyString(), any(Filter.class));
-        doReturn(new MockServletRegistration())
-            .when(servletContext).addServlet(anyString(), any(Servlet.class));
-
-        env = new MockEnvironment();
-        props = new JHipsterProperties();
-
-        webConfigurer = new WebConfigurer(env, props, new MockHazelcastInstance());
-        metricRegistry = new MetricRegistry();
-        webConfigurer.setMetricRegistry(metricRegistry);
-    }
-
-    @Test
-    public void testStartUpProdServletContext() throws ServletException {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION);
-        webConfigurer.onStartup(servletContext);
-
-        assertThat(servletContext.getAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE)).isEqualTo(metricRegistry);
-        assertThat(servletContext.getAttribute(MetricsServlet.METRICS_REGISTRY)).isEqualTo(metricRegistry);
-        verify(servletContext).addFilter(eq("webappMetricsFilter"), any(InstrumentedFilter.class));
-        verify(servletContext).addServlet(eq("metricsServlet"), any(MetricsServlet.class));
-        verify(servletContext).addFilter(eq("cachingHttpHeadersFilter"), any(CachingHttpHeadersFilter.class));
-    }
-
-    @Test
-    public void testStartUpDevServletContext() throws ServletException {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT);
-        webConfigurer.onStartup(servletContext);
-
-        assertThat(servletContext.getAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE)).isEqualTo(metricRegistry);
-        assertThat(servletContext.getAttribute(MetricsServlet.METRICS_REGISTRY)).isEqualTo(metricRegistry);
-        verify(servletContext).addFilter(eq("webappMetricsFilter"), any(InstrumentedFilter.class));
-        verify(servletContext).addServlet(eq("metricsServlet"), any(MetricsServlet.class));
-        verify(servletContext, never()).addFilter(eq("cachingHttpHeadersFilter"), any(CachingHttpHeadersFilter.class));
-    }
-
-    @Test
-    public void testCustomizeServletContainer() {
-        env.setActiveProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION);
-        UndertowEmbeddedServletContainerFactory container = new UndertowEmbeddedServletContainerFactory();
-        webConfigurer.customize(container);
-        assertThat(container.getMimeMappings().get("abs")).isEqualTo("audio/x-mpeg");
-        assertThat(container.getMimeMappings().get("html")).isEqualTo("text/html;charset=utf-8");
-        assertThat(container.getMimeMappings().get("json")).isEqualTo("text/html;charset=utf-8");
-        if (container.getDocumentRoot() != null) {
-            assertThat(container.getDocumentRoot().getPath()).isEqualTo("target/www");
-        }
-
-        Builder builder = Undertow.builder();
-        container.getBuilderCustomizers().forEach(c -> c.customize(builder));
-        OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions");
-        assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isNull();
-    }
-
-    @Test
-    public void testCustomizeServletContainerNotProd() {
-        UndertowEmbeddedServletContainerFactory container = new UndertowEmbeddedServletContainerFactory();
-        webConfigurer.customize(container);
-        assertThat(container.getMimeMappings().get("abs")).isEqualTo("audio/x-mpeg");
-        assertThat(container.getMimeMappings().get("html")).isEqualTo("text/html;charset=utf-8");
-        assertThat(container.getMimeMappings().get("json")).isEqualTo("text/html;charset=utf-8");
-        assertThat(container.getDocumentRoot().getPath()).isEqualTo("src\\main\\webapp");
-        // ORIGINAL
-        // assertThat(container.getDocumentRoot().getPath()).isEqualTo("src/main/webapp");
-
-        Builder builder = Undertow.builder();
-        container.getBuilderCustomizers().forEach(c -> c.customize(builder));
-        OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions");
-        assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isNull();
-    }
-
-    @Test
-    public void testUndertowHttp2Enabled() {
-        props.getHttp().setVersion(JHipsterProperties.Http.Version.V_2_0);
-        UndertowEmbeddedServletContainerFactory container = new UndertowEmbeddedServletContainerFactory();
-        webConfigurer.customize(container);
-        Builder builder = Undertow.builder();
-        container.getBuilderCustomizers().forEach(c -> c.customize(builder));
-        OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions");
-        assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isTrue();
-    }
-
-    @Test
-    public void testCorsFilterOnApiPath() throws Exception {
-        props.getCors().setAllowedOrigins(Collections.singletonList("*"));
-        props.getCors().setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
-        props.getCors().setAllowedHeaders(Collections.singletonList("*"));
-        props.getCors().setMaxAge(1800L);
-        props.getCors().setAllowCredentials(true);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            options("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com")
-                .header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "POST"))
-            .andExpect(status().isOk())
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "other.domain.com"))
-            .andExpect(header().string(HttpHeaders.VARY, "Origin"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET,POST,PUT,DELETE"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"))
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "1800"));
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().string(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "other.domain.com"));
-    }
-
-    @Test
-    public void testCorsFilterOnOtherPath() throws Exception {
-        props.getCors().setAllowedOrigins(Collections.singletonList("*"));
-        props.getCors().setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
-        props.getCors().setAllowedHeaders(Collections.singletonList("*"));
-        props.getCors().setMaxAge(1800L);
-        props.getCors().setAllowCredentials(true);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/test/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    @Test
-    public void testCorsFilterDeactivated() throws Exception {
-        props.getCors().setAllowedOrigins(null);
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    @Test
-    public void testCorsFilterDeactivated2() throws Exception {
-        props.getCors().setAllowedOrigins(new ArrayList<>());
-
-        MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new WebConfigurerTestController())
-            .addFilters(webConfigurer.corsFilter())
-            .build();
-
-        mockMvc.perform(
-            get("/api/test-cors")
-                .header(HttpHeaders.ORIGIN, "other.domain.com"))
-            .andExpect(status().isOk())
-            .andExpect(header().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
-    }
-
-    static class MockFilterRegistration implements FilterRegistration, FilterRegistration.Dynamic {
-
-        @Override
-        public void addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... servletNames) {
-
-        }
-
-        @Override
-        public Collection<String> getServletNameMappings() {
-            return null;
-        }
-
-        @Override
-        public void addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... urlPatterns) {
-
-        }
-
-        @Override
-        public Collection<String> getUrlPatternMappings() {
-            return null;
-        }
-
-        @Override
-        public void setAsyncSupported(boolean isAsyncSupported) {
-
-        }
-
-        @Override
-        public String getName() {
-            return null;
-        }
-
-        @Override
-        public String getClassName() {
-            return null;
-        }
-
-        @Override
-        public boolean setInitParameter(String name, String value) {
-            return false;
-        }
-
-        @Override
-        public String getInitParameter(String name) {
-            return null;
-        }
-
-        @Override
-        public Set<String> setInitParameters(Map<String, String> initParameters) {
-            return null;
-        }
-
-        @Override
-        public Map<String, String> getInitParameters() {
-            return null;
-        }
-    }
-
-    static class MockServletRegistration implements ServletRegistration, ServletRegistration.Dynamic {
-
-        @Override
-        public void setLoadOnStartup(int loadOnStartup) {
-
-        }
-
-        @Override
-        public Set<String> setServletSecurity(ServletSecurityElement constraint) {
-            return null;
-        }
-
-        @Override
-        public void setMultipartConfig(MultipartConfigElement multipartConfig) {
-
-        }
-
-        @Override
-        public void setRunAsRole(String roleName) {
-
-        }
-
-        @Override
-        public void setAsyncSupported(boolean isAsyncSupported) {
-
-        }
-
-        @Override
-        public Set<String> addMapping(String... urlPatterns) {
-            return null;
-        }
-
-        @Override
-        public Collection<String> getMappings() {
-            return null;
-        }
-
-        @Override
-        public String getRunAsRole() {
-            return null;
-        }
-
-        @Override
-        public String getName() {
-            return null;
-        }
-
-        @Override
-        public String getClassName() {
-            return null;
-        }
-
-        @Override
-        public boolean setInitParameter(String name, String value) {
-            return false;
-        }
-
-        @Override
-        public String getInitParameter(String name) {
-            return null;
-        }
-
-        @Override
-        public Set<String> setInitParameters(Map<String, String> initParameters) {
-            return null;
-        }
-
-        @Override
-        public Map<String, String> getInitParameters() {
-            return null;
-        }
-    }
-
-    public static class MockHazelcastInstance implements HazelcastInstance {
-
-        @Override
-        public String getName() {
-            return "HazelcastInstance";
-        }
-
-        @Override
-        public <E> IQueue<E> getQueue(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ITopic<E> getTopic(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ISet<E> getSet(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> IList<E> getList(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> IMap<K, V> getMap(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> ReplicatedMap<K, V> getReplicatedMap(String s) {
-            return null;
-        }
-
-        @Override
-        public JobTracker getJobTracker(String s) {
-            return null;
-        }
-
-        @Override
-        public <K, V> MultiMap<K, V> getMultiMap(String s) {
-            return null;
-        }
-
-        @Override
-        public ILock getLock(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> Ringbuffer<E> getRingbuffer(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> ITopic<E> getReliableTopic(String s) {
-            return null;
-        }
-
-        @Override
-        public Cluster getCluster() {
-            return null;
-        }
-
-        @Override
-        public Endpoint getLocalEndpoint() {
-            return null;
-        }
-
-        @Override
-        public IExecutorService getExecutorService(String s) {
-            return null;
-        }
-
-        @Override
-        public DurableExecutorService getDurableExecutorService(String s) {
-            return null;
-        }
-
-        @Override
-        public <T> T executeTransaction(TransactionalTask<T> transactionalTask) throws TransactionException {
-            return null;
-        }
-
-        @Override
-        public <T> T executeTransaction(TransactionOptions transactionOptions, TransactionalTask<T> transactionalTask) throws TransactionException {
-            return null;
-        }
-
-        @Override
-        public TransactionContext newTransactionContext() {
-            return null;
-        }
-
-        @Override
-        public TransactionContext newTransactionContext(TransactionOptions transactionOptions) {
-            return null;
-        }
-
-        @Override
-        public IdGenerator getIdGenerator(String s) {
-            return null;
-        }
-
-        @Override
-        public IAtomicLong getAtomicLong(String s) {
-            return null;
-        }
-
-        @Override
-        public <E> IAtomicReference<E> getAtomicReference(String s) {
-            return null;
-        }
-
-        @Override
-        public ICountDownLatch getCountDownLatch(String s) {
-            return null;
-        }
-
-        @Override
-        public ISemaphore getSemaphore(String s) {
-            return null;
-        }
-
-        @Override
-        public Collection<DistributedObject> getDistributedObjects() {
-            return null;
-        }
-
-        @Override
-        public String addDistributedObjectListener(DistributedObjectListener distributedObjectListener) {
-            return null;
-        }
-
-        @Override
-        public boolean removeDistributedObjectListener(String s) {
-            return false;
-        }
-
-        @Override
-        public Config getConfig() {
-            return null;
-        }
-
-        @Override
-        public PartitionService getPartitionService() {
-            return null;
-        }
-
-        @Override
-        public QuorumService getQuorumService() {
-            return null;
-        }
-
-        @Override
-        public ClientService getClientService() {
-            return null;
-        }
-
-        @Override
-        public LoggingService getLoggingService() {
-            return null;
-        }
-
-        @Override
-        public LifecycleService getLifecycleService() {
-            return null;
-        }
-
-        @Override
-        public <T extends DistributedObject> T getDistributedObject(String s, String s1) {
-            return null;
-        }
-
-        @Override
-        public ConcurrentMap<String, Object> getUserContext() {
-            return null;
-        }
-
-        @Override
-        public HazelcastXAResource getXAResource() {
-            return null;
-        }
-
-        @Override
-        public ICacheManager getCacheManager() {
-            return null;
-        }
-
-        @Override
-        public void shutdown() {
-
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTestController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTestController.java
deleted file mode 100644
index 56849b3407a8139d3a6f16d117104117fc4c10f6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/config/WebConfigurerTestController.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.config;
-
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-public class WebConfigurerTestController {
-
-    @GetMapping("/api/test-cors")
-    public void testCorsOnApiPath() {
-    }
-
-    @GetMapping("/test/test-cors")
-    public void testCorsOnOtherPath() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java
deleted file mode 100644
index b4185e4c038d0ea294fab3b60c196a238d49a1b1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.gateway.responserewriting;
-
-import com.netflix.zuul.context.RequestContext;
-import org.apache.commons.io.IOUtils;
-import org.junit.Test;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-
-import static org.junit.Assert.*;
-import static springfox.documentation.swagger2.web.Swagger2Controller.DEFAULT_URL;
-
-/**
- * Tests SwaggerBasePathRewritingFilter class.
- */
-public class SwaggerBasePathRewritingFilterTest {
-
-    private SwaggerBasePathRewritingFilter filter = new SwaggerBasePathRewritingFilter();
-
-    @Test
-    public void shouldFilter_on_default_swagger_url() {
-
-        MockHttpServletRequest request = new MockHttpServletRequest("GET", DEFAULT_URL);
-        RequestContext.getCurrentContext().setRequest(request);
-
-        assertTrue(filter.shouldFilter());
-    }
-
-    /**
-     * Zuul DebugFilter can be triggered by "deug" parameter.
-     */
-    @Test
-    public void shouldFilter_on_default_swagger_url_with_param() {
-
-        MockHttpServletRequest request = new MockHttpServletRequest("GET", DEFAULT_URL);
-        request.setParameter("debug", "true");
-        RequestContext.getCurrentContext().setRequest(request);
-
-        assertTrue(filter.shouldFilter());
-    }
-
-    @Test
-    public void shouldNotFilter_on_wrong_url() {
-
-        MockHttpServletRequest request = new MockHttpServletRequest("GET", "/management/info");
-        RequestContext.getCurrentContext().setRequest(request);
-
-        assertFalse(filter.shouldFilter());
-    }
-
-    @Test
-    public void run_on_valid_response() throws Exception {
-        MockHttpServletRequest request = new MockHttpServletRequest("GET", "/service1" + DEFAULT_URL);
-        RequestContext context = RequestContext.getCurrentContext();
-        context.setRequest(request);
-
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        context.setResponseGZipped(false);
-        context.setResponse(response);
-
-        InputStream in = IOUtils.toInputStream("{\"basePath\":\"/\"}", StandardCharsets.UTF_8);
-        context.setResponseDataStream(in);
-
-        filter.run();
-
-        assertEquals("UTF-8", response.getCharacterEncoding());
-        assertEquals("{\"basePath\":\"/service1\"}", context.getResponseBody());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepositoryIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepositoryIntTest.java
deleted file mode 100644
index 3348294a32246e0e0e37d7903e2cbf43ce758a70..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/repository/CustomAuditEventRepositoryIntTest.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.repository;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import eu.decideh2020.acsmi.frontend.server.config.audit.AuditEventConverter;
-import eu.decideh2020.acsmi.frontend.server.domain.PersistentAuditEvent;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.audit.AuditEvent;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpSession;
-import org.springframework.security.web.authentication.WebAuthenticationDetails;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.servlet.http.HttpSession;
-import java.time.Instant;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Test class for the CustomAuditEventRepository customAuditEventRepository class.
- *
- * @see CustomAuditEventRepository
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-@Transactional
-public class CustomAuditEventRepositoryIntTest {
-
-    @Autowired
-    private PersistenceAuditEventRepository persistenceAuditEventRepository;
-
-    @Autowired
-    private AuditEventConverter auditEventConverter;
-
-    private CustomAuditEventRepository customAuditEventRepository;
-
-    private PersistentAuditEvent testUserEvent;
-
-    private PersistentAuditEvent testOtherUserEvent;
-
-    private PersistentAuditEvent testOldUserEvent;
-
-    @Before
-    public void setup() {
-        customAuditEventRepository = new CustomAuditEventRepository(persistenceAuditEventRepository, auditEventConverter);
-        persistenceAuditEventRepository.deleteAll();
-        Instant oneHourAgo = Instant.now().minusSeconds(3600);
-
-        testUserEvent = new PersistentAuditEvent();
-        testUserEvent.setPrincipal("test-user");
-        testUserEvent.setAuditEventType("test-type");
-        testUserEvent.setAuditEventDate(oneHourAgo);
-        Map<String, String> data = new HashMap<>();
-        data.put("test-key", "test-value");
-        testUserEvent.setData(data);
-
-        testOldUserEvent = new PersistentAuditEvent();
-        testOldUserEvent.setPrincipal("test-user");
-        testOldUserEvent.setAuditEventType("test-type");
-        testOldUserEvent.setAuditEventDate(oneHourAgo.minusSeconds(10000));
-
-        testOtherUserEvent = new PersistentAuditEvent();
-        testOtherUserEvent.setPrincipal("other-test-user");
-        testOtherUserEvent.setAuditEventType("test-type");
-        testOtherUserEvent.setAuditEventDate(oneHourAgo);
-    }
-
-    @Test
-    public void testFindAfter() {
-        persistenceAuditEventRepository.save(testUserEvent);
-        persistenceAuditEventRepository.save(testOldUserEvent);
-
-        List<AuditEvent> events =
-            customAuditEventRepository.find(Date.from(testUserEvent.getAuditEventDate().minusSeconds(3600)));
-        assertThat(events).hasSize(1);
-        AuditEvent event = events.get(0);
-        assertThat(event.getPrincipal()).isEqualTo(testUserEvent.getPrincipal());
-        assertThat(event.getType()).isEqualTo(testUserEvent.getAuditEventType());
-        assertThat(event.getData()).containsKey("test-key");
-        assertThat(event.getData().get("test-key").toString()).isEqualTo("test-value");
-        assertThat(event.getTimestamp()).isEqualTo(Date.from(testUserEvent.getAuditEventDate()));
-    }
-
-    @Test
-    public void testFindByPrincipal() {
-        persistenceAuditEventRepository.save(testUserEvent);
-        persistenceAuditEventRepository.save(testOldUserEvent);
-        persistenceAuditEventRepository.save(testOtherUserEvent);
-
-        List<AuditEvent> events = customAuditEventRepository
-            .find("test-user", Date.from(testUserEvent.getAuditEventDate().minusSeconds(3600)));
-        assertThat(events).hasSize(1);
-        AuditEvent event = events.get(0);
-        assertThat(event.getPrincipal()).isEqualTo(testUserEvent.getPrincipal());
-        assertThat(event.getType()).isEqualTo(testUserEvent.getAuditEventType());
-        assertThat(event.getData()).containsKey("test-key");
-        assertThat(event.getData().get("test-key").toString()).isEqualTo("test-value");
-        assertThat(event.getTimestamp()).isEqualTo(Date.from(testUserEvent.getAuditEventDate()));
-    }
-
-    @Test
-    public void testFindByPrincipalNotNullAndAfterIsNull() {
-        persistenceAuditEventRepository.save(testUserEvent);
-        persistenceAuditEventRepository.save(testOtherUserEvent);
-
-        List<AuditEvent> events = customAuditEventRepository.find("test-user", null);
-        assertThat(events).hasSize(1);
-        assertThat(events.get(0).getPrincipal()).isEqualTo("test-user");
-    }
-
-    @Test
-    public void testFindByPrincipalIsNullAndAfterIsNull() {
-        persistenceAuditEventRepository.save(testUserEvent);
-        persistenceAuditEventRepository.save(testOtherUserEvent);
-
-        List<AuditEvent> events = customAuditEventRepository.find(null, null);
-        assertThat(events).hasSize(2);
-        assertThat(events).extracting("principal")
-            .containsExactlyInAnyOrder("test-user", "other-test-user");
-    }
-
-    @Test
-    public void findByPrincipalAndType() {
-        persistenceAuditEventRepository.save(testUserEvent);
-        persistenceAuditEventRepository.save(testOldUserEvent);
-
-        testOtherUserEvent.setAuditEventType(testUserEvent.getAuditEventType());
-        persistenceAuditEventRepository.save(testOtherUserEvent);
-
-        PersistentAuditEvent testUserOtherTypeEvent = new PersistentAuditEvent();
-        testUserOtherTypeEvent.setPrincipal(testUserEvent.getPrincipal());
-        testUserOtherTypeEvent.setAuditEventType("test-other-type");
-        testUserOtherTypeEvent.setAuditEventDate(testUserEvent.getAuditEventDate());
-        persistenceAuditEventRepository.save(testUserOtherTypeEvent);
-
-        List<AuditEvent> events = customAuditEventRepository.find("test-user",
-            Date.from(testUserEvent.getAuditEventDate().minusSeconds(3600)), "test-type");
-        assertThat(events).hasSize(1);
-        AuditEvent event = events.get(0);
-        assertThat(event.getPrincipal()).isEqualTo(testUserEvent.getPrincipal());
-        assertThat(event.getType()).isEqualTo(testUserEvent.getAuditEventType());
-        assertThat(event.getData()).containsKey("test-key");
-        assertThat(event.getData().get("test-key").toString()).isEqualTo("test-value");
-        assertThat(event.getTimestamp()).isEqualTo(Date.from(testUserEvent.getAuditEventDate()));
-    }
-
-    @Test
-    public void addAuditEvent() {
-        Map<String, Object> data = new HashMap<>();
-        data.put("test-key", "test-value");
-        AuditEvent event = new AuditEvent("test-user", "test-type", data);
-        customAuditEventRepository.add(event);
-        List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        assertThat(persistentAuditEvents).hasSize(1);
-        PersistentAuditEvent persistentAuditEvent = persistentAuditEvents.get(0);
-        assertThat(persistentAuditEvent.getPrincipal()).isEqualTo(event.getPrincipal());
-        assertThat(persistentAuditEvent.getAuditEventType()).isEqualTo(event.getType());
-        assertThat(persistentAuditEvent.getData()).containsKey("test-key");
-        assertThat(persistentAuditEvent.getData().get("test-key")).isEqualTo("test-value");
-        assertThat(persistentAuditEvent.getAuditEventDate()).isEqualTo(event.getTimestamp().toInstant());
-    }
-
-    @Test
-    public void testAddEventWithWebAuthenticationDetails() {
-        HttpSession session = new MockHttpSession(null, "test-session-id");
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.setSession(session);
-        request.setRemoteAddr("1.2.3.4");
-        WebAuthenticationDetails details = new WebAuthenticationDetails(request);
-        Map<String, Object> data = new HashMap<>();
-        data.put("test-key", details);
-        AuditEvent event = new AuditEvent("test-user", "test-type", data);
-        customAuditEventRepository.add(event);
-        List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        assertThat(persistentAuditEvents).hasSize(1);
-        PersistentAuditEvent persistentAuditEvent = persistentAuditEvents.get(0);
-        assertThat(persistentAuditEvent.getData().get("remoteAddress")).isEqualTo("1.2.3.4");
-        assertThat(persistentAuditEvent.getData().get("sessionId")).isEqualTo("test-session-id");
-    }
-
-    @Test
-    public void testAddEventWithNullData() {
-        Map<String, Object> data = new HashMap<>();
-        data.put("test-key", null);
-        AuditEvent event = new AuditEvent("test-user", "test-type", data);
-        customAuditEventRepository.add(event);
-        List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        assertThat(persistentAuditEvents).hasSize(1);
-        PersistentAuditEvent persistentAuditEvent = persistentAuditEvents.get(0);
-        assertThat(persistentAuditEvent.getData().get("test-key")).isEqualTo("null");
-    }
-
-    @Test
-    public void addAuditEventWithAnonymousUser() {
-        Map<String, Object> data = new HashMap<>();
-        data.put("test-key", "test-value");
-        AuditEvent event = new AuditEvent(Constants.ANONYMOUS_USER, "test-type", data);
-        customAuditEventRepository.add(event);
-        List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        assertThat(persistentAuditEvents).hasSize(0);
-    }
-
-    @Test
-    public void addAuditEventWithAuthorizationFailureType() {
-        Map<String, Object> data = new HashMap<>();
-        data.put("test-key", "test-value");
-        AuditEvent event = new AuditEvent("test-user", "AUTHORIZATION_FAILURE", data);
-        customAuditEventRepository.add(event);
-        List<PersistentAuditEvent> persistentAuditEvents = persistenceAuditEventRepository.findAll();
-        assertThat(persistentAuditEvents).hasSize(0);
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtilsUnitTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtilsUnitTest.java
deleted file mode 100644
index 9940fba0cfc1753b7da022c2765ec05c7303bae1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/SecurityUtilsUnitTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security;
-
-import org.junit.Test;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
-* Test class for the SecurityUtils utility class.
-*
-* @see SecurityUtils
-*/
-public class SecurityUtilsUnitTest {
-
-    @Test
-    public void testgetCurrentUserLogin() {
-        SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
-        securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "admin"));
-        SecurityContextHolder.setContext(securityContext);
-        String login = SecurityUtils.getCurrentUserLogin();
-        assertThat(login).isEqualTo("admin");
-    }
-
-    @Test
-    public void testgetCurrentUserJWT() {
-        SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
-        securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "token"));
-        SecurityContextHolder.setContext(securityContext);
-        String jwt = SecurityUtils.getCurrentUserJWT();
-        assertThat(jwt).isEqualTo("token");
-    }
-
-    @Test
-    public void testIsAuthenticated() {
-        SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
-        securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "admin"));
-        SecurityContextHolder.setContext(securityContext);
-        boolean isAuthenticated = SecurityUtils.isAuthenticated();
-        assertThat(isAuthenticated).isTrue();
-    }
-
-    @Test
-    public void testAnonymousIsNotAuthenticated() {
-        SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
-        Collection<GrantedAuthority> authorities = new ArrayList<>();
-        authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
-        securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
-        SecurityContextHolder.setContext(securityContext);
-        boolean isAuthenticated = SecurityUtils.isAuthenticated();
-        assertThat(isAuthenticated).isFalse();
-    }
-
-    @Test
-    public void testIsCurrentUserInRole() {
-        SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
-        Collection<GrantedAuthority> authorities = new ArrayList<>();
-        authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
-        securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
-        SecurityContextHolder.setContext(securityContext);
-
-        assertThat(SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.USER)).isTrue();
-        assertThat(SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN)).isFalse();
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilterTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilterTest.java
deleted file mode 100644
index 7f70c72d74cb54c0bd4a562f26ef96d5e3646348..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/JWTFilterTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security.jwt;
-
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import org.junit.Before;
-import org.junit.Test;
-import org.springframework.http.HttpStatus;
-import org.springframework.mock.web.MockFilterChain;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.test.util.ReflectionTestUtils;
-
-import java.util.Collections;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class JWTFilterTest {
-
-
-    private TokenProvider tokenProvider;
-
-    private JWTFilter jwtFilter;
-
-    @Before
-    public void setup() {
-        JHipsterProperties jHipsterProperties = new JHipsterProperties();
-        tokenProvider = new TokenProvider(jHipsterProperties);
-        ReflectionTestUtils.setField(tokenProvider, "secretKey", "test secret");
-        ReflectionTestUtils.setField(tokenProvider, "tokenValidityInMilliseconds", 60000);
-        jwtFilter = new JWTFilter(tokenProvider);
-        SecurityContextHolder.getContext().setAuthentication(null);
-    }
-
-    @Test
-    public void testJWTFilter() throws Exception {
-        UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
-            "test-user",
-            "test-password",
-            Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER))
-        );
-        String jwt = tokenProvider.createToken(authentication, false);
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
-        request.setRequestURI("/api/test");
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        MockFilterChain filterChain = new MockFilterChain();
-        jwtFilter.doFilter(request, response, filterChain);
-        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
-        assertThat(SecurityContextHolder.getContext().getAuthentication().getName()).isEqualTo("test-user");
-        assertThat(SecurityContextHolder.getContext().getAuthentication().getCredentials().toString()).isEqualTo(jwt);
-    }
-
-    @Test
-    public void testJWTFilterInvalidToken() throws Exception {
-        String jwt = "wrong_jwt";
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
-        request.setRequestURI("/api/test");
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        MockFilterChain filterChain = new MockFilterChain();
-        jwtFilter.doFilter(request, response, filterChain);
-        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
-        assertThat(SecurityContextHolder.getContext().getAuthentication()).isNull();
-    }
-
-    @Test
-    public void testJWTFilterMissingAuthorization() throws Exception {
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.setRequestURI("/api/test");
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        MockFilterChain filterChain = new MockFilterChain();
-        jwtFilter.doFilter(request, response, filterChain);
-        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
-        assertThat(SecurityContextHolder.getContext().getAuthentication()).isNull();
-    }
-
-    @Test
-    public void testJWTFilterMissingToken() throws Exception {
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer ");
-        request.setRequestURI("/api/test");
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        MockFilterChain filterChain = new MockFilterChain();
-        jwtFilter.doFilter(request, response, filterChain);
-        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
-        assertThat(SecurityContextHolder.getContext().getAuthentication()).isNull();
-    }
-
-    @Test
-    public void testJWTFilterWrongScheme() throws Exception {
-        UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
-            "test-user",
-            "test-password",
-            Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER))
-        );
-        String jwt = tokenProvider.createToken(authentication, false);
-        MockHttpServletRequest request = new MockHttpServletRequest();
-        request.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Basic " + jwt);
-        request.setRequestURI("/api/test");
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProviderTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProviderTest.java
deleted file mode 100644
index b7b7a83e3b92af073a7e784539c0e847338aa11c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/security/jwt/TokenProviderTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.security.jwt;
-
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import io.jsonwebtoken.Jwts;
-import io.jsonwebtoken.SignatureAlgorithm;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.test.util.ReflectionTestUtils;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class TokenProviderTest {
-
-    private final String secretKey = "e5c9ee274ae87bc031adda32e27fa98b9290da83";
-    private final long ONE_MINUTE = 60000;
-    private JHipsterProperties jHipsterProperties;
-    private TokenProvider tokenProvider;
-
-    @Before
-    public void setup() {
-        jHipsterProperties = Mockito.mock(JHipsterProperties.class);
-        tokenProvider = new TokenProvider(jHipsterProperties);
-        ReflectionTestUtils.setField(tokenProvider, "secretKey", secretKey);
-        ReflectionTestUtils.setField(tokenProvider, "tokenValidityInMilliseconds", ONE_MINUTE);
-    }
-
-    @Test
-    public void testReturnFalseWhenJWThasInvalidSignature() {
-        boolean isTokenValid = tokenProvider.validateToken(createTokenWithDifferentSignature());
-
-        assertThat(isTokenValid).isEqualTo(false);
-    }
-
-    @Test
-    public void testReturnFalseWhenJWTisMalformed() {
-        Authentication authentication = createAuthentication();
-        String token = tokenProvider.createToken(authentication, false);
-        String invalidToken = token.substring(1);
-        boolean isTokenValid = tokenProvider.validateToken(invalidToken);
-
-        assertThat(isTokenValid).isEqualTo(false);
-    }
-
-    @Test
-    public void testReturnFalseWhenJWTisExpired() {
-        ReflectionTestUtils.setField(tokenProvider, "tokenValidityInMilliseconds", -ONE_MINUTE);
-
-        Authentication authentication = createAuthentication();
-        String token = tokenProvider.createToken(authentication, false);
-
-        boolean isTokenValid = tokenProvider.validateToken(token);
-
-        assertThat(isTokenValid).isEqualTo(false);
-    }
-
-    @Test
-    public void testReturnFalseWhenJWTisUnsupported() {
-        String unsupportedToken = createUnsupportedToken();
-
-        boolean isTokenValid = tokenProvider.validateToken(unsupportedToken);
-
-        assertThat(isTokenValid).isEqualTo(false);
-    }
-
-    @Test
-    public void testReturnFalseWhenJWTisInvalid() {
-        boolean isTokenValid = tokenProvider.validateToken("");
-
-        assertThat(isTokenValid).isEqualTo(false);
-    }
-
-    private Authentication createAuthentication() {
-        Collection<GrantedAuthority> authorities = new ArrayList<>();
-        authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
-        return new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities);
-    }
-
-    private String createUnsupportedToken() {
-        return Jwts.builder()
-            .setPayload("payload")
-            .signWith(SignatureAlgorithm.HS512, secretKey)
-            .compact();
-    }
-
-    private String createTokenWithDifferentSignature() {
-        return Jwts.builder()
-            .setSubject("anonymous")
-            .signWith(SignatureAlgorithm.HS512, "e5c9ee274ae87bc031adda32e27fa98b9290da90")
-            .setExpiration(new Date(new Date().getTime() + ONE_MINUTE))
-            .compact();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/MailServiceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/MailServiceIntTest.java
deleted file mode 100644
index 263637daa2baf9804d623468945174cfe9fdbe5a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/MailServiceIntTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import io.github.jhipster.config.JHipsterProperties;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.MockitoAnnotations;
-import org.mockito.Spy;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.MessageSource;
-import org.springframework.mail.MailSendException;
-import org.springframework.mail.javamail.JavaMailSenderImpl;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.thymeleaf.spring4.SpringTemplateEngine;
-
-import javax.mail.Multipart;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
-import java.io.ByteArrayOutputStream;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.*;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class MailServiceIntTest {
-
-    @Autowired
-    private JHipsterProperties jHipsterProperties;
-
-    @Autowired
-    private MessageSource messageSource;
-
-    @Autowired
-    private SpringTemplateEngine templateEngine;
-
-    @Spy
-    private JavaMailSenderImpl javaMailSender;
-
-    @Captor
-    private ArgumentCaptor messageCaptor;
-
-    private MailService mailService;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        doNothing().when(javaMailSender).send(any(MimeMessage.class));
-        mailService = new MailService(jHipsterProperties, javaMailSender, messageSource, templateEngine);
-    }
-
-    @Test
-    public void testSendEmail() throws Exception {
-        mailService.sendEmail("john.doe@example.com", "testSubject","testContent", false, false);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getSubject()).isEqualTo("testSubject");
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo("john.doe@example.com");
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent()).isInstanceOf(String.class);
-        assertThat(message.getContent().toString()).isEqualTo("testContent");
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/plain; charset=UTF-8");
-    }
-
-    @Test
-    public void testSendHtmlEmail() throws Exception {
-        mailService.sendEmail("john.doe@example.com", "testSubject","testContent", false, true);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getSubject()).isEqualTo("testSubject");
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo("john.doe@example.com");
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent()).isInstanceOf(String.class);
-        assertThat(message.getContent().toString()).isEqualTo("testContent");
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testSendMultipartEmail() throws Exception {
-        mailService.sendEmail("john.doe@example.com", "testSubject","testContent", true, false);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        MimeMultipart mp = (MimeMultipart) message.getContent();
-        MimeBodyPart part = (MimeBodyPart)((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
-        ByteArrayOutputStream aos = new ByteArrayOutputStream();
-        part.writeTo(aos);
-        assertThat(message.getSubject()).isEqualTo("testSubject");
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo("john.doe@example.com");
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent()).isInstanceOf(Multipart.class);
-        assertThat(aos.toString()).isEqualTo("\r\ntestContent");
-        assertThat(part.getDataHandler().getContentType()).isEqualTo("text/plain; charset=UTF-8");
-    }
-
-    @Test
-    public void testSendMultipartHtmlEmail() throws Exception {
-        mailService.sendEmail("john.doe@example.com", "testSubject","testContent", true, true);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        MimeMultipart mp = (MimeMultipart) message.getContent();
-        MimeBodyPart part = (MimeBodyPart)((MimeMultipart) mp.getBodyPart(0).getContent()).getBodyPart(0);
-        ByteArrayOutputStream aos = new ByteArrayOutputStream();
-        part.writeTo(aos);
-        assertThat(message.getSubject()).isEqualTo("testSubject");
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo("john.doe@example.com");
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent()).isInstanceOf(Multipart.class);
-        assertThat(aos.toString()).isEqualTo("\r\ntestContent");
-        assertThat(part.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testSendEmailFromTemplate() throws Exception {
-        User user = new User();
-        user.setLogin("john");
-        user.setEmail("john.doe@example.com");
-        user.setLangKey("en");
-        mailService.sendEmailFromTemplate(user, "testEmail", "email.test.title");
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getSubject()).isEqualTo("test title");
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo(user.getEmail());
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent().toString()).isEqualTo("<html>test title, http://127.0.0.1:8080, john</html>\n");
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testSendActivationEmail() throws Exception {
-        User user = new User();
-        user.setLangKey("en");
-        user.setLogin("john");
-        user.setEmail("john.doe@example.com");
-        mailService.sendActivationEmail(user);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo(user.getEmail());
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent().toString()).isNotEmpty();
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testCreationEmail() throws Exception {
-        User user = new User();
-        user.setLangKey("en");
-        user.setLogin("john");
-        user.setEmail("john.doe@example.com");
-        mailService.sendCreationEmail(user);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo(user.getEmail());
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent().toString()).isNotEmpty();
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testSendPasswordResetMail() throws Exception {
-        User user = new User();
-        user.setLangKey("en");
-        user.setLogin("john");
-        user.setEmail("john.doe@example.com");
-        mailService.sendPasswordResetMail(user);
-        verify(javaMailSender).send((MimeMessage) messageCaptor.capture());
-        MimeMessage message = (MimeMessage) messageCaptor.getValue();
-        assertThat(message.getAllRecipients()[0].toString()).isEqualTo(user.getEmail());
-        assertThat(message.getFrom()[0].toString()).isEqualTo("test@localhost");
-        assertThat(message.getContent().toString()).isNotEmpty();
-        assertThat(message.getDataHandler().getContentType()).isEqualTo("text/html;charset=UTF-8");
-    }
-
-    @Test
-    public void testSendEmailWithException() throws Exception {
-        doThrow(MailSendException.class).when(javaMailSender).send(any(MimeMessage.class));
-        mailService.sendEmail("john.doe@example.com", "testSubject","testContent", false, false);
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/UserServiceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/UserServiceIntTest.java
deleted file mode 100644
index 42845404aa4c6fdb512fd2f61f662e3f1e4dddc7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/service/UserServiceIntTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.service;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.config.Constants;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import eu.decideh2020.acsmi.frontend.server.service.util.RandomUtil;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-
-import java.time.Instant;
-import java.time.temporal.ChronoUnit;
-import java.util.Optional;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.*;
-
-/**
- * Test class for the UserResource REST controller.
- *
- * @see UserService
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-@Transactional
-public class UserServiceIntTest {
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private UserService userService;
-
-    @Test
-    public void assertThatUserMustExistToResetPassword() {
-        Optional<User> maybeUser = userService.requestPasswordReset("john.doe@localhost");
-        assertThat(maybeUser.isPresent()).isFalse();
-
-        maybeUser = userService.requestPasswordReset("admin@localhost");
-        assertThat(maybeUser.isPresent()).isTrue();
-
-        assertThat(maybeUser.get().getEmail()).isEqualTo("admin@localhost");
-        assertThat(maybeUser.get().getResetDate()).isNotNull();
-        assertThat(maybeUser.get().getResetKey()).isNotNull();
-    }
-
-    @Test
-    public void assertThatOnlyActivatedUserCanRequestPasswordReset() {
-        User user = userService.createUser("johndoe", "johndoe", "John", "Doe", "john.doe@localhost", "JHI", "admin", "pa", "visa", "1234567891234567", null, "A12345678", "http://placehold.it/50x50", "en-US");
-        Optional<User> maybeUser = userService.requestPasswordReset("john.doe@localhost");
-        assertThat(maybeUser.isPresent()).isFalse();
-        userRepository.delete(user);
-    }
-
-    @Test
-    public void assertThatResetKeyMustNotBeOlderThan24Hours() {
-        User user = userService.createUser("johndoe", "johndoe", "John", "Doe", "john.doe@localhost", "JHI", "boss", "csp", null, null, null, "A12345678", "http://placehold.it/50x50", "en-US");
-
-        Instant daysAgo = Instant.now().minus(25, ChronoUnit.HOURS);
-        String resetKey = RandomUtil.generateResetKey();
-        user.setActivated(true);
-        user.setResetDate(daysAgo);
-        user.setResetKey(resetKey);
-
-        userRepository.save(user);
-
-        Optional<User> maybeUser = userService.completePasswordReset("johndoe2", user.getResetKey());
-
-        assertThat(maybeUser.isPresent()).isFalse();
-
-        userRepository.delete(user);
-    }
-
-    @Test
-    public void assertThatResetKeyMustBeValid() {
-        User user = userService.createUser("johndoe", "johndoe", "John", "Doe", "john.doe@localhost", "JHI", "admin", "pa", null, null, "euro2706171245", "A12345678", "http://placehold.it/50x50", "en-US");
-
-        Instant daysAgo = Instant.now().minus(25, ChronoUnit.HOURS);
-        user.setActivated(true);
-        user.setResetDate(daysAgo);
-        user.setResetKey("1234");
-        userRepository.save(user);
-        Optional<User> maybeUser = userService.completePasswordReset("johndoe2", user.getResetKey());
-        assertThat(maybeUser.isPresent()).isFalse();
-        userRepository.delete(user);
-    }
-
-    @Test
-    public void assertThatUserCanResetPassword() {
-        User user = userService.createUser("johndoe", "johndoe", "John", "Doe", "john.doe@localhost", "JHI", "admin", "pa", "visa", "1234567891234567", null, "A12345678", "http://placehold.it/50x50", "en-US");
-        String oldPassword = user.getPassword();
-        Instant daysAgo = Instant.now().minus(2, ChronoUnit.HOURS);
-        String resetKey = RandomUtil.generateResetKey();
-        user.setActivated(true);
-        user.setResetDate(daysAgo);
-        user.setResetKey(resetKey);
-        userRepository.save(user);
-        Optional<User> maybeUser = userService.completePasswordReset("johndoe2", user.getResetKey());
-        assertThat(maybeUser.isPresent()).isTrue();
-        assertThat(maybeUser.get().getResetDate()).isNull();
-        assertThat(maybeUser.get().getResetKey()).isNull();
-        assertThat(maybeUser.get().getPassword()).isNotEqualTo(oldPassword);
-
-        userRepository.delete(user);
-    }
-
-    @Test
-    public void testFindNotActivatedUsersByCreationDateBefore() {
-        userService.removeNotActivatedUsers();
-        Instant now = Instant.now();
-        List<User> users = userRepository.findAllByActivatedIsFalseAndCreatedDateBefore(now.minus(3, ChronoUnit.DAYS));
-        assertThat(users).isEmpty();
-    }
-
-    @Test
-    public void assertThatAnonymousUserIsNotGet() {
-        final PageRequest pageable = new PageRequest(0, (int) userRepository.count());
-        final Page<UserDTO> allManagedUsers = userService.getAllManagedUsers(pageable);
-        assertThat(allManagedUsers.getContent().stream()
-            .noneMatch(user -> Constants.ANONYMOUS_USER.equals(user.getLogin())))
-            .isTrue();
-    }
-
-    @Test
-    public void testRemoveNotActivatedUsers() {
-        User user = userService.createUser("johndoe", "johndoe", "John", "Doe", "john.doe@localhost", "JHI", "admin", "pa", "mastercard", "1234567891234567", null, "A12345678", "http://placehold.it/50x50", "en-US");
-        user.setActivated(false);
-        user.setCreatedDate(Instant.now().minus(30, ChronoUnit.DAYS));
-        userRepository.save(user);
-        assertThat(userRepository.findOneByLogin("johndoe")).isPresent();
-        userService.removeNotActivatedUsers();
-        assertThat(userRepository.findOneByLogin("johndoe")).isNotPresent();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResourceIntTest.java
deleted file mode 100644
index 2ae36996930a413558838b261d5c194241e638f2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AccountResourceIntTest.java
+++ /dev/null
@@ -1,898 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.AuthorityRepository;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import eu.decideh2020.acsmi.frontend.server.service.MailService;
-import eu.decideh2020.acsmi.frontend.server.service.UserService;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.KeyAndPasswordVM;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.ManagedUserVM;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.Instant;
-import java.util.*;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.when;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-
-/**
- * Test class for the AccountResource REST controller.
- *
- * @see AccountResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class AccountResourceIntTest {
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private AuthorityRepository authorityRepository;
-
-    @Autowired
-    private UserService userService;
-
-    @Autowired
-    private PasswordEncoder passwordEncoder;
-
-    @Autowired
-    private HttpMessageConverter[] httpMessageConverters;
-
-    @Mock
-    private UserService mockUserService;
-
-    @Mock
-    private MailService mockMailService;
-
-    private MockMvc restUserMockMvc;
-
-    private MockMvc restMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        doNothing().when(mockMailService).sendActivationEmail(anyObject());
-
-        AccountResource accountResource =
-            new AccountResource(userRepository, userService, mockMailService);
-
-        AccountResource accountUserMockResource =
-            new AccountResource(userRepository, mockUserService, mockMailService);
-
-        this.restMvc = MockMvcBuilders.standaloneSetup(accountResource)
-            .setMessageConverters(httpMessageConverters)
-            .build();
-        this.restUserMockMvc = MockMvcBuilders.standaloneSetup(accountUserMockResource).build();
-    }
-
-    @Test
-    public void testNonAuthenticatedUser() throws Exception {
-        restUserMockMvc.perform(get("/api/authenticate")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().string(""));
-    }
-
-    @Test
-    public void testAuthenticatedUser() throws Exception {
-        restUserMockMvc.perform(get("/api/authenticate")
-            .with(request -> {
-                request.setRemoteUser("test");
-                return request;
-            })
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().string("test"));
-    }
-
-    @Test
-    public void testGetExistingAccount() throws Exception {
-        Set<Authority> authorities = new HashSet<>();
-        Authority authority = new Authority();
-        authority.setName(AuthoritiesConstants.ADMIN);
-        authorities.add(authority);
-
-        User user = new User();
-        user.setLogin("test");
-        user.setFirstName("john");
-        user.setLastName("doe");
-        user.setEmail("john.doe@jhipster.com");
-        user.setCompany("JHI");
-        user.setUsersGroup("admin");
-        user.setUserType("pa");
-        user.setCreditCardType("visa");
-        user.setCreditCard("123456789123456");
-        user.setContractReference("euro2706171245");
-        user.setCifOrVat("A12345678");
-        user.setImageUrl("http://placehold.it/50x50");
-        user.setLangKey("en");
-        user.setAuthorities(authorities);
-        when(mockUserService.getUserWithAuthorities()).thenReturn(user);
-
-        restUserMockMvc.perform(get("/api/account")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.login").value("test"))
-            .andExpect(jsonPath("$.firstName").value("john"))
-            .andExpect(jsonPath("$.lastName").value("doe"))
-            .andExpect(jsonPath("$.email").value("john.doe@jhipster.com"))
-            .andExpect(jsonPath("$.company").value("JHI"))
-            .andExpect(jsonPath("$.usersGroup").value("admin"))
-            .andExpect(jsonPath("$.userType").value("pa"))
-            .andExpect(jsonPath("$.creditCardType").value("visa"))
-            .andExpect(jsonPath("$.creditCard").value("123456789123456"))
-            .andExpect(jsonPath("$.contractReference").value("euro2706171245"))
-            .andExpect(jsonPath("$.cifOrVat").value("A12345678"))
-            .andExpect(jsonPath("$.imageUrl").value("http://placehold.it/50x50"))
-            .andExpect(jsonPath("$.langKey").value("en"))
-            .andExpect(jsonPath("$.authorities").value(AuthoritiesConstants.ADMIN));
-    }
-
-    @Test
-    public void testGetUnknownAccount() throws Exception {
-        when(mockUserService.getUserWithAuthorities()).thenReturn(null);
-
-        restUserMockMvc.perform(get("/api/account")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isInternalServerError());
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterValid() throws Exception {
-        ManagedUserVM validUser = new ManagedUserVM(
-            null,                   // id
-            "joe",                  // login
-            "password",             // password
-            "Joe",                  // firstName
-            "Shmoe",                // lastName
-            "joe@example.com",      // email
-            "JHI",					// company
-            "admin",				// group
-            "pa", 					// user type
-            null, 					// credit card type
-            null, 					// credit card
-            "euro2706171245",		// contract reference
-            "A12345678",			// cif / vat
-            true,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(validUser)))
-            .andExpect(status().isCreated());
-
-        Optional<User> user = userRepository.findOneByLogin("joe");
-        assertThat(user.isPresent()).isTrue();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterInvalidLogin() throws Exception {
-        ManagedUserVM invalidUser = new ManagedUserVM(
-            null,                   // id
-            "funky-log!n",          // login <-- invalid
-            "password",             // password
-            "Funky",                // firstName
-            "One",                  // lastName
-            "funky@example.com",    // email
-            "Funky S.A.",			// company
-            "admin",				// group
-            "pa", 					// user type
-            "mastercard", 			// credit card type
-            "1234567891234567", 	// credit card
-            null,					// contract reference
-            "A12345678",			// cif / vat
-            true,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        restUserMockMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(invalidUser)))
-            .andExpect(status().isBadRequest());
-
-        Optional<User> user = userRepository.findOneByEmail("funky@example.com");
-        assertThat(user.isPresent()).isFalse();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterInvalidEmail() throws Exception {
-        ManagedUserVM invalidUser = new ManagedUserVM(
-            null,               // id
-            "bob",              // login
-            "password",         // password
-            "Bob",              // firstName
-            "Green",            // lastName
-            "invalid",          // email <-- invalid
-            "JHI",				// company
-            "admin",			// group
-            "pa", 				// user type
-            "visa", 			// credit card type
-            "1234567891234567", // credit card
-            null,				// contract reference
-            "A12345678",		// cif / vat
-            true,               // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        restUserMockMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(invalidUser)))
-            .andExpect(status().isBadRequest());
-
-        Optional<User> user = userRepository.findOneByLogin("bob");
-        assertThat(user.isPresent()).isFalse();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterInvalidPassword() throws Exception {
-        ManagedUserVM invalidUser = new ManagedUserVM(
-            null,               // id
-            "bob",              // login
-            "123",              // password with only 3 digits
-            "Bob",              // firstName
-            "Green",            // lastName
-            "bob@example.com",  // email
-            "JHI",				// company
-            "admin",			// group
-            "csp", 				// user type
-            null, 				// credit card type
-            null, 				// credit card
-            null,				// contract reference
-            "A12345678",		// cif / vat
-            true,               // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        restUserMockMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(invalidUser)))
-            .andExpect(status().isBadRequest());
-
-        Optional<User> user = userRepository.findOneByLogin("bob");
-        assertThat(user.isPresent()).isFalse();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterDuplicateLogin() throws Exception {
-        // Good
-        ManagedUserVM validUser = new ManagedUserVM(
-            null,                   // id
-            "alice",                // login
-            "password",             // password
-            "Alice",                // firstName
-            "Something",            // lastName
-            "alice@example.com",    // email
-            "JHI",					// company
-            "admin",				// group
-            "pa", 				// user type
-            "mastercard", 			// credit card type
-            "1234567891234567", 	// credit card
-            null,					// contract reference
-            "A12345678",			// cif / vat
-            true,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        // Duplicate login, different email
-        ManagedUserVM duplicatedUser = new ManagedUserVM(validUser.getId(), validUser.getLogin(), validUser.getPassword(), validUser.getFirstName(), validUser.getLastName(),
-            "alicejr@example.com", validUser.getCompany(), validUser.getUsersGroup(), validUser.getUserType(), validUser.getCreditCardType(), validUser.getCreditCard(), validUser.getContractReference(), validUser.getCifOrVat(), true,
-            validUser.getImageUrl(), validUser.getLangKey(), validUser.getCreatedBy(), validUser.getCreatedDate(), validUser.getLastModifiedBy(), validUser.getLastModifiedDate(), validUser.getAuthorities());
-
-        // Good user
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(validUser)))
-            .andExpect(status().isCreated());
-
-        // Duplicate login
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(duplicatedUser)))
-            .andExpect(status().is4xxClientError());
-
-        Optional<User> userDup = userRepository.findOneByEmail("alicejr@example.com");
-        assertThat(userDup.isPresent()).isFalse();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterDuplicateEmail() throws Exception {
-        // Good
-        ManagedUserVM validUser = new ManagedUserVM(
-            null,                   // id
-            "john",                 // login
-            "password",             // password
-            "John",                 // firstName
-            "Doe",                  // lastName
-            "john@example.com",     // email
-            "JHI",					// company
-            "admin",				// group
-            "pa", 					// user type
-            "visa", 				// credit card type
-            "1234567891234567", 	// credit card
-            null,					// contract reference
-            "A12345678",			// cif / vat
-            true,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.USER)));
-
-        // Duplicate email, different login
-        ManagedUserVM duplicatedUser = new ManagedUserVM(validUser.getId(), "johnjr", validUser.getPassword(), validUser.getLogin(), validUser.getLastName(),
-            validUser.getEmail(), validUser.getCompany(), validUser.getUsersGroup(), validUser.getUserType(), validUser.getCreditCardType(), validUser.getCreditCard(), validUser.getContractReference(), validUser.getCifOrVat(), true,
-            validUser.getImageUrl(), validUser.getLangKey(), validUser.getCreatedBy(), validUser.getCreatedDate(), validUser.getLastModifiedBy(), validUser.getLastModifiedDate(), validUser.getAuthorities());
-
-        // Good user
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(validUser)))
-            .andExpect(status().isCreated());
-
-        // Duplicate email
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(duplicatedUser)))
-            .andExpect(status().is4xxClientError());
-
-        Optional<User> userDup = userRepository.findOneByLogin("johnjr");
-        assertThat(userDup.isPresent()).isFalse();
-    }
-
-    @Test
-    @Transactional
-    public void testRegisterAdminIsIgnored() throws Exception {
-        ManagedUserVM validUser = new ManagedUserVM(
-            null,                   // id
-            "badguy",               // login
-            "password",             // password
-            "Bad",                  // firstName
-            "Guy",                  // lastName
-            "badguy@example.com",   // email
-            "JHI",					// company
-            "admin",				// group
-            "pa", 					// user type
-            null, 					// credit card type
-            null, 					// credit card
-            "ama32706171245",		// contract reference
-            "A12345678",			// cif / vat
-            true,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN)));
-
-        restMvc.perform(
-            post("/api/register")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(validUser)))
-            .andExpect(status().isCreated());
-
-        Optional<User> userDup = userRepository.findOneByLogin("badguy");
-        assertThat(userDup.isPresent()).isTrue();
-        assertThat(userDup.get().getAuthorities()).hasSize(2)
-            .containsExactly(authorityRepository.findOne(AuthoritiesConstants.USER), authorityRepository.findOne(AuthoritiesConstants.PA_OWNER));
-    }
-
-    @Test
-    @Transactional
-    public void testActivateAccount() throws Exception {
-        final String activationKey = "some activation key";
-        User user = new User();
-        user.setLogin("activate-account");
-        user.setEmail("activate-account@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(false);
-        user.setActivationKey(activationKey);
-
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(get("/api/activate?key={activationKey}", activationKey))
-            .andExpect(status().isOk());
-
-        user = userRepository.findOneByLogin(user.getLogin()).orElse(null);
-        assertThat(user.getActivated()).isTrue();
-    }
-
-    @Test
-    @Transactional
-    public void testActivateAccountWithWrongKey() throws Exception {
-        restMvc.perform(get("/api/activate?key=wrongActivationKey"))
-            .andExpect(status().isInternalServerError());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("save-account")
-    public void testSaveAccount() throws Exception {
-        User user = new User();
-        user.setLogin("save-account");
-        user.setEmail("save-account@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-
-        userRepository.saveAndFlush(user);
-
-        UserDTO userDTO = new UserDTO(
-            null,                   // id
-            "not-used",          	// login
-            "firstname",            // firstName
-            "lastname",             // lastName
-            "save-account@example.com",    // email
-            null,					// company
-            "boss",					// group
-            "csp", 					// user type
-            null, 					// credit card type
-            null, 					// credit card
-            null,					// contract reference
-            "A12345678",			// cif / vat
-            false,                  // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN))
-        );
-
-        restMvc.perform(
-            post("/api/account")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(userDTO)))
-            .andExpect(status().isOk());
-
-        User updatedUser = userRepository.findOneByLogin(user.getLogin()).orElse(null);
-        assertThat(updatedUser.getFirstName()).isEqualTo(userDTO.getFirstName());
-        assertThat(updatedUser.getLastName()).isEqualTo(userDTO.getLastName());
-        assertThat(updatedUser.getEmail()).isEqualTo(userDTO.getEmail());
-        assertThat(updatedUser.getCompany()).isEqualTo(userDTO.getCompany());
-        assertThat(updatedUser.getUserType()).isEqualTo(userDTO.getUserType());
-        assertThat(updatedUser.getCreditCardType()).isEqualTo(userDTO.getCreditCardType());
-        assertThat(updatedUser.getCreditCard()).isEqualTo(userDTO.getCreditCard());
-        assertThat(updatedUser.getContractReference()).isEqualTo(userDTO.getContractReference());
-        assertThat(updatedUser.getCifOrVat()).isEqualTo(userDTO.getCifOrVat());
-        assertThat(updatedUser.getLangKey()).isEqualTo(userDTO.getLangKey());
-        assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
-        assertThat(updatedUser.getImageUrl()).isEqualTo(userDTO.getImageUrl());
-        assertThat(updatedUser.getActivated()).isEqualTo(true);
-        assertThat(updatedUser.getAuthorities()).isEmpty();
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("save-invalid-email")
-    public void testSaveInvalidEmail() throws Exception {
-        User user = new User();
-        user.setLogin("save-invalid-email");
-        user.setEmail("save-invalid-email@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-
-        userRepository.saveAndFlush(user);
-
-        UserDTO userDTO = new UserDTO(
-            null,                   // id
-            "not-used",          	// login
-            "firstname",            // firstName
-            "lastname",             // lastName
-            "invalid email",    	// email
-            "company",				// company
-            "group",				// group
-            "usertype", 			// user type
-            "creditcardtype", 		// credit card type
-            "creditcard", 			// credit card
-            null,					// contract reference
-            "ciforvat",				// cif / vat
-            false,                  // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN))
-        );
-
-        restMvc.perform(
-            post("/api/account")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(userDTO)))
-            .andExpect(status().isBadRequest());
-
-        assertThat(userRepository.findOneByEmail("invalid email")).isNotPresent();
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("save-existing-email")
-    public void testSaveExistingEmail() throws Exception {
-        User user = new User();
-        user.setLogin("save-existing-email");
-        user.setEmail("save-existing-email@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-
-        userRepository.saveAndFlush(user);
-
-        User anotherUser = new User();
-        anotherUser.setLogin("save-existing-email2");
-        anotherUser.setEmail("save-existing-email2@example.com");
-        anotherUser.setUserType("pa");
-        anotherUser.setCifOrVat("A12345678");
-        anotherUser.setPassword(RandomStringUtils.random(60));
-        anotherUser.setActivated(true);
-
-        userRepository.saveAndFlush(anotherUser);
-
-        UserDTO userDTO = new UserDTO(
-            null,                   // id
-            "not-used",          // login
-            "firstname",                // firstName
-            "lastname",                  // lastName
-            "save-existing-email2@example.com",    // email
-            "company",				// company
-            "group",				// group
-            "usertype", 			// user type
-            "creditcardtype", 		// credit card type
-            "creditcard", 			// credit card
-            null,					// contract reference
-            "ciforvat",				// cif / vat
-            false,                   // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN))
-        );
-
-        restMvc.perform(
-            post("/api/account")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(userDTO)))
-            .andExpect(status().isBadRequest());
-
-        User updatedUser = userRepository.findOneByLogin("save-existing-email").orElse(null);
-        assertThat(updatedUser.getEmail()).isEqualTo("save-existing-email@example.com");
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("save-existing-email-and-login")
-    public void testSaveExistingEmailAndLogin() throws Exception {
-        User user = new User();
-        user.setLogin("save-existing-email-and-login");
-        user.setEmail("save-existing-email-and-login@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-
-        userRepository.saveAndFlush(user);
-
-        User anotherUser = new User();
-        anotherUser.setLogin("save-existing-email-and-login");
-        anotherUser.setEmail("save-existing-email-and-login@example.com");
-        anotherUser.setPassword(RandomStringUtils.random(60));
-        anotherUser.setActivated(true);
-
-        UserDTO userDTO = new UserDTO(
-            null,                   // id
-            "not-used",          // login
-            "firstname",                // firstName
-            "lastname",                  // lastName
-            "save-existing-email-and-login@example.com",    // email
-            "company",				// company
-            "boss",					// group
-            "csp", 					// user type
-            null, 					// credit card type
-            null, 					// credit card
-            null,					// contract reference
-            "A12345678",			// cif / vat
-            false,                  // activated
-            "http://placehold.it/50x50", //imageUrl
-            "en",                   // langKey
-            null,                   // createdBy
-            null,                   // createdDate
-            null,                   // lastModifiedBy
-            null,                   // lastModifiedDate
-            new HashSet<>(Collections.singletonList(AuthoritiesConstants.ADMIN))
-        );
-
-        restMvc.perform(
-            post("/api/account")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(userDTO)))
-            .andExpect(status().isOk());
-
-        User updatedUser = userRepository.findOneByLogin("save-existing-email-and-login").orElse(null);
-        assertThat(updatedUser.getEmail()).isEqualTo("save-existing-email-and-login@example.com");
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("change-password")
-    public void testChangePassword() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("change-password");
-        user.setEmail("change-password@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(post("/api/account/change_password").content("new password"))
-            .andExpect(status().isOk());
-
-        User updatedUser = userRepository.findOneByLogin("change-password").orElse(null);
-        assertThat(passwordEncoder.matches("new password", updatedUser.getPassword())).isTrue();
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("change-password-too-small")
-    public void testChangePasswordTooSmall() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("change-password-too-small");
-        user.setEmail("change-password-too-small@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(post("/api/account/change_password").content("new"))
-            .andExpect(status().isBadRequest());
-
-        User updatedUser = userRepository.findOneByLogin("change-password-too-small").orElse(null);
-        assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("change-password-too-long")
-    public void testChangePasswordTooLong() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("change-password-too-long");
-        user.setEmail("change-password-too-long@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(post("/api/account/change_password").content(RandomStringUtils.random(101)))
-            .andExpect(status().isBadRequest());
-
-        User updatedUser = userRepository.findOneByLogin("change-password-too-long").orElse(null);
-        assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser("change-password-empty")
-    public void testChangePasswordEmpty() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("change-password-empty");
-        user.setEmail("change-password-empty@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(post("/api/account/change_password").content(RandomStringUtils.random(0)))
-            .andExpect(status().isBadRequest());
-
-        User updatedUser = userRepository.findOneByLogin("change-password-empty").orElse(null);
-        assertThat(updatedUser.getPassword()).isEqualTo(user.getPassword());
-    }
-
-    @Test
-    @Transactional
-    public void testRequestPasswordReset() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-        user.setLogin("password-reset");
-        user.setEmail("password-reset@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        userRepository.saveAndFlush(user);
-
-        restMvc.perform(post("/api/account/reset_password/init")
-            .content("password-reset@example.com"))
-            .andExpect(status().isOk());
-    }
-
-    @Test
-    public void testRequestPasswordResetWrongEmail() throws Exception {
-        restMvc.perform(
-            post("/api/account/reset_password/init")
-                .content("password-reset-wrong-email@example.com"))
-            .andExpect(status().isBadRequest());
-    }
-
-    @Test
-    @Transactional
-    public void testFinishPasswordReset() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("finish-password-reset");
-        user.setEmail("finish-password-reset@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setResetDate(Instant.now().plusSeconds(60));
-        user.setResetKey("reset key");
-        userRepository.saveAndFlush(user);
-
-        KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
-        keyAndPassword.setKey(user.getResetKey());
-        keyAndPassword.setNewPassword("new password");
-
-        restMvc.perform(
-            post("/api/account/reset_password/finish")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(keyAndPassword)))
-            .andExpect(status().isOk());
-
-        User updatedUser = userRepository.findOneByLogin(user.getLogin()).orElse(null);
-        assertThat(passwordEncoder.matches(keyAndPassword.getNewPassword(), updatedUser.getPassword())).isTrue();
-    }
-
-    @Test
-    @Transactional
-    public void testFinishPasswordResetTooSmall() throws Exception {
-        User user = new User();
-        user.setPassword(RandomStringUtils.random(60));
-        user.setLogin("finish-password-reset-too-small");
-        user.setEmail("finish-password-reset-too-small@example.com");
-        user.setUsersGroup("boss");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setResetDate(Instant.now().plusSeconds(60));
-        user.setResetKey("reset key too small");
-        userRepository.saveAndFlush(user);
-
-        KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
-        keyAndPassword.setKey(user.getResetKey());
-        keyAndPassword.setNewPassword("foo");
-
-        restMvc.perform(
-            post("/api/account/reset_password/finish")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(keyAndPassword)))
-            .andExpect(status().isBadRequest());
-
-        User updatedUser = userRepository.findOneByLogin(user.getLogin()).orElse(null);
-        assertThat(passwordEncoder.matches(keyAndPassword.getNewPassword(), updatedUser.getPassword())).isFalse();
-    }
-
-
-    @Test
-    @Transactional
-    public void testFinishPasswordResetWrongKey() throws Exception {
-        KeyAndPasswordVM keyAndPassword = new KeyAndPasswordVM();
-        keyAndPassword.setKey("wrong reset key");
-        keyAndPassword.setNewPassword("new password");
-
-        restMvc.perform(
-            post("/api/account/reset_password/finish")
-                .contentType(TestUtil.APPLICATION_JSON_UTF8)
-                .content(TestUtil.convertObjectToJsonBytes(keyAndPassword)))
-            .andExpect(status().isInternalServerError());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResourceIntTest.java
deleted file mode 100644
index 8f66e780b0a89efc2c0ffbf2f3dc9b086e805f20..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/AuditResourceIntTest.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.config.audit.AuditEventConverter;
-import eu.decideh2020.acsmi.frontend.server.domain.PersistentAuditEvent;
-import eu.decideh2020.acsmi.frontend.server.repository.PersistenceAuditEventRepository;
-import eu.decideh2020.acsmi.frontend.server.service.AuditEventService;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
-import org.springframework.format.support.FormattingConversionService;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.Instant;
-import java.time.format.DateTimeFormatter;
-
-import static org.hamcrest.Matchers.hasItem;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-
-/**
- * Test class for the AuditResource REST controller.
- *
- * @see AuditResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-@Transactional
-public class AuditResourceIntTest {
-
-    private static final String SAMPLE_PRINCIPAL = "SAMPLE_PRINCIPAL";
-    private static final String SAMPLE_TYPE = "SAMPLE_TYPE";
-    private static final Instant SAMPLE_TIMESTAMP = Instant.parse("2015-08-04T10:11:30Z");
-    private static final long SECONDS_PER_DAY = 60*60*24;
-
-    @Autowired
-    private PersistenceAuditEventRepository auditEventRepository;
-
-    @Autowired
-    private AuditEventConverter auditEventConverter;
-
-    @Autowired
-    private MappingJackson2HttpMessageConverter jacksonMessageConverter;
-
-    @Autowired
-    private FormattingConversionService formattingConversionService;
-
-    @Autowired
-    private PageableHandlerMethodArgumentResolver pageableArgumentResolver;
-
-    private PersistentAuditEvent auditEvent;
-
-    private MockMvc restAuditMockMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        AuditEventService auditEventService =
-            new AuditEventService(auditEventRepository, auditEventConverter);
-        AuditResource auditResource = new AuditResource(auditEventService);
-        this.restAuditMockMvc = MockMvcBuilders.standaloneSetup(auditResource)
-            .setCustomArgumentResolvers(pageableArgumentResolver)
-            .setConversionService(formattingConversionService)
-            .setMessageConverters(jacksonMessageConverter).build();
-    }
-
-    @Before
-    public void initTest() {
-        auditEventRepository.deleteAll();
-        auditEvent = new PersistentAuditEvent();
-        auditEvent.setAuditEventType(SAMPLE_TYPE);
-        auditEvent.setPrincipal(SAMPLE_PRINCIPAL);
-        auditEvent.setAuditEventDate(SAMPLE_TIMESTAMP);
-    }
-
-    @Test
-    public void getAllAudits() throws Exception {
-        // Initialize the database
-        auditEventRepository.save(auditEvent);
-
-        // Get all the audits
-        restAuditMockMvc.perform(get("/management/audits"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.[*].principal").value(hasItem(SAMPLE_PRINCIPAL)));
-    }
-
-    @Test
-    public void getAudit() throws Exception {
-        // Initialize the database
-        auditEventRepository.save(auditEvent);
-
-        // Get the audit
-        restAuditMockMvc.perform(get("/management/audits/{id}", auditEvent.getId()))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.principal").value(SAMPLE_PRINCIPAL));
-    }
-
-    @Test
-    public void getAuditsByDate() throws Exception {
-        // Initialize the database
-        auditEventRepository.save(auditEvent);
-
-        // Generate dates for selecting audits by date, making sure the period will contain the audit
-        String fromDate  = SAMPLE_TIMESTAMP.minusSeconds(SECONDS_PER_DAY).toString().substring(0,10);
-        String toDate = SAMPLE_TIMESTAMP.plusSeconds(SECONDS_PER_DAY).toString().substring(0,10);
-
-        // Get the audit
-        restAuditMockMvc.perform(get("/management/audits?fromDate="+fromDate+"&toDate="+toDate))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.[*].principal").value(hasItem(SAMPLE_PRINCIPAL)));
-    }
-
-    @Test
-    public void getNonExistingAuditsByDate() throws Exception {
-        // Initialize the database
-        auditEventRepository.save(auditEvent);
-
-        // Generate dates for selecting audits by date, making sure the period will not contain the sample audit
-        String fromDate  = SAMPLE_TIMESTAMP.minusSeconds(2*SECONDS_PER_DAY).toString().substring(0,10);
-        String toDate = SAMPLE_TIMESTAMP.minusSeconds(SECONDS_PER_DAY).toString().substring(0,10);
-
-        // Query audits but expect no results
-        restAuditMockMvc.perform(get("/management/audits?fromDate=" + fromDate + "&toDate=" + toDate))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(header().string("X-Total-Count", "0"));
-    }
-
-    @Test
-    public void getNonExistingAudit() throws Exception {
-        // Get the audit
-        restAuditMockMvc.perform(get("/management/audits/{id}", Long.MAX_VALUE))
-            .andExpect(status().isNotFound());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResourceIntTest.java
deleted file mode 100644
index 0b771287206759fbdbce3f5f1947d85a8361967d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/LogsResourceIntTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.LoggerVM;
-import ch.qos.logback.classic.AsyncAppender;
-import ch.qos.logback.classic.LoggerContext;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the LogsResource REST controller.
- *
- * @see LogsResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class LogsResourceIntTest {
-
-    private MockMvc restLogsMockMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-
-        LogsResource logsResource = new LogsResource();
-        this.restLogsMockMvc = MockMvcBuilders
-            .standaloneSetup(logsResource)
-            .build();
-    }
-
-    @Test
-    public void getAllLogs()throws Exception {
-        restLogsMockMvc.perform(get("/management/logs"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void changeLogs()throws Exception {
-        LoggerVM logger = new LoggerVM();
-        logger.setLevel("INFO");
-        logger.setName("ROOT");
-
-        restLogsMockMvc.perform(put("/management/logs")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(logger)))
-            .andExpect(status().isNoContent());
-    }
-
-    @Test
-    public void testLogstashAppender() {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        assertThat(context.getLogger("ROOT").getAppender("ASYNC_LOGSTASH")).isInstanceOf(AsyncAppender.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResourceIntTest.java
deleted file mode 100644
index ba2a900a086674ca90737adb1ae4733ab3f2d1e7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/ProfileInfoResourceIntTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import io.github.jhipster.config.JHipsterProperties;
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.core.env.Environment;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.mockito.Mockito.when;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the ProfileInfoResource REST controller.
- *
- * @see ProfileInfoResource
- **/
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class ProfileInfoResourceIntTest {
-
-    @Mock
-    private Environment environment;
-
-    @Mock
-    private JHipsterProperties jHipsterProperties;
-
-    private MockMvc restProfileMockMvc;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        String mockProfile[] = {"test"};
-        JHipsterProperties.Ribbon ribbon = new JHipsterProperties.Ribbon();
-        ribbon.setDisplayOnActiveProfiles(mockProfile);
-        when(jHipsterProperties.getRibbon()).thenReturn(ribbon);
-
-        String activeProfiles[] = {"test"};
-        when(environment.getDefaultProfiles()).thenReturn(activeProfiles);
-        when(environment.getActiveProfiles()).thenReturn(activeProfiles);
-
-        ProfileInfoResource profileInfoResource = new ProfileInfoResource(environment, jHipsterProperties);
-        this.restProfileMockMvc = MockMvcBuilders
-            .standaloneSetup(profileInfoResource)
-            .build();
-    }
-
-    @Test
-    public void getProfileInfoWithRibbon() throws Exception {
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void getProfileInfoWithoutRibbon() throws Exception {
-        JHipsterProperties.Ribbon ribbon = new JHipsterProperties.Ribbon();
-        ribbon.setDisplayOnActiveProfiles(null);
-        when(jHipsterProperties.getRibbon()).thenReturn(ribbon);
-
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void getProfileInfoWithoutActiveProfiles() throws Exception {
-        String emptyProfile[] = {};
-        when(environment.getDefaultProfiles()).thenReturn(emptyProfile);
-        when(environment.getActiveProfiles()).thenReturn(emptyProfile);
-
-        restProfileMockMvc.perform(get("/api/profile-info"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/TestUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/TestUtil.java
deleted file mode 100644
index c6b290b8f115fcb45d46794a6ef5a2f47645b04a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/TestUtil.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeDiagnosingMatcher;
-import org.springframework.http.MediaType;
-
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeParseException;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Utility class for testing REST controllers.
- */
-public class TestUtil {
-
-    /** MediaType for JSON UTF8 */
-    public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(
-            MediaType.APPLICATION_JSON.getType(),
-            MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));
-
-    /**
-     * Convert an object to JSON byte array.
-     *
-     * @param object
-     *            the object to convert
-     * @return the JSON byte array
-     * @throws IOException
-     */
-    public static byte[] convertObjectToJsonBytes(Object object)
-            throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
-
-        JavaTimeModule module = new JavaTimeModule();
-        mapper.registerModule(module);
-
-        return mapper.writeValueAsBytes(object);
-    }
-
-    /**
-     * Create a byte array with a specific size filled with specified data.
-     *
-     * @param size the size of the byte array
-     * @param data the data to put in the byte array
-     * @return the JSON byte array
-     */
-    public static byte[] createByteArray(int size, String data) {
-        byte[] byteArray = new byte[size];
-        for (int i = 0; i < size; i++) {
-            byteArray[i] = Byte.parseByte(data, 2);
-        }
-        return byteArray;
-    }
-
-    /**
-     * A matcher that tests that the examined string represents the same instant as the reference datetime.
-     */
-    public static class ZonedDateTimeMatcher extends TypeSafeDiagnosingMatcher<String> {
-
-        private final ZonedDateTime date;
-
-        public ZonedDateTimeMatcher(ZonedDateTime date) {
-            this.date = date;
-        }
-
-        @Override
-        protected boolean matchesSafely(String item, Description mismatchDescription) {
-            try {
-                if (!date.isEqual(ZonedDateTime.parse(item))) {
-                    mismatchDescription.appendText("was ").appendValue(item);
-                    return false;
-                }
-                return true;
-            } catch (DateTimeParseException e) {
-                mismatchDescription.appendText("was ").appendValue(item)
-                    .appendText(", which could not be parsed as a ZonedDateTime");
-                return false;
-            }
-
-        }
-
-        @Override
-        public void describeTo(Description description) {
-            description.appendText("a String representing the same Instant as ").appendValue(date);
-        }
-    }
-
-    /**
-     * Creates a matcher that matches when the examined string reprensents the same instant as the reference datetime
-     * @param date the reference datetime against which the examined string is checked
-     */
-    public static ZonedDateTimeMatcher sameInstant(ZonedDateTime date) {
-        return new ZonedDateTimeMatcher(date);
-    }
-
-    /**
-     * Verifies the equals/hashcode contract on the domain object.
-     */
-    @SuppressWarnings("unchecked")
-    public static void equalsVerifier(Class clazz) throws Exception {
-        Object domainObject1 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1.toString()).isNotNull();
-        assertThat(domainObject1).isEqualTo(domainObject1);
-        assertThat(domainObject1.hashCode()).isEqualTo(domainObject1.hashCode());
-        // Test with an instance of another class
-        Object testOtherObject = new Object();
-        assertThat(domainObject1).isNotEqualTo(testOtherObject);
-        assertThat(domainObject1).isNotEqualTo(null);
-        // Test with an instance of the same class
-        Object domainObject2 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1).isNotEqualTo(domainObject2);
-        // HashCodes are equals because the objects are not persisted yet
-        assertThat(domainObject1.hashCode()).isEqualTo(domainObject2.hashCode());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTControllerIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTControllerIntTest.java
deleted file mode 100644
index 9d0b5e080bd1d879abdf6a5f9ac2628fafeeb19b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserJWTControllerIntTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.jwt.TokenProvider;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.LoginVM;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.transaction.annotation.Transactional;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the UserJWTController REST controller.
- *
- * @see UserJWTController
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class UserJWTControllerIntTest {
-
-    @Autowired
-    private TokenProvider tokenProvider;
-
-    @Autowired
-    private AuthenticationManager authenticationManager;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private PasswordEncoder passwordEncoder;
-
-    private MockMvc mockMvc;
-
-    @Before
-    public void setup() {
-        UserJWTController userJWTController = new UserJWTController(tokenProvider, authenticationManager);
-        this.mockMvc = MockMvcBuilders.standaloneSetup(userJWTController)
-            .build();
-    }
-
-    @Test
-    @Transactional
-    public void testAuthorize() throws Exception {
-        User user = new User();
-        user.setLogin("user-jwt-controller");
-        user.setEmail("user-jwt-controller@example.com");
-        user.setUserType("pa");
-        user.setCifOrVat("A12345678");
-        user.setActivated(true);
-        user.setPassword(passwordEncoder.encode("test"));
-
-        userRepository.saveAndFlush(user);
-
-        LoginVM login = new LoginVM();
-        login.setUsername("user-jwt-controller");
-        login.setPassword("test");
-        mockMvc.perform(post("/api/authenticate")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(login)))
-            .andExpect(status().isOk())
-            .andExpect(jsonPath("$.id_token").isString())
-            .andExpect(jsonPath("$.id_token").isNotEmpty());
-    }
-
-    @Test
-    @Transactional
-    public void testAuthorizeWithRememberMe() throws Exception {
-        User user = new User();
-        user.setLogin("user-jwt-controller-remember-me");
-        user.setEmail("user-jwt-controller-remember-me@example.com");
-        user.setUserType("csp");
-        user.setCifOrVat("A12345678");
-        user.setActivated(true);
-        user.setPassword(passwordEncoder.encode("test"));
-
-        userRepository.saveAndFlush(user);
-
-        LoginVM login = new LoginVM();
-        login.setUsername("user-jwt-controller-remember-me");
-        login.setPassword("test");
-        login.setRememberMe(true);
-        mockMvc.perform(post("/api/authenticate")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(login)))
-            .andExpect(status().isOk())
-            .andExpect(jsonPath("$.id_token").isString())
-            .andExpect(jsonPath("$.id_token").isNotEmpty());
-    }
-
-    @Test
-    @Transactional
-    public void testAuthorizeFails() throws Exception {
-        LoginVM login = new LoginVM();
-        login.setUsername("wrong-user");
-        login.setPassword("wrong password");
-        mockMvc.perform(post("/api/authenticate")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(login)))
-            .andExpect(status().isUnauthorized())
-            .andExpect(jsonPath("$.id_token").doesNotExist());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResourceIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResourceIntTest.java
deleted file mode 100644
index bf4184bec2a1a61a668022c81f17b7a02ce93b9a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/UserResourceIntTest.java
+++ /dev/null
@@ -1,827 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import eu.decideh2020.acsmi.frontend.server.domain.Authority;
-import eu.decideh2020.acsmi.frontend.server.domain.User;
-import eu.decideh2020.acsmi.frontend.server.repository.UserRepository;
-import eu.decideh2020.acsmi.frontend.server.security.AuthoritiesConstants;
-import eu.decideh2020.acsmi.frontend.server.service.MailService;
-import eu.decideh2020.acsmi.frontend.server.service.UserService;
-import eu.decideh2020.acsmi.frontend.server.service.dto.UserDTO;
-import eu.decideh2020.acsmi.frontend.server.service.mapper.UserMapper;
-import eu.decideh2020.acsmi.frontend.server.web.rest.errors.ExceptionTranslator;
-import eu.decideh2020.acsmi.frontend.server.web.rest.vm.ManagedUserVM;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.persistence.EntityManager;
-import java.time.Instant;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-
-/**
- * Test class for the UserResource REST controller.
- *
- * @see UserResource
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class UserResourceIntTest {
-
-    private static final Long DEFAULT_ID = 1L;
-
-    private static final String DEFAULT_LOGIN = "johndoe";
-    private static final String UPDATED_LOGIN = "jhipster";
-
-    private static final String DEFAULT_PASSWORD = "passjohndoe";
-    private static final String UPDATED_PASSWORD = "passjhipster";
-
-    private static final String DEFAULT_EMAIL = "johndoe@localhost";
-    private static final String UPDATED_EMAIL = "jhipster@localhost";
-
-    private static final String DEFAULT_COMPANY = "JHI";
-    private static final String UPDATED_COMPANY = "JHIPSTER";
-
-    private static final String DEFAULT_USERSGROUP = "admin";
-    private static final String UPDATED_USERSGROUP = "boss";
-
-    private static final String DEFAULT_USERTYPE = "csp";
-    private static final String UPDATED_USERTYPE = "pa";
-
-    private static final String DEFAULT_CREDITCARDTYPE = null;
-    private static final String UPDATED_CREDITCARDTYPE = "visa";
-
-    private static final String DEFAULT_CREDITCARD = null;
-    private static final String UPDATED_CREDITCARD = "1234567891234567";
-
-    private static final String DEFAULT_CONTRACTREFERENCE = null;
-    private static final String UPDATED_CONTRACTREFERENCE = "euro2706171245";
-
-    private static final String DEFAULT_CIFORVAT = "E454534335";
-    private static final String UPDATED_CIFORVAT = "A12345678";
-
-    private static final String DEFAULT_FIRSTNAME = "john";
-    private static final String UPDATED_FIRSTNAME = "jhipsterFirstName";
-
-    private static final String DEFAULT_LASTNAME = "doe";
-    private static final String UPDATED_LASTNAME = "jhipsterLastName";
-
-    private static final String DEFAULT_IMAGEURL = "http://placehold.it/50x50";
-    private static final String UPDATED_IMAGEURL = "http://placehold.it/40x40";
-
-    private static final String DEFAULT_LANGKEY = "en";
-    private static final String UPDATED_LANGKEY = "it";
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private MailService mailService;
-
-    @Autowired
-    private UserService userService;
-
-    @Autowired
-    private UserMapper userMapper;
-
-    @Autowired
-    private MappingJackson2HttpMessageConverter jacksonMessageConverter;
-
-    @Autowired
-    private PageableHandlerMethodArgumentResolver pageableArgumentResolver;
-
-    @Autowired
-    private ExceptionTranslator exceptionTranslator;
-
-    @Autowired
-    private EntityManager em;
-
-    private MockMvc restUserMockMvc;
-
-    private User user;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        UserResource userResource = new UserResource(userRepository, mailService, userService);
-        this.restUserMockMvc = MockMvcBuilders.standaloneSetup(userResource)
-            .setCustomArgumentResolvers(pageableArgumentResolver)
-            .setControllerAdvice(exceptionTranslator)
-            .setMessageConverters(jacksonMessageConverter)
-            .build();
-    }
-
-    /**
-     * Create a User.
-     *
-     * This is a static method, as tests for other entities might also need it,
-     * if they test an entity which has a required relationship to the User entity.
-     */
-    public static User createEntity(EntityManager em) {
-        User user = new User();
-        user.setLogin(DEFAULT_LOGIN);
-        user.setPassword(RandomStringUtils.random(60));
-        user.setActivated(true);
-        user.setEmail(DEFAULT_EMAIL);
-        user.setCompany(DEFAULT_COMPANY);
-        user.setUsersGroup(DEFAULT_USERSGROUP);
-        user.setUserType(DEFAULT_USERTYPE);
-        user.setCreditCardType(DEFAULT_CREDITCARDTYPE);
-        user.setCreditCard(DEFAULT_CREDITCARD);
-        user.setCreditCard(DEFAULT_CONTRACTREFERENCE);
-        user.setCifOrVat(DEFAULT_CIFORVAT);
-        user.setFirstName(DEFAULT_FIRSTNAME);
-        user.setLastName(DEFAULT_LASTNAME);
-        user.setImageUrl(DEFAULT_IMAGEURL);
-        user.setLangKey(DEFAULT_LANGKEY);
-        return user;
-    }
-
-    @Before
-    public void initTest() {
-        user = createEntity(em);
-    }
-
-    @Test
-    @Transactional
-    public void createUser() throws Exception {
-        int databaseSizeBeforeCreate = userRepository.findAll().size();
-
-        // Create the User
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            null,
-            DEFAULT_LOGIN,
-            DEFAULT_PASSWORD,
-            DEFAULT_FIRSTNAME,
-            DEFAULT_LASTNAME,
-            DEFAULT_EMAIL,
-            DEFAULT_COMPANY,
-            DEFAULT_USERSGROUP,
-            DEFAULT_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            DEFAULT_CIFORVAT,
-            true,
-            DEFAULT_IMAGEURL,
-            DEFAULT_LANGKEY,
-            null,
-            null,
-            null,
-            null,
-            authorities);
-
-        restUserMockMvc.perform(post("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isCreated());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeCreate + 1);
-        User testUser = userList.get(userList.size() - 1);
-        assertThat(testUser.getLogin()).isEqualTo(DEFAULT_LOGIN);
-        assertThat(testUser.getFirstName()).isEqualTo(DEFAULT_FIRSTNAME);
-        assertThat(testUser.getLastName()).isEqualTo(DEFAULT_LASTNAME);
-        assertThat(testUser.getEmail()).isEqualTo(DEFAULT_EMAIL);
-        assertThat(testUser.getCompany()).isEqualTo(DEFAULT_COMPANY);
-        assertThat(testUser.getUsersGroup()).isEqualTo(DEFAULT_USERSGROUP);
-        assertThat(testUser.getUserType()).isEqualTo(DEFAULT_USERTYPE);
-        assertThat(testUser.getCreditCardType()).isEqualTo(DEFAULT_CREDITCARDTYPE);
-        assertThat(testUser.getCreditCard()).isEqualTo(DEFAULT_CREDITCARD);
-        assertThat(testUser.getCreditCard()).isEqualTo(DEFAULT_CONTRACTREFERENCE);
-        assertThat(testUser.getCifOrVat()).isEqualTo(DEFAULT_CIFORVAT);
-        assertThat(testUser.getImageUrl()).isEqualTo(DEFAULT_IMAGEURL);
-        assertThat(testUser.getLangKey()).isEqualTo(DEFAULT_LANGKEY);
-    }
-
-    @Test
-    @Transactional
-    public void createUserWithExistingId() throws Exception {
-        int databaseSizeBeforeCreate = userRepository.findAll().size();
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            1L,
-            DEFAULT_LOGIN,
-            DEFAULT_PASSWORD,
-            DEFAULT_FIRSTNAME,
-            DEFAULT_LASTNAME,
-            DEFAULT_EMAIL,
-            DEFAULT_COMPANY,
-            DEFAULT_USERSGROUP,
-            DEFAULT_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            DEFAULT_CIFORVAT,
-            true,
-            DEFAULT_IMAGEURL,
-            DEFAULT_LANGKEY,
-            null,
-            null,
-            null,
-            null,
-            authorities);
-
-        // An entity with an existing ID cannot be created, so this API call must fail
-        restUserMockMvc.perform(post("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isBadRequest());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeCreate);
-    }
-
-    @Test
-    @Transactional
-    public void createUserWithExistingLogin() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-        int databaseSizeBeforeCreate = userRepository.findAll().size();
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            null,
-            DEFAULT_LOGIN, // this login should already be used
-            DEFAULT_PASSWORD,
-            DEFAULT_FIRSTNAME,
-            DEFAULT_LASTNAME,
-            "anothermail@localhost",
-            DEFAULT_COMPANY,
-            DEFAULT_USERSGROUP,
-            DEFAULT_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            DEFAULT_CIFORVAT,
-            true,
-            DEFAULT_IMAGEURL,
-            DEFAULT_LANGKEY,
-            null,
-            null,
-            null,
-            null,
-            authorities);
-
-        // Create the User
-        restUserMockMvc.perform(post("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isBadRequest());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeCreate);
-    }
-
-    @Test
-    @Transactional
-    public void createUserWithExistingEmail() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-        int databaseSizeBeforeCreate = userRepository.findAll().size();
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            null,
-            "anotherlogin",
-            DEFAULT_PASSWORD,
-            DEFAULT_FIRSTNAME,
-            DEFAULT_LASTNAME,
-            DEFAULT_EMAIL, // this email should already be used
-            DEFAULT_COMPANY,
-            DEFAULT_USERSGROUP,
-            DEFAULT_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            DEFAULT_CIFORVAT,
-            true,
-            DEFAULT_IMAGEURL,
-            DEFAULT_LANGKEY,
-            null,
-            null,
-            null,
-            null,
-            authorities);
-
-        // Create the User
-        restUserMockMvc.perform(post("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isBadRequest());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeCreate);
-    }
-
-    @Test
-    @Transactional
-    public void getAllUsers() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-
-        // Get all the users
-        restUserMockMvc.perform(get("/api/users?sort=id,desc")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.[*].login").value(hasItem(DEFAULT_LOGIN)))
-            .andExpect(jsonPath("$.[*].firstName").value(hasItem(DEFAULT_FIRSTNAME)))
-            .andExpect(jsonPath("$.[*].lastName").value(hasItem(DEFAULT_LASTNAME)))
-            .andExpect(jsonPath("$.[*].email").value(hasItem(DEFAULT_EMAIL)))
-            .andExpect(jsonPath("$.[*].company").value(hasItem(DEFAULT_COMPANY)))
-            .andExpect(jsonPath("$.[*].usersGroup").value(hasItem(DEFAULT_USERSGROUP)))
-            .andExpect(jsonPath("$.[*].userType").value(hasItem(DEFAULT_USERTYPE)))
-            .andExpect(jsonPath("$.[*].creditCardType").value(hasItem(DEFAULT_CREDITCARDTYPE)))
-            .andExpect(jsonPath("$.[*].creditCard").value(hasItem(DEFAULT_CREDITCARD)))
-            .andExpect(jsonPath("$.[*].contractReference").value(hasItem(DEFAULT_CONTRACTREFERENCE)))
-            .andExpect(jsonPath("$.[*].cifOrVat").value(hasItem(DEFAULT_CIFORVAT)))
-            .andExpect(jsonPath("$.[*].imageUrl").value(hasItem(DEFAULT_IMAGEURL)))
-            .andExpect(jsonPath("$.[*].langKey").value(hasItem(DEFAULT_LANGKEY)));
-    }
-
-    @Test
-    @Transactional
-    public void getUser() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-
-        // Get the user
-        restUserMockMvc.perform(get("/api/users/{login}", user.getLogin()))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.login").value(user.getLogin()))
-            .andExpect(jsonPath("$.firstName").value(DEFAULT_FIRSTNAME))
-            .andExpect(jsonPath("$.lastName").value(DEFAULT_LASTNAME))
-            .andExpect(jsonPath("$.email").value(DEFAULT_EMAIL))
-            .andExpect(jsonPath("$.company").value(DEFAULT_COMPANY))
-            .andExpect(jsonPath("$.usersGroup").value(DEFAULT_USERSGROUP))
-            .andExpect(jsonPath("$.userType").value(DEFAULT_USERTYPE))
-            .andExpect(jsonPath("$.creditCardType").value(DEFAULT_CREDITCARDTYPE))
-            .andExpect(jsonPath("$.creditCard").value(DEFAULT_CREDITCARD))
-            .andExpect(jsonPath("$.contractReference").value(DEFAULT_CONTRACTREFERENCE))
-            .andExpect(jsonPath("$.cifOrVat").value(DEFAULT_CIFORVAT))
-            .andExpect(jsonPath("$.imageUrl").value(DEFAULT_IMAGEURL))
-            .andExpect(jsonPath("$.langKey").value(DEFAULT_LANGKEY));
-    }
-
-    @Test
-    @Transactional
-    public void getNonExistingUser() throws Exception {
-        restUserMockMvc.perform(get("/api/users/unknown"))
-            .andExpect(status().isNotFound());
-    }
-
-    @Test
-    @Transactional
-    public void updateUser() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-        int databaseSizeBeforeUpdate = userRepository.findAll().size();
-
-        // Update the user
-        User updatedUser = userRepository.findOne(user.getId());
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            updatedUser.getId(),
-            updatedUser.getLogin(),
-            UPDATED_PASSWORD,
-            UPDATED_FIRSTNAME,
-            UPDATED_LASTNAME,
-            UPDATED_EMAIL,
-            UPDATED_COMPANY,
-            UPDATED_USERSGROUP,
-            UPDATED_USERTYPE,
-            UPDATED_CREDITCARDTYPE,
-            UPDATED_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            UPDATED_CIFORVAT,
-            updatedUser.getActivated(),
-            UPDATED_IMAGEURL,
-            UPDATED_LANGKEY,
-            updatedUser.getCreatedBy(),
-            updatedUser.getCreatedDate(),
-            updatedUser.getLastModifiedBy(),
-            updatedUser.getLastModifiedDate(),
-            authorities);
-
-        restUserMockMvc.perform(put("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isOk());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeUpdate);
-        User testUser = userList.get(userList.size() - 1);
-        assertThat(testUser.getFirstName()).isEqualTo(UPDATED_FIRSTNAME);
-        assertThat(testUser.getLastName()).isEqualTo(UPDATED_LASTNAME);
-        assertThat(testUser.getEmail()).isEqualTo(UPDATED_EMAIL);
-        assertThat(testUser.getCompany()).isEqualTo(UPDATED_COMPANY);
-        assertThat(testUser.getUsersGroup()).isEqualTo(UPDATED_USERSGROUP);
-        assertThat(testUser.getUserType()).isEqualTo(UPDATED_USERTYPE);
-        assertThat(testUser.getCreditCardType()).isEqualTo(UPDATED_CREDITCARDTYPE);
-        assertThat(testUser.getCreditCard()).isEqualTo(UPDATED_CREDITCARD);
-        assertThat(testUser.getCifOrVat()).isEqualTo(UPDATED_CIFORVAT);
-        assertThat(testUser.getImageUrl()).isEqualTo(UPDATED_IMAGEURL);
-        assertThat(testUser.getLangKey()).isEqualTo(UPDATED_LANGKEY);
-    }
-
-    @Test
-    @Transactional
-    public void updateUserLogin() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-        int databaseSizeBeforeUpdate = userRepository.findAll().size();
-
-        // Update the user
-        User updatedUser = userRepository.findOne(user.getId());
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            updatedUser.getId(),
-            UPDATED_LOGIN,
-            UPDATED_PASSWORD,
-            UPDATED_FIRSTNAME,
-            UPDATED_LASTNAME,
-            UPDATED_EMAIL,
-            UPDATED_COMPANY,
-            UPDATED_USERSGROUP,
-            UPDATED_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            UPDATED_CONTRACTREFERENCE,
-            UPDATED_CIFORVAT,
-            updatedUser.getActivated(),
-            UPDATED_IMAGEURL,
-            UPDATED_LANGKEY,
-            updatedUser.getCreatedBy(),
-            updatedUser.getCreatedDate(),
-            updatedUser.getLastModifiedBy(),
-            updatedUser.getLastModifiedDate(),
-            authorities);
-
-        restUserMockMvc.perform(put("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isOk());
-
-        // Validate the User in the database
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeUpdate);
-        User testUser = userList.get(userList.size() - 1);
-        assertThat(testUser.getLogin()).isEqualTo(UPDATED_LOGIN);
-        assertThat(testUser.getFirstName()).isEqualTo(UPDATED_FIRSTNAME);
-        assertThat(testUser.getLastName()).isEqualTo(UPDATED_LASTNAME);
-        assertThat(testUser.getEmail()).isEqualTo(UPDATED_EMAIL);
-        assertThat(testUser.getCompany()).isEqualTo(UPDATED_COMPANY);
-        assertThat(testUser.getUsersGroup()).isEqualTo(UPDATED_USERSGROUP);
-        assertThat(testUser.getUserType()).isEqualTo(UPDATED_USERTYPE);
-        assertThat(testUser.getCreditCardType()).isEqualTo(DEFAULT_CREDITCARDTYPE);
-        assertThat(testUser.getCreditCard()).isEqualTo(DEFAULT_CREDITCARD);
-        assertThat(testUser.getContractReference()).isEqualTo(UPDATED_CONTRACTREFERENCE);
-        assertThat(testUser.getCifOrVat()).isEqualTo(UPDATED_CIFORVAT);
-        assertThat(testUser.getImageUrl()).isEqualTo(UPDATED_IMAGEURL);
-        assertThat(testUser.getLangKey()).isEqualTo(UPDATED_LANGKEY);
-    }
-
-    @Test
-    @Transactional
-    public void updateUserExistingEmail() throws Exception {
-        // Initialize the database with 2 users
-        userRepository.saveAndFlush(user);
-
-        User anotherUser = new User();
-        anotherUser.setLogin("jhipster");
-        anotherUser.setPassword(RandomStringUtils.random(60));
-        anotherUser.setActivated(true);
-        anotherUser.setEmail("jhipster@localhost");
-        anotherUser.setCompany("JHI");
-        anotherUser.setUsersGroup("admin");
-        anotherUser.setUserType("pa");
-        anotherUser.setCreditCardType("mastercard");
-        anotherUser.setCreditCard("123456789123456");
-        anotherUser.setCifOrVat("A12345678");
-        anotherUser.setFirstName("java");
-        anotherUser.setLastName("hipster");
-        anotherUser.setImageUrl("");
-        anotherUser.setLangKey("en");
-        userRepository.saveAndFlush(anotherUser);
-
-        // Update the user
-        User updatedUser = userRepository.findOne(user.getId());
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            updatedUser.getId(),
-            updatedUser.getLogin(),
-            updatedUser.getPassword(),
-            updatedUser.getFirstName(),
-            updatedUser.getLastName(),
-            "jhipster@localhost",  // this email should already be used by anotherUser
-            updatedUser.getCompany(),
-            updatedUser.getUsersGroup(),
-            updatedUser.getUserType(),
-            updatedUser.getCreditCardType(),
-            updatedUser.getCreditCard(),
-            updatedUser.getContractReference(),
-            updatedUser.getCifOrVat(),
-            updatedUser.getActivated(),
-            updatedUser.getImageUrl(),
-            updatedUser.getLangKey(),
-            updatedUser.getCreatedBy(),
-            updatedUser.getCreatedDate(),
-            updatedUser.getLastModifiedBy(),
-            updatedUser.getLastModifiedDate(),
-            authorities);
-
-        restUserMockMvc.perform(put("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isBadRequest());
-    }
-
-    @Test
-    @Transactional
-    public void updateUserExistingLogin() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-
-        User anotherUser = new User();
-        anotherUser.setLogin("jhipster");
-        anotherUser.setPassword(RandomStringUtils.random(60));
-        anotherUser.setActivated(true);
-        anotherUser.setEmail("jhipster@localhost");
-        anotherUser.setCompany("JHI");
-        anotherUser.setUsersGroup("admin");
-        anotherUser.setUserType("pa");
-        anotherUser.setCreditCardType("mastercard");
-        anotherUser.setCreditCard("123456789123456");
-        anotherUser.setCifOrVat("A12345678");
-        anotherUser.setFirstName("java");
-        anotherUser.setLastName("hipster");
-        anotherUser.setImageUrl("");
-        anotherUser.setLangKey("en");
-        userRepository.saveAndFlush(anotherUser);
-
-        // Update the user
-        User updatedUser = userRepository.findOne(user.getId());
-
-        Set<String> authorities = new HashSet<>();
-        authorities.add("ROLE_USER");
-        ManagedUserVM managedUserVM = new ManagedUserVM(
-            updatedUser.getId(),
-            "jhipster", // this login should already be used by anotherUser
-            updatedUser.getPassword(),
-            updatedUser.getFirstName(),
-            updatedUser.getLastName(),
-            updatedUser.getEmail(),
-            updatedUser.getCompany(),
-            updatedUser.getUsersGroup(),
-            updatedUser.getUserType(),
-            updatedUser.getCreditCardType(),
-            updatedUser.getCreditCard(),
-            updatedUser.getContractReference(),
-            updatedUser.getCifOrVat(),
-            updatedUser.getActivated(),
-            updatedUser.getImageUrl(),
-            updatedUser.getLangKey(),
-            updatedUser.getCreatedBy(),
-            updatedUser.getCreatedDate(),
-            updatedUser.getLastModifiedBy(),
-            updatedUser.getLastModifiedDate(),
-            authorities);
-
-        restUserMockMvc.perform(put("/api/users")
-            .contentType(TestUtil.APPLICATION_JSON_UTF8)
-            .content(TestUtil.convertObjectToJsonBytes(managedUserVM)))
-            .andExpect(status().isBadRequest());
-    }
-
-    @Test
-    @Transactional
-    public void deleteUser() throws Exception {
-        // Initialize the database
-        userRepository.saveAndFlush(user);
-        int databaseSizeBeforeDelete = userRepository.findAll().size();
-
-        // Delete the user
-        restUserMockMvc.perform(delete("/api/users/{login}", user.getLogin())
-            .accept(TestUtil.APPLICATION_JSON_UTF8))
-            .andExpect(status().isOk());
-
-        // Validate the database is empty
-        List<User> userList = userRepository.findAll();
-        assertThat(userList).hasSize(databaseSizeBeforeDelete - 1);
-    }
-
-    @Test
-    @Transactional
-    public void getAllAuthorities() throws Exception {
-        restUserMockMvc.perform(get("/api/users/authorities")
-            .accept(TestUtil.APPLICATION_JSON_UTF8)
-            .contentType(TestUtil.APPLICATION_JSON_UTF8))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$").isArray())
-            .andExpect(jsonPath("$").value(containsInAnyOrder("ROLE_USER", "ROLE_ADMIN",
-            		"ROLE_CSP_OWNER", "ROLE_CSP_USER", "ROLE_CSP_EXTERNAL", "ROLE_PA_OWNER",
-            		"ROLE_PA_USER", "ROLE_CB_OPERATOR", "ROLE_CB_LAW")));
-    }
-
-    @Test
-    @Transactional
-    public void testUserEquals() {
-        User userA = new User();
-        assertThat(userA).isEqualTo(userA);
-        assertThat(userA).isNotEqualTo(null);
-        assertThat(userA).isNotEqualTo(new Object());
-        assertThat(userA.toString()).isNotNull();
-
-        userA.setLogin("AAA");
-        User userB = new User();
-        userB.setLogin("BBB");
-        assertThat(userA).isNotEqualTo(userB);
-
-        userB.setLogin("AAA");
-        assertThat(userA).isEqualTo(userB);
-        assertThat(userA.hashCode()).isEqualTo(userB.hashCode());
-    }
-
-    @Test
-    public void testUserFromId() {
-        assertThat(userMapper.userFromId(DEFAULT_ID).getId()).isEqualTo(DEFAULT_ID);
-        assertThat(userMapper.userFromId(null)).isNull();
-    }
-
-    @Test
-    public void testUserDTOtoUser() {
-        UserDTO userDTO = new UserDTO(
-            DEFAULT_ID,
-            DEFAULT_LOGIN,
-            DEFAULT_FIRSTNAME,
-            DEFAULT_LASTNAME,
-            DEFAULT_EMAIL,
-            DEFAULT_COMPANY,
-            DEFAULT_USERSGROUP,
-            DEFAULT_USERTYPE,
-            DEFAULT_CREDITCARDTYPE,
-            DEFAULT_CREDITCARD,
-            DEFAULT_CONTRACTREFERENCE,
-            DEFAULT_CIFORVAT,
-            true,
-            DEFAULT_IMAGEURL,
-            DEFAULT_LANGKEY,
-            DEFAULT_LOGIN,
-            null,
-            DEFAULT_LOGIN,
-            null,
-            Stream.of(AuthoritiesConstants.USER).collect(Collectors.toSet()));
-        User user = userMapper.userDTOToUser(userDTO);
-        assertThat(user.getId()).isEqualTo(DEFAULT_ID);
-        assertThat(user.getLogin()).isEqualTo(DEFAULT_LOGIN);
-        assertThat(user.getFirstName()).isEqualTo(DEFAULT_FIRSTNAME);
-        assertThat(user.getLastName()).isEqualTo(DEFAULT_LASTNAME);
-        assertThat(user.getEmail()).isEqualTo(DEFAULT_EMAIL);
-        assertThat(user.getCompany()).isEqualTo(DEFAULT_COMPANY);
-        assertThat(user.getUsersGroup()).isEqualTo(DEFAULT_USERSGROUP);
-        assertThat(user.getUserType()).isEqualTo(DEFAULT_USERTYPE);
-        assertThat(user.getCreditCardType()).isEqualTo(DEFAULT_CREDITCARDTYPE);
-        assertThat(user.getCreditCard()).isEqualTo(DEFAULT_CREDITCARD);
-        assertThat(user.getCifOrVat()).isEqualTo(DEFAULT_CIFORVAT);
-        assertThat(user.getActivated()).isEqualTo(true);
-        assertThat(user.getImageUrl()).isEqualTo(DEFAULT_IMAGEURL);
-        assertThat(user.getLangKey()).isEqualTo(DEFAULT_LANGKEY);
-        assertThat(user.getCreatedBy()).isNull();
-        assertThat(user.getCreatedDate()).isNotNull();
-        assertThat(user.getLastModifiedBy()).isNull();
-        assertThat(user.getLastModifiedDate()).isNotNull();
-        assertThat(user.getAuthorities()).extracting("name").containsExactly(AuthoritiesConstants.USER);
-    }
-
-    @Test
-    public void testUserToUserDTO() {
-        user.setId(DEFAULT_ID);
-        user.setCreatedBy(DEFAULT_LOGIN);
-        user.setCreatedDate(Instant.now());
-        user.setLastModifiedBy(DEFAULT_LOGIN);
-        user.setLastModifiedDate(Instant.now());
-
-        Set<Authority> authorities = new HashSet<>();
-        Authority authority = new Authority();
-        authority.setName(AuthoritiesConstants.USER);
-        authorities.add(authority);
-        user.setAuthorities(authorities);
-
-        UserDTO userDTO = userMapper.userToUserDTO(user);
-
-        assertThat(userDTO.getId()).isEqualTo(DEFAULT_ID);
-        assertThat(userDTO.getLogin()).isEqualTo(DEFAULT_LOGIN);
-        assertThat(userDTO.getFirstName()).isEqualTo(DEFAULT_FIRSTNAME);
-        assertThat(userDTO.getLastName()).isEqualTo(DEFAULT_LASTNAME);
-        assertThat(userDTO.getEmail()).isEqualTo(DEFAULT_EMAIL);
-        assertThat(userDTO.getCompany()).isEqualTo(DEFAULT_COMPANY);
-        assertThat(userDTO.getUsersGroup()).isEqualTo(DEFAULT_USERSGROUP);
-        assertThat(userDTO.getUserType()).isEqualTo(DEFAULT_USERTYPE);
-        assertThat(userDTO.getCreditCardType()).isEqualTo(DEFAULT_CREDITCARDTYPE);
-        assertThat(userDTO.getCreditCard()).isEqualTo(DEFAULT_CREDITCARD);
-        assertThat(userDTO.getCifOrVat()).isEqualTo(DEFAULT_CIFORVAT);
-        assertThat(userDTO.isActivated()).isEqualTo(true);
-        assertThat(userDTO.getImageUrl()).isEqualTo(DEFAULT_IMAGEURL);
-        assertThat(userDTO.getLangKey()).isEqualTo(DEFAULT_LANGKEY);
-        assertThat(userDTO.getCreatedBy()).isEqualTo(DEFAULT_LOGIN);
-        assertThat(userDTO.getCreatedDate()).isEqualTo(user.getCreatedDate());
-        assertThat(userDTO.getLastModifiedBy()).isEqualTo(DEFAULT_LOGIN);
-        assertThat(userDTO.getLastModifiedDate()).isEqualTo(user.getLastModifiedDate());
-        assertThat(userDTO.getAuthorities()).containsExactly(AuthoritiesConstants.USER);
-        assertThat(userDTO.toString()).isNotNull();
-    }
-
-    @Test
-    public void testAuthorityEquals() throws Exception {
-        Authority authorityA = new Authority();
-        assertThat(authorityA).isEqualTo(authorityA);
-        assertThat(authorityA).isNotEqualTo(null);
-        assertThat(authorityA).isNotEqualTo(new Object());
-        assertThat(authorityA.hashCode()).isEqualTo(0);
-        assertThat(authorityA.toString()).isNotNull();
-
-        Authority authorityB = new Authority();
-        assertThat(authorityA).isEqualTo(authorityB);
-
-        authorityB.setName(AuthoritiesConstants.ADMIN);
-        assertThat(authorityA).isNotEqualTo(authorityB);
-
-        authorityA.setName(AuthoritiesConstants.USER);
-        assertThat(authorityA).isNotEqualTo(authorityB);
-
-        authorityB.setName(AuthoritiesConstants.USER);
-        assertThat(authorityA).isEqualTo(authorityB);
-        assertThat(authorityA.hashCode()).isEqualTo(authorityB.hashCode());
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorIntTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorIntTest.java
deleted file mode 100644
index 59449a6d6494e35862f7a7f8a6d392ead76f72ff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorIntTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import eu.decideh2020.acsmi.frontend.server.AcsmiApp;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the ExceptionTranslator controller advice.
- *
- * @see ExceptionTranslator
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = AcsmiApp.class)
-public class ExceptionTranslatorIntTest {
-
-    @Autowired
-    private ExceptionTranslatorTestController controller;
-
-    @Autowired
-    private ExceptionTranslator exceptionTranslator;
-
-    private MockMvc mockMvc;
-
-    @Before
-    public void setup() {
-        mockMvc = MockMvcBuilders.standaloneSetup(controller)
-            .setControllerAdvice(exceptionTranslator)
-            .build();
-    }
-
-    @Test
-    public void testConcurrencyFailure() throws Exception {
-        mockMvc.perform(get("/test/concurrency-failure"))
-            .andExpect(status().isConflict())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_CONCURRENCY_FAILURE));
-    }
-
-    @Test
-    public void testMethodArgumentNotValid() throws Exception {
-         mockMvc.perform(post("/test/method-argument").content("{}").contentType(MediaType.APPLICATION_JSON))
-             .andExpect(status().isBadRequest())
-             .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_VALIDATION))
-             .andExpect(jsonPath("$.fieldErrors.[0].objectName").value("testDTO"))
-             .andExpect(jsonPath("$.fieldErrors.[0].field").value("test"))
-             .andExpect(jsonPath("$.fieldErrors.[0].message").value("NotNull"));
-    }
-
-    @Test
-    public void testParameterizedError() throws Exception {
-        mockMvc.perform(get("/test/parameterized-error"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("test parameterized error"))
-            .andExpect(jsonPath("$.params.param0").value("param0_value"))
-            .andExpect(jsonPath("$.params.param1").value("param1_value"));
-    }
-
-    @Test
-    public void testParameterizedError2() throws Exception {
-        mockMvc.perform(get("/test/parameterized-error2"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("test parameterized error"))
-            .andExpect(jsonPath("$.params.foo").value("foo_value"))
-            .andExpect(jsonPath("$.params.bar").value("bar_value"));
-    }
-
-    @Test
-    public void testAccessDenied() throws Exception {
-        mockMvc.perform(get("/test/access-denied"))
-            .andExpect(status().isForbidden())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_ACCESS_DENIED))
-            .andExpect(jsonPath("$.description").value("test access denied!"));
-    }
-
-    @Test
-    public void testMethodNotSupported() throws Exception {
-        mockMvc.perform(post("/test/access-denied"))
-            .andExpect(status().isMethodNotAllowed())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_METHOD_NOT_SUPPORTED))
-            .andExpect(jsonPath("$.description").value("Request method 'POST' not supported"));
-    }
-
-    @Test
-    public void testExceptionWithResponseStatus() throws Exception {
-        mockMvc.perform(get("/test/response-status"))
-            .andExpect(status().isBadRequest())
-            .andExpect(jsonPath("$.message").value("error.400"))
-            .andExpect(jsonPath("$.description").value("test response status"));
-    }
-
-    @Test
-    public void testInternalServerError() throws Exception {
-        mockMvc.perform(get("/test/internal-server-error"))
-            .andExpect(status().isInternalServerError())
-            .andExpect(jsonPath("$.message").value(ErrorConstants.ERR_INTERNAL_SERVER_ERROR))
-            .andExpect(jsonPath("$.description").value("Internal server error"));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorTestController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorTestController.java
deleted file mode 100644
index 0e0b9afc877c06d766884756498fc5b124875263..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/java/eu/decideh2020/acsmi/frontend/server/web/rest/errors/ExceptionTranslatorTestController.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-package eu.decideh2020.acsmi.frontend.server.web.rest.errors;
-
-import org.springframework.dao.ConcurrencyFailureException;
-import org.springframework.http.HttpStatus;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import java.util.HashMap;
-import java.util.Map;
-
-@RestController
-public class ExceptionTranslatorTestController {
-
-    @GetMapping("/test/concurrency-failure")
-    public void concurrencyFailure() {
-        throw new ConcurrencyFailureException("test concurrency failure");
-    }
-
-    @PostMapping("/test/method-argument")
-    public void methodArgument(@Valid @RequestBody TestDTO testDTO) {
-    }
-
-    @GetMapping("/test/parameterized-error")
-    public void parameterizedError() {
-        throw new CustomParameterizedException("test parameterized error", "param0_value", "param1_value");
-    }
-
-    @GetMapping("/test/parameterized-error2")
-    public void parameterizedError2() {
-        Map<String, String> params = new HashMap<>();
-        params.put("foo", "foo_value");
-        params.put("bar", "bar_value");
-        throw new CustomParameterizedException("test parameterized error", params);
-    }
-
-    @GetMapping("/test/access-denied")
-    public void accessdenied() {
-        throw new AccessDeniedException("test access denied!");
-    }
-
-    @GetMapping("/test/response-status")
-    public void exceptionWithReponseStatus() {
-        throw new TestResponseStatusException();
-    }
-
-    @GetMapping("/test/internal-server-error")
-    public void internalServerError() {
-        throw new RuntimeException();
-    }
-
-    public static class TestDTO {
-
-        @NotNull
-        private String test;
-
-        public String getTest() {
-            return test;
-        }
-
-        public void setTest(String test) {
-            this.test = test;
-        }
-    }
-
-    @ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "test response status")
-    @SuppressWarnings("serial")
-    public static class TestResponseStatusException extends RuntimeException {
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/karma.conf.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/karma.conf.js
deleted file mode 100644
index 63946cca03d2b65f4f55bcae5822138344936ae3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/karma.conf.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-// Karma configuration
-// http://karma-runner.github.io/0.13/config/configuration-file.html
-
-var sourcePreprocessors = ['coverage'];
-
-function isDebug() {
-    return process.argv.indexOf('--debug') >= 0;
-}
-
-if (isDebug()) {
-    // Disable JS minification if Karma is run with debug option.
-    sourcePreprocessors = [];
-}
-
-module.exports = function (config) {
-    config.set({
-        // base path, that will be used to resolve files and exclude
-        basePath: 'src/test/javascript/'.replace(/[^/]+/g, '..'),
-
-        // testing framework to use (jasmine/mocha/qunit/...)
-        frameworks: ['jasmine'],
-
-        // list of files / patterns to load in the browser
-        files: [
-            // bower:js
-            'src/main/webapp/bower_components/jquery/dist/jquery.js',
-            'src/main/webapp/bower_components/messageformat/messageformat.js',
-            'src/main/webapp/bower_components/json3/lib/json3.js',
-            'src/main/webapp/bower_components/sockjs-client/dist/sockjs.js',
-            'src/main/webapp/bower_components/stomp-websocket/lib/stomp.min.js',
-            'src/main/webapp/bower_components/angular/angular.js',
-            'src/main/webapp/bower_components/angular-aria/angular-aria.js',
-            'src/main/webapp/bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
-            'src/main/webapp/bower_components/angular-cache-buster/angular-cache-buster.js',
-            'src/main/webapp/bower_components/angular-cookies/angular-cookies.js',
-            'src/main/webapp/bower_components/angular-dynamic-locale/src/tmhDynamicLocale.js',
-            'src/main/webapp/bower_components/ngstorage/ngStorage.js',
-            'src/main/webapp/bower_components/angular-loading-bar/build/loading-bar.js',
-            'src/main/webapp/bower_components/angular-resource/angular-resource.js',
-            'src/main/webapp/bower_components/angular-sanitize/angular-sanitize.js',
-            'src/main/webapp/bower_components/angular-translate/angular-translate.js',
-            'src/main/webapp/bower_components/angular-translate-interpolation-messageformat/angular-translate-interpolation-messageformat.js',
-            'src/main/webapp/bower_components/angular-translate-loader-partial/angular-translate-loader-partial.js',
-            'src/main/webapp/bower_components/angular-translate-storage-cookie/angular-translate-storage-cookie.js',
-            'src/main/webapp/bower_components/angular-ui-router/release/angular-ui-router.js',
-            'src/main/webapp/bower_components/bootstrap-ui-datetime-picker/dist/datetime-picker.js',
-            'src/main/webapp/bower_components/ng-file-upload/ng-file-upload.js',
-            'src/main/webapp/bower_components/ngInfiniteScroll/build/ng-infinite-scroll.js',
-            'src/main/webapp/bower_components/angular-mocks/angular-mocks.js',
-            // endbower
-            'src/main/webapp/app/app.module.js',
-            'src/main/webapp/app/app.state.js',
-            'src/main/webapp/app/app.constants.js',
-            'src/main/webapp/app/**/*.+(js|html)',
-            'src/test/javascript/spec/helpers/module.js',
-            'src/test/javascript/spec/helpers/httpBackend.js',
-            'src/test/javascript/**/!(karma.conf).js'
-        ],
-
-
-        // list of files / patterns to exclude
-        exclude: [],
-
-        preprocessors: {
-            './**/*.js': sourcePreprocessors
-        },
-
-        reporters: ['dots', 'junit', 'coverage', 'progress'],
-
-        junitReporter: {
-            outputFile: '../target/test-results/karma/TESTS-results.xml'
-        },
-
-        coverageReporter: {
-            dir: 'target/test-results/coverage',
-            reporters: [
-                {type: 'lcov', subdir: 'report-lcov'}
-            ]
-        },
-
-        // web server port
-        port: 9876,
-
-        // level of logging
-        // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
-        logLevel: config.LOG_INFO,
-
-        // enable / disable watching file and executing tests whenever any file changes
-        autoWatch: false,
-
-        // Start these browsers, currently available:
-        // - Chrome
-        // - ChromeCanary
-        // - Firefox
-        // - Opera
-        // - Safari (only Mac)
-        // - PhantomJS
-        // - IE (only Windows)
-        browsers: ['PhantomJS'],
-
-        // Continuous Integration mode
-        // if true, it capture browsers, run tests and exit
-        singleRun: false,
-
-        // to avoid DISCONNECTED messages when connecting to slow virtual machines
-        browserDisconnectTimeout: 10000, // default 2000
-        browserDisconnectTolerance: 1, // default 0
-        browserNoActivityTimeout: 4 * 60 * 1000 //default 10000
-    });
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/activate/activate.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/activate/activate.controller.spec.js
deleted file mode 100644
index c5f755b14dc11acab3ae8c32747135ede7cfde6e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/activate/activate.controller.spec.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('ActivationController', function() {
-
-        var $scope, $httpBackend, $q; // actual implementations
-        var MockAuth, MockStateParams; // mocks
-        var createController; // local utility function
-
-        beforeEach(inject(function($injector) {
-            $q = $injector.get('$q');
-            $scope = $injector.get('$rootScope').$new();
-            $httpBackend = $injector.get('$httpBackend');
-            MockAuth = jasmine.createSpyObj('MockAuth', ['activateAccount']);
-            MockStateParams = jasmine.createSpy('MockStateParams');
-            MockStateParams.key = 'ABC123';
-
-            var locals = {
-                '$scope': $scope,
-                '$stateParams': MockStateParams,
-                'Auth': MockAuth
-            };
-            createController = function() {
-                $injector.get('$controller')('ActivationController as vm', locals);
-            };
-        }));
-
-        it('calls Auth.activateAccount with the key from stateParams', function() {
-            // given
-            MockAuth.activateAccount.and.returnValue($q.resolve());
-            // when
-            $scope.$apply(createController);
-            // then
-            expect(MockAuth.activateAccount).toHaveBeenCalledWith({
-                key: 'ABC123'
-            });
-        });
-
-        it('should set set success to OK upon successful activation', function() {
-            // given
-            MockAuth.activateAccount.and.returnValue($q.resolve());
-            // when
-            $scope.$apply(createController);
-            // then
-            expect($scope.vm.error).toBe(null);
-            expect($scope.vm.success).toEqual('OK');
-        });
-
-        it('should set set error to ERROR upon activation failure', function() {
-            // given
-            MockAuth.activateAccount.and.returnValue($q.reject());
-            // when
-            $scope.$apply(createController);
-            // then
-            expect($scope.vm.error).toBe('ERROR');
-            expect($scope.vm.success).toEqual(null);
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password-strength-bar.directive.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password-strength-bar.directive.spec.js
deleted file mode 100644
index f0aaf0d487c00bebcf9243dbce913ac0dbac41a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password-strength-bar.directive.spec.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Directive Tests', function () {
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    var elm, scope, $httpBackend;
-
-    beforeEach(inject(function($compile, $rootScope, $injector) {
-        $httpBackend = $injector.get('$httpBackend');
-
-        var html = '<password-strength-bar password-to-check="password"></password-strength-bar>';
-        scope = $rootScope.$new();
-        elm = angular.element(html);
-        $compile(elm)(scope);
-    }));
-
-    describe('Password strength', function () {
-        it("Should display the password strength bar", function() {
-            expect(elm.find('ul').length).toEqual(1);
-            expect(elm.find('li').length).toEqual(5);
-        });
-
-        it("Should change the first 2 points of the strength bar", function() {
-            scope.$apply(function() {
-                scope.password = "morethan5chars"; // that should trigger the 2 first points
-            });
-
-            var firstpointStyle = elm.find('ul').children('li')[0].getAttribute('style');
-            expect(firstpointStyle).toContain('background-color: rgb(255, 153, 0)');
-
-            var secondpointStyle = elm.find('ul').children('li')[1].getAttribute('style');
-            expect(secondpointStyle).toContain('background-color: rgb(255, 153, 0)');
-
-            var thirdpointStyle = elm.find('ul').children('li')[2].getAttribute('style');
-            expect(thirdpointStyle).toContain('background-color: rgb(221, 221, 221)');
-        });
-
-        it("Should change the first 4 points of the strength bar", function() {
-            scope.$apply(function() {
-                scope.password = "mo5ch$=!"; // that should trigger the 3 first points
-            });
-
-            var firstpointStyle = elm.find('ul').children('li')[0].getAttribute('style');
-            dump(firstpointStyle);
-            expect(firstpointStyle).toContain('background-color: rgb(153, 255, 0)');
-
-            var secondpointStyle = elm.find('ul').children('li')[1].getAttribute('style');
-            expect(secondpointStyle).toContain('background-color: rgb(153, 255, 0)');
-
-            var thirdpointStyle = elm.find('ul').children('li')[2].getAttribute('style');
-            expect(thirdpointStyle).toContain('background-color: rgb(153, 255, 0)');
-
-            var fourthpointStyle = elm.find('ul').children('li')[3].getAttribute('style');
-            expect(fourthpointStyle).toContain('background-color: rgb(153, 255, 0)');
-
-            var fifthpointStyle = elm.find('ul').children('li')[4].getAttribute('style');
-            expect(fifthpointStyle).toContain('background-color: rgb(221, 221, 221)');
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password.controller.spec.js
deleted file mode 100644
index b20bc76f6c4df0cae6b7f0091d44313000648110..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/password/password.controller.spec.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('PasswordController', function() {
-
-        var $scope, $httpBackend, $q;
-        var MockAuth;
-        var createController;
-
-        beforeEach(inject(function($injector) {
-            $scope = $injector.get('$rootScope').$new();
-            $q = $injector.get('$q');
-            $httpBackend = $injector.get('$httpBackend');
-
-            MockAuth = jasmine.createSpyObj('MockAuth', ['changePassword']);
-            var locals = {
-                '$scope': $scope,
-                'Auth': MockAuth
-            };
-            createController = function() {
-                $injector.get('$controller')('PasswordController as vm', locals);
-            }
-        }));
-
-        it('should show error if passwords do not match', function() {
-            //GIVEN
-            createController();
-            $scope.vm.password = 'password1';
-            $scope.vm.confirmPassword = 'password2';
-            //WHEN
-            $scope.vm.changePassword();
-            //THEN
-            expect($scope.vm.doNotMatch).toBe('ERROR');
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.success).toBeNull();
-        });
-        it('should call Auth.changePassword when passwords match', function() {
-            //GIVEN
-            MockAuth.changePassword.and.returnValue($q.resolve());
-            createController();
-            $scope.vm.password = $scope.vm.confirmPassword = 'myPassword';
-
-            //WHEN
-            $scope.$apply($scope.vm.changePassword);
-
-            //THEN
-            expect(MockAuth.changePassword).toHaveBeenCalledWith('myPassword');
-        });
-
-        it('should set success to OK upon success', function() {
-            //GIVEN
-            MockAuth.changePassword.and.returnValue($q.resolve());
-            createController();
-            $scope.vm.password = $scope.vm.confirmPassword = 'myPassword';
-
-            //WHEN
-            $scope.$apply($scope.vm.changePassword);
-
-            //THEN
-            expect($scope.vm.doNotMatch).toBeNull();
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.success).toBe('OK');
-        });
-
-        it('should notify of error if change password fails', function() {
-            //GIVEN
-            MockAuth.changePassword.and.returnValue($q.reject());
-            createController();
-            $scope.vm.password = $scope.vm.confirmPassword = 'myPassword';
-
-            //WHEN
-            $scope.$apply($scope.vm.changePassword);
-
-            //THEN
-            expect($scope.vm.doNotMatch).toBeNull();
-            expect($scope.vm.success).toBeNull();
-            expect($scope.vm.error).toBe('ERROR');
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/register/register.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/register/register.controller.spec.js
deleted file mode 100644
index ef0a33547e5a5e8793cd22d4f6f45272655a7a7c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/register/register.controller.spec.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('RegisterController', function() {
-
-        var $scope, $q; // actual implementations
-        var MockTimeout, MockTranslate, MockAuth; // mocks
-        var createController; // local utility function
-
-        beforeEach(inject(function($injector) {
-            $q = $injector.get('$q');
-            $scope = $injector.get('$rootScope').$new();
-            MockTimeout = jasmine.createSpy('MockTimeout');
-            MockAuth = jasmine.createSpyObj('MockAuth', ['createAccount']);
-            MockTranslate = jasmine.createSpyObj('MockTranslate', ['use']);
-
-            var locals = {
-                'Auth': MockAuth,
-                '$translate': MockTranslate,
-                '$timeout': MockTimeout,
-                '$scope': $scope,
-            };
-            createController = function() {
-                $injector.get('$controller')('RegisterController as vm', locals);
-            };
-        }));
-
-        it('should ensure the two passwords entered match', function() {
-            // given
-            createController();
-            $scope.vm.registerAccount.password = 'password';
-            $scope.vm.confirmPassword = 'non-matching';
-            // when
-            $scope.vm.register();
-            // then
-            expect($scope.vm.doNotMatch).toEqual('ERROR');
-        });
-
-        it('should update success to OK after creating an account', function() {
-            // given
-            MockTranslate.use.and.returnValue('en');
-            MockAuth.createAccount.and.returnValue($q.resolve());
-            createController();
-            $scope.vm.registerAccount.password = $scope.vm.confirmPassword = 'password';
-            // when
-            $scope.$apply($scope.vm.register); // $q promises require an $apply
-            // then
-            expect(MockAuth.createAccount).toHaveBeenCalledWith({
-                password: 'password',
-                langKey: 'en'
-            });
-            expect($scope.vm.success).toEqual('OK');
-            expect($scope.vm.registerAccount.langKey).toEqual('en');
-            expect(MockTranslate.use).toHaveBeenCalled();
-            expect($scope.vm.errorUserExists).toBeNull();
-            expect($scope.vm.errorEmailExists).toBeNull();
-            expect($scope.vm.error).toBeNull();
-        });
-
-        it('should notify of user existence upon 400/login already in use', function() {
-            // given
-            MockAuth.createAccount.and.returnValue($q.reject({
-                status: 400,
-                data: 'login already in use'
-            }));
-            createController();
-            $scope.vm.registerAccount.password = $scope.vm.confirmPassword = 'password';
-            // when
-            $scope.$apply($scope.vm.register); // $q promises require an $apply
-            // then
-            expect($scope.vm.errorUserExists).toEqual('ERROR');
-            expect($scope.vm.errorEmailExists).toBeNull();
-            expect($scope.vm.error).toBeNull();
-        });
-
-        it('should notify of email existence upon 400/email address already in use', function() {
-            // given
-            MockAuth.createAccount.and.returnValue($q.reject({
-                status: 400,
-                data: 'email address already in use'
-            }));
-            createController();
-            $scope.vm.registerAccount.password = $scope.vm.confirmPassword = 'password';
-            // when
-            $scope.$apply($scope.vm.register); // $q promises require an $apply
-            // then
-            expect($scope.vm.errorEmailExists).toEqual('ERROR');
-            expect($scope.vm.errorUserExists).toBeNull();
-            expect($scope.vm.error).toBeNull();
-        });
-
-        it('should notify of generic error', function() {
-            // given
-            MockAuth.createAccount.and.returnValue($q.reject({
-                status: 503
-            }));
-            createController();
-            $scope.vm.registerAccount.password = $scope.vm.confirmPassword = 'password';
-            // when
-            $scope.$apply($scope.vm.register); // $q promises require an $apply
-            // then
-            expect($scope.vm.errorUserExists).toBeNull();
-            expect($scope.vm.errorEmailExists).toBeNull();
-            expect($scope.vm.error).toEqual('ERROR');
-        });
-
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/finish/reset.finish.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/finish/reset.finish.controller.spec.js
deleted file mode 100644
index a12e37accf76bb60d18c9237815b849b33f6fb7e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/finish/reset.finish.controller.spec.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('ResetFinishController', function() {
-
-        var $scope, $q; // actual implementations
-        var MockStateParams, MockTimeout, MockAuth; // mocks
-        var createController; // local utility function
-
-        beforeEach(inject(function($injector) {
-            $q = $injector.get('$q');
-            $scope = $injector.get('$rootScope').$new();
-            MockStateParams = jasmine.createSpy('MockStateParams');
-
-            MockTimeout = jasmine.createSpy('MockTimeout');
-            MockAuth = jasmine.createSpyObj('MockAuth', ['resetPasswordInit']);
-
-            var locals = {
-                '$scope': $scope,
-                '$stateParams': MockStateParams,
-                '$timeout': MockTimeout,
-                'Auth': MockAuth
-            };
-            createController = function() {
-                return $injector.get('$controller')('ResetFinishController as vm', locals);
-            };
-        }));
-
-        it('should define its initial state', function() {
-            // given
-            MockStateParams.key = 'XYZPDQ';
-            createController();
-
-            // then
-            expect($scope.vm.keyMissing).toBeFalsy();
-
-            expect($scope.vm.doNotMatch).toBeNull();
-            expect($scope.vm.resetAccount).toEqual({});
-        });
-
-        it('registers a timeout handler set set focus', function() {
-            // given
-            var MockAngular = jasmine.createSpyObj('MockAngular', ['element']);
-            var MockElement = jasmine.createSpyObj('MockElement', ['focus']);
-            MockAngular.element.and.returnValue(MockElement);
-            MockTimeout.and.callFake(function(callback) {
-                withMockedAngular(MockAngular, callback)();
-            });
-            createController();
-
-            // then
-            expect(MockTimeout).toHaveBeenCalledWith(jasmine.any(Function));
-            expect(MockAngular.element).toHaveBeenCalledWith('#password');
-            expect(MockElement.focus).toHaveBeenCalled();
-        });
-
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/request/reset.request.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/request/reset.request.controller.spec.js
deleted file mode 100644
index 343ce20f30e309d51a71d66556fe202de10ac2d7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/reset/request/reset.request.controller.spec.js
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('RequestResetController', function() {
-
-        var $rootScope, $scope, $q; // actual implementations
-        var MockState, MockTimeout, MockAuth; // mocks
-        var createController; // local utility function
-
-        beforeEach(inject(function($injector) {
-            $q = $injector.get('$q');
-            $rootScope = $injector.get('$rootScope');
-            $scope = $rootScope.$new();
-            MockState = jasmine.createSpy('MockState');
-            MockTimeout = jasmine.createSpy('MockTimeout');
-            MockAuth = jasmine.createSpyObj('MockAuth', ['resetPasswordInit']);
-
-            var locals = {
-                '$rootScope': $rootScope,
-                '$scope': $scope,
-                '$state': MockState,
-                '$timeout': MockTimeout,
-                'Auth': MockAuth
-            };
-            createController = function() {
-                return $injector.get('$controller')('RequestResetController as vm', locals);
-            };
-        }));
-
-        it('should define its initial state', function() {
-            // given
-            createController();
-
-            // then
-            expect($scope.vm.success).toBeNull();
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.errorEmailNotExists).toBeNull();
-            expect($scope.vm.resetAccount).toEqual({});
-        });
-
-        it('registers a timeout handler set set focus', function() {
-            // given
-            var MockAngular = jasmine.createSpyObj('MockAngular', ['element']);
-            var MockElement = jasmine.createSpyObj('MockElement', ['focus']);
-            MockAngular.element.and.returnValue(MockElement);
-            MockTimeout.and.callFake(function(callback) {
-                withMockedAngular(MockAngular, callback)();
-            });
-            createController();
-
-            // then
-            expect(MockTimeout).toHaveBeenCalledWith(jasmine.any(Function));
-            expect(MockAngular.element).toHaveBeenCalledWith('#email');
-            expect(MockElement.focus).toHaveBeenCalled();
-        });
-
-        it('notifies of success upon successful requestReset', function() {
-            // given
-            MockAuth.resetPasswordInit.and.returnValue($q.resolve());
-            createController();
-            $scope.vm.resetAccount.email = 'user@domain.com';
-            // when
-            $scope.$apply($scope.vm.requestReset);
-            // then
-            expect(MockAuth.resetPasswordInit).toHaveBeenCalledWith('user@domain.com');
-            expect($scope.vm.success).toEqual('OK');
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.errorEmailNotExists).toBeNull();
-        });
-        it('notifies of unknown email upon email address not registered/400', function() {
-            // given
-            MockAuth.resetPasswordInit.and.returnValue($q.reject({
-                status: 400,
-                data: 'email address not registered'
-            }));
-            createController();
-            $scope.vm.resetAccount.email = 'user@domain.com';
-            // when
-            $scope.$apply($scope.vm.requestReset);
-            // then
-            expect(MockAuth.resetPasswordInit).toHaveBeenCalledWith('user@domain.com');
-            expect($scope.vm.success).toBeNull();
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.errorEmailNotExists).toEqual('ERROR');
-        });
-
-        it('notifies of error upon error response', function() {
-            // given
-            MockAuth.resetPasswordInit.and.returnValue($q.reject({
-                status: 503,
-                data: 'something else'
-            }));
-            createController();
-            $scope.vm.resetAccount.email = 'user@domain.com';
-            // when
-            $scope.$apply($scope.vm.requestReset);
-            // then
-            expect(MockAuth.resetPasswordInit).toHaveBeenCalledWith('user@domain.com');
-            expect($scope.vm.success).toBeNull();
-            expect($scope.vm.errorEmailNotExists).toBeNull();
-            expect($scope.vm.error).toEqual('ERROR');
-        });
-
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/settings/settings.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/settings/settings.controller.spec.js
deleted file mode 100644
index f5907fc9954ea0fb051319b8f3a33979117d43f6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/account/settings/settings.controller.spec.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-
-    describe('SettingsController', function() {
-
-        var $scope, $q; // actual implementations
-        var MockPrincipal, MockAuth; // mocks
-        var createController; // local utility functions
-
-        beforeEach(inject(function($injector) {
-            $q = $injector.get('$q');
-            $scope = $injector.get("$rootScope").$new();
-            MockAuth = jasmine.createSpyObj('MockAuth', ['updateAccount']);
-            MockPrincipal = jasmine.createSpyObj('MockPrincipal', ['identity']);
-            var locals = {
-                '$scope': $scope,
-                'Principal': MockPrincipal,
-                'Auth': MockAuth
-            };
-            createController = function() {
-                $injector.get('$controller')('SettingsController as vm', locals);
-            }
-        }));
-
-        it('should send the current identity upon save', function() {
-            //GIVEN
-            var accountValues = {
-                firstName: "John",
-                lastName: "Doe",
-
-                activated: true,
-                email: "john.doe@mail.com",
-                langKey: "en",
-                login: "john"
-            };
-            MockPrincipal.identity.and.returnValue($q.resolve(accountValues));
-            MockAuth.updateAccount.and.returnValue($q.resolve());
-            $scope.$apply(createController);
-
-            //WHEN
-            $scope.vm.save();
-
-            //THEN
-            expect(MockPrincipal.identity).toHaveBeenCalled();
-            expect(MockAuth.updateAccount).toHaveBeenCalledWith(accountValues);
-            expect($scope.vm.settingsAccount).toEqual(accountValues);
-        });
-
-        it('should notify of success upon successful save', function() {
-            //GIVEN
-            var accountValues = {
-                firstName: "John",
-                lastName: "Doe"
-            };
-            MockPrincipal.identity.and.returnValue($q.resolve(accountValues));
-            MockAuth.updateAccount.and.returnValue($q.resolve());
-            createController();
-
-            //WHEN
-            $scope.$apply($scope.vm.save);
-
-            //THEN
-            expect($scope.vm.error).toBeNull();
-            expect($scope.vm.success).toBe('OK');
-        });
-
-        it('should notify of error upon failed save', function() {
-            //GIVEN
-            MockPrincipal.identity.and.returnValue($q.resolve({}));
-            MockAuth.updateAccount.and.returnValue($q.reject());
-            createController();
-
-            //WHEN
-            $scope.$apply($scope.vm.save);
-
-            //THEN
-            expect($scope.vm.error).toEqual('ERROR');
-            expect($scope.vm.success).toBeNull();
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/admin/health/health.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/admin/health/health.controller.spec.js
deleted file mode 100644
index d208aa88724cc81b6eb47a490ebce9c54a5cda37..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/admin/health/health.controller.spec.js
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function () {
-
-    describe('JhiHealthCheckController', function () {
-        var $scope, jhiHealthService; // actual implementations
-        var createController; // local utility functions
-
-        beforeEach(inject(function ($injector, JhiHealthService) {
-            $scope = $injector.get('$rootScope').$new();
-            jhiHealthService = JhiHealthService;
-            var locals = {
-                '$scope': $scope
-            };
-            createController = function() {
-                $injector.get('$controller')('JhiHealthCheckController as vm', locals);
-            };
-            createController();
-        }));
-
-        describe('baseName and subSystemName', function () {
-            it('should return the basename when it has no sub system', function () {
-                expect($scope.vm.baseName('base')).toBe('base');
-            });
-
-            it('should return the basename when it has sub systems', function () {
-                expect($scope.vm.baseName('base.subsystem.system')).toBe('base');
-            });
-
-            it('should return the sub system name', function () {
-                expect($scope.vm.subSystemName('subsystem')).toBe('');
-            });
-
-            it('should return the subsystem when it has multiple keys', function () {
-                expect($scope.vm.subSystemName('subsystem.subsystem.system')).toBe(' - subsystem.system');
-            });
-
-
-        });
-
-        describe('transformHealthData', function () {
-            it('should flatten empty health data', function () {
-                var data = {};
-                var expected = [];
-                expect(jhiHealthService.transformHealthData(data)).toEqual(expected);
-            });
-
-            it('should flatten health data with no subsystems', function () {
-                var data = {
-                    'status': 'UP',
-                    'db': {
-                        'status': 'UP',
-                        'database': 'H2',
-                        'hello': '1'
-                    },
-                    'mail': {
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    }
-                };
-                var expected = [
-                    {
-                        'name': 'db',
-                        'status': 'UP',
-                        'details': {
-                            'database': 'H2',
-                            'hello': '1'
-                        }
-                    },
-                    {
-                        'name': 'mail',
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    }
-                ];
-                expect(jhiHealthService.transformHealthData(data)).toEqual(expected);
-            });
-
-            it('should flatten health data with subsystems at level 1, main system has no additional information', function () {
-                var data = {
-                    'status': 'UP',
-                    'db': {
-                        'status': 'UP',
-                        'database': 'H2',
-                        'hello': '1'
-                    },
-                    'mail': {
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    'system': {
-                        'status': 'DOWN',
-                        'subsystem1': {
-                            'status': 'UP',
-                            'property1': 'system.subsystem1.property1'
-                        },
-                        'subsystem2': {
-                            'status': 'DOWN',
-                            'error': 'system.subsystem1.error',
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                };
-                var expected = [
-                    {
-                        'name': 'db',
-                        'status': 'UP',
-                        'details': {
-                            'database': 'H2',
-                            'hello': '1'
-                        }
-                    },
-                    {
-                        'name': 'mail',
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    {
-                        'name': 'system.subsystem1',
-                        'status': 'UP',
-                        'details': {
-                            'property1': 'system.subsystem1.property1'
-                        }
-                    },
-                    {
-                        'name': 'system.subsystem2',
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'details': {
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                ];
-                expect(jhiHealthService.transformHealthData(data)).toEqual(expected);
-            });
-
-            it('should flatten health data with subsystems at level 1, main system has additional information', function () {
-                var data = {
-                    'status': 'UP',
-                    'db': {
-                        'status': 'UP',
-                        'database': 'H2',
-                        'hello': '1'
-                    },
-                    'mail': {
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    'system': {
-                        'status': 'DOWN',
-                        'property1': 'system.property1',
-                        'subsystem1': {
-                            'status': 'UP',
-                            'property1': 'system.subsystem1.property1'
-                        },
-                        'subsystem2': {
-                            'status': 'DOWN',
-                            'error': 'system.subsystem1.error',
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                };
-                var expected = [
-                    {
-                        'name': 'db',
-                        'status': 'UP',
-                        'details': {
-                            'database': 'H2',
-                            'hello': '1'
-                        }
-                    },
-                    {
-                        'name': 'mail',
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    {
-                        'name': 'system',
-                        'status': 'DOWN',
-                        'details': {
-                            'property1': 'system.property1'
-                        }
-                    },
-                    {
-                        'name': 'system.subsystem1',
-                        'status': 'UP',
-                        'details': {
-                            'property1': 'system.subsystem1.property1'
-                        }
-                    },
-                    {
-                        'name': 'system.subsystem2',
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'details': {
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                ];
-                expect(jhiHealthService.transformHealthData(data)).toEqual(expected);
-            });
-
-            it('should flatten health data with subsystems at level 1, main system has additional error', function () {
-                var data = {
-                    'status': 'UP',
-                    'db': {
-                        'status': 'UP',
-                        'database': 'H2',
-                        'hello': '1'
-                    },
-                    'mail': {
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    'system': {
-                        'status': 'DOWN',
-                        'error': 'show me',
-                        'subsystem1': {
-                            'status': 'UP',
-                            'property1': 'system.subsystem1.property1'
-                        },
-                        'subsystem2': {
-                            'status': 'DOWN',
-                            'error': 'system.subsystem1.error',
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                };
-                var expected = [
-                    {
-                        'name': 'db',
-                        'status': 'UP',
-                        'details': {
-                            'database': 'H2',
-                            'hello': '1'
-                        }
-                    },
-                    {
-                        'name': 'mail',
-                        'status': 'UP',
-                        'error': 'mail.a.b.c'
-                    },
-                    {
-                        'name': 'system',
-                        'status': 'DOWN',
-                        'error': 'show me'
-                    },
-                    {
-                        'name': 'system.subsystem1',
-                        'status': 'UP',
-                        'details': {
-                            'property1': 'system.subsystem1.property1'
-                        }
-                    },
-                    {
-                        'name': 'system.subsystem2',
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'details': {
-                            'property2': 'system.subsystem2.property2'
-                        }
-                    }
-                ];
-                expect(jhiHealthService.transformHealthData(data)).toEqual(expected);
-            });
-        });
-
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/components/login/login.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/components/login/login.controller.spec.js
deleted file mode 100644
index a789904a6832a8b5f1a1d7f73ab67bd32d6d3442..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/components/login/login.controller.spec.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function () {
-
-    beforeEach(module('acsmiApp'));
-
-    describe('LoginController', function () {
-        var $scope, authService;
-
-        beforeEach(inject(function ($rootScope, $controller, Auth) {
-            $scope = $rootScope.$new();
-            authService = Auth;
-            $controller('LoginController as vm',
-                {
-                    $scope: $scope,
-                    Auth: authService,
-                    $uibModalInstance: null
-                });
-        }));
-
-        it('should set remember Me', function () {
-            expect($scope.vm.rememberMe).toBeTruthy();
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/entities/service/service-detail.controller.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/entities/service/service-detail.controller.spec.js
deleted file mode 100644
index c5fe2b481f1c4eda237e66caab6f3cad1a0cb010..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/entities/service/service-detail.controller.spec.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Controller Tests', function() {
-
-    describe('Service Management Detail Controller', function() {
-        var $scope, $rootScope;
-        var MockEntity, MockPreviousState, MockService, MockContract;
-        var createController;
-
-        beforeEach(inject(function($injector) {
-            $rootScope = $injector.get('$rootScope');
-            $scope = $rootScope.$new();
-            MockEntity = jasmine.createSpy('MockEntity');
-            MockPreviousState = jasmine.createSpy('MockPreviousState');
-            MockService = jasmine.createSpy('MockService');
-            MockContract = jasmine.createSpy('MockContract');
-            
-
-            var locals = {
-                '$scope': $scope,
-                '$rootScope': $rootScope,
-                'entity': MockEntity,
-                'previousState': MockPreviousState,
-                'Service': MockService,
-                'Contract': MockContract
-            };
-            createController = function() {
-                $injector.get('$controller')("ServiceDetailController", locals);
-            };
-        }));
-
-
-        describe('Root Scope Listening', function() {
-            it('Unregisters root scope listener upon scope destruction', function() {
-                var eventType = 'acsmiApp:serviceUpdate';
-
-                createController();
-                expect($rootScope.$$listenerCount[eventType]).toEqual(1);
-
-                $scope.$destroy();
-                expect($rootScope.$$listenerCount[eventType]).toBeUndefined();
-            });
-        });
-    });
-
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/services/auth/auth.services.spec.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/services/auth/auth.services.spec.js
deleted file mode 100644
index 888815e93e0339b6f72aab715dc9305b0443d208..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/app/services/auth/auth.services.spec.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-'use strict';
-
-describe('Service Tests', function () {
-    beforeEach(mockApiAccountCall);
-    beforeEach(mockI18nCalls);
-    beforeEach(mockScriptsCalls);
-
-    describe('Auth', function () {
-        var $httpBackend, localStorageService, sessionStorageService, authService, spiedAuthServerProvider;
-
-        beforeEach(inject(function($injector, $localStorage, $sessionStorage, Auth, AuthServerProvider) {
-            $httpBackend = $injector.get('$httpBackend');
-            localStorageService = $localStorage;
-            sessionStorageService = $sessionStorage;
-            authService = Auth;
-            spiedAuthServerProvider = AuthServerProvider;
-        }));
-        //make sure no expectations were missed in your tests.
-        //(e.g. expectGET or expectPOST)
-        afterEach(function() {
-            $httpBackend.verifyNoOutstandingExpectation();
-            $httpBackend.verifyNoOutstandingRequest();
-        });
-        it('should call backend on logout then call authServerProvider.logout', function(){
-            //GIVEN
-            //Set spy
-            spyOn(spiedAuthServerProvider, 'logout').and.callThrough();
-
-            //WHEN
-            authService.logout();
-            //flush the backend to "execute" the request to do the expectedGET assertion.
-            $httpBackend.flush();
-
-            //THEN
-            expect(spiedAuthServerProvider.logout).toHaveBeenCalled();
-            expect(localStorageService.authenticationToken).toBe(undefined);
-            expect(sessionStorageService.authenticationToken).toBe(undefined);
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/httpBackend.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/httpBackend.js
deleted file mode 100644
index da1083020ab7e5017c97cd14d2a71c2b9e3b5f76..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/httpBackend.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-function mockApiAccountCall() {
-    inject(function($httpBackend) {
-        $httpBackend.whenGET(/api\/account.*/).respond({});
-    });
-}
-
-function mockI18nCalls() {
-    inject(function($httpBackend) {
-        $httpBackend.whenGET(/i18n\/.*\/.+\.json/).respond({});
-    });
-}
-
-function mockScriptsCalls() {
-    inject(function($httpBackend) {
-        $httpBackend.whenGET(/app\/.*/).respond({});
-    });
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/module.js b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/module.js
deleted file mode 100644
index 760b4070c9163eb1a12db79f8f24cc896d3e5690..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/javascript/spec/helpers/module.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 Tecnalia.
- * 
- * 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.
- * 
- * The code has been contributed over a stub generated with the JHipster
- * Application generator http://www.jhipster.tech/.
- * 
- * Contributors (in alphabetical order):
- * 
- * Gorka Benguria                       Tecnalia
- * Iñaki Etxaniz                        Tecnalia
- * Juncal Alonso                        Tecnalia
- * Leire Orue-Echevarria                Tecnalia
- * Maria Jose lopez                     Tecnalia
- * Marisa Escalante                     Tecnalia
- * 
- * Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
- ******************************************************************************/
-beforeEach(module('acsmiApp'));
-/**
- * returns a function whose angular will be replaced
- * with whatever mock was supplied.
- */
-function withMockedAngular(mockAngular, fn) {
-    return function() {
-        var _angular = window.angular;
-        window.angular = mockAngular;
-        var v = fn.apply(this, arguments);
-        window.angular = _angular;
-        return v;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/application.yml
deleted file mode 100644
index 637b1853ec14b7e9e05a8756fde329b7e35b8f95..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/application.yml
+++ /dev/null
@@ -1,116 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration is used for unit/integration tests.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-eureka:
-    client:
-        enabled: true
-    instance:
-        appname: acsmi
-        instanceId: acsmi:${spring.application.instance-id:${random.value}}
-
-spring:
-    application:
-        name: acsmi
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    cache:
-        type: none
-    datasource:
-        type: com.zaxxer.hikari.HikariDataSource
-        url: jdbc:h2:mem:acsmi;DB_CLOSE_DELAY=-1
-        name:
-        username:
-        password:
-    jpa:
-        database-platform: io.github.jhipster.domain.util.FixedH2Dialect
-        database: H2
-        open-in-view: false
-        show-sql: false
-        hibernate:
-            ddl-auto: none
-            naming:
-                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
-                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
-        properties:
-            hibernate.id.new_generator_mappings: true
-            hibernate.cache.use_second_level_cache: false
-            hibernate.cache.use_query_cache: false
-            hibernate.generate_statistics: true
-            hibernate.hbm2ddl.auto: validate
-    data:
-    mail:
-        host: localhost
-    messages:
-        basename: i18n/messages
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-liquibase:
-    contexts: test
-
-security:
-    basic:
-        enabled: false
-
-server:
-    port: 10344
-    address: localhost
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    async:
-        core-pool-size: 1
-        max-pool-size: 50
-        queue-capacity: 10000
-    # To test logstash appender
-    logging:
-            logstash:
-                enabled: true
-                host: localhost
-                port: 5000
-                queue-size: 512
-    mail:
-        from: test@localhost
-        base-url: http://127.0.0.1:8080
-    security:
-        authentication:
-            jwt:
-                secret: be36c1293aeb514cc80fb31e4ccc58a1e484232e
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: true
-            report-frequency: 60 # in seconds
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/bootstrap.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/bootstrap.yml
deleted file mode 100644
index 11cd6af21cba3a37c09fefbfd069b4cf05e0ea01..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/config/bootstrap.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-spring:
-    cloud:
-        config:
-            enabled: false
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/i18n/messages_en.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/i18n/messages_en.properties
deleted file mode 100644
index f19db8692f204fd0607cbc890345ca93c34539df..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/i18n/messages_en.properties
+++ /dev/null
@@ -1 +0,0 @@
-email.test.title=test title
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/logback.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/logback.xml
deleted file mode 100644
index 6b5a740e48c57cce635df81b4658bb78067d11f9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/logback.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-
-    <logger name="eu.decideh2020.acsmi.frontend.server" level="INFO"/>
-
-    <logger name="io.github.jhipster" level="WARN"/>
-
-    <logger name="javax.activation" level="WARN"/>
-    <logger name="javax.mail" level="WARN"/>
-    <logger name="javax.xml.bind" level="WARN"/>
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="com.codahale.metrics" level="WARN"/>
-    <logger name="com.netflix" level="WARN"/>
-    <logger name="com.netflix.discovery" level="INFO"/>
-    <logger name="com.ryantenney" level="WARN"/>
-    <logger name="com.sun" level="WARN"/>
-    <logger name="com.zaxxer" level="WARN"/>
-    <logger name="io.undertow" level="WARN"/>
-    <logger name="io.undertow.websockets.jsr" level="ERROR"/>
-    <logger name="org.apache" level="WARN"/>
-    <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
-    <logger name="org.bson" level="WARN"/>
-    <logger name="org.hibernate.validator" level="WARN"/>
-    <logger name="org.hibernate" level="WARN"/>
-    <logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/>
-    <logger name="org.springframework" level="WARN"/>
-    <logger name="org.springframework.web" level="WARN"/>
-    <logger name="org.springframework.security" level="WARN"/>
-    <logger name="org.springframework.cache" level="WARN"/>
-    <logger name="org.thymeleaf" level="WARN"/>
-    <logger name="org.xnio" level="WARN"/>
-    <logger name="springfox" level="WARN"/>
-    <logger name="sun.rmi" level="WARN"/>
-    <logger name="liquibase" level="WARN"/>
-    <logger name="LiquibaseSchemaResolver" level="INFO"/>
-    <logger name="sun.net.www" level="INFO"/>
-    <logger name="sun.rmi.transport" level="WARN"/>
-
-    <root level="WARN">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/mails/testEmail.html b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/mails/testEmail.html
deleted file mode 100644
index a4ca16a79f05dcd22c3d3adad996611b5e7a8afa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/src/test/resources/mails/testEmail.html
+++ /dev/null
@@ -1 +0,0 @@
-<html xmlns:th="http://www.thymeleaf.org" th:text="|#{email.test.title}, ${baseUrl}, ${user.login}|"></html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/yarn.lock b/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/yarn.lock
deleted file mode 100644
index 21c3827d6e517173e819b0e72b5a128ff5c646c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.frontend.server/yarn.lock
+++ /dev/null
@@ -1,7371 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-abbrev@1, abbrev@1.0.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
-
-accepts@1.1.4:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a"
-  dependencies:
-    mime-types "~2.0.4"
-    negotiator "0.4.9"
-
-accepts@~1.3.3:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
-  dependencies:
-    mime-types "~2.1.11"
-    negotiator "0.6.1"
-
-acorn-jsx@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
-  dependencies:
-    acorn "^3.0.4"
-
-acorn@^3.0.4:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
-
-acorn@^5.0.1:
-  version "5.0.3"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
-
-acorn@~2.6.4:
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.6.4.tgz#eb1f45b4a43fa31d03701a5ec46f3b52673e90ee"
-
-after@0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
-
-ajv-keywords@^1.0.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
-
-ajv@^4.7.0, ajv@^4.9.1:
-  version "4.11.8"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
-  dependencies:
-    co "^4.6.0"
-    json-stable-stringify "^1.0.1"
-
-align-text@^0.1.1, align-text@^0.1.3:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
-  dependencies:
-    kind-of "^3.0.2"
-    longest "^1.0.1"
-    repeat-string "^1.5.2"
-
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-
-alter@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/alter/-/alter-0.2.0.tgz#c7588808617572034aae62480af26b1d4d1cb3cd"
-  dependencies:
-    stable "~0.1.3"
-
-amdefine@>=0.0.4:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-
-ansi-escapes@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-
-ansi-regex@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-styles@^2.0.0, ansi-styles@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi@^0.3.0, ansi@~0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
-
-ansicolors@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
-
-any-promise@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
-
-anymatch@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
-  dependencies:
-    arrify "^1.0.0"
-    micromatch "^2.1.5"
-
-aproba@^1.0.3:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
-
-archive-type@^3.0.0, archive-type@^3.0.1:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6"
-  dependencies:
-    file-type "^3.1.0"
-
-archy@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
-
-are-we-there-yet@~1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
-  dependencies:
-    delegates "^1.0.0"
-    readable-stream "^2.0.6"
-
-argparse@^1.0.7:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
-  dependencies:
-    sprintf-js "~1.0.2"
-
-arr-diff@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
-  dependencies:
-    arr-flatten "^1.0.1"
-
-arr-flatten@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1"
-
-arr-union@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
-
-array-differ@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
-
-array-find-index@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
-
-array-slice@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
-
-array-union@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
-  dependencies:
-    array-uniq "^1.0.1"
-
-array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
-
-array-unique@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-
-arraybuffer.slice@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
-
-arrify@^1.0.0, arrify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-
-asn1@0.1.11:
-  version "0.1.11"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
-
-asn1@~0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-assert-plus@^0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
-
-assert-plus@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-
-async-each-series@0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432"
-
-async-each-series@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138"
-
-async-each@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
-
-async@1.5.2, async@1.x, async@^1.0.0, async@^1.2.1, async@^1.4.0, async@^1.4.2:
-  version "1.5.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-
-async@^2.0.0, async@^2.0.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7"
-  dependencies:
-    lodash "^4.14.0"
-
-async@~0.2.6:
-  version "0.2.10"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
-
-asynckit@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-autoprefixer@^6.0.0, autoprefixer@^6.3.1:
-  version "6.7.7"
-  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
-  dependencies:
-    browserslist "^1.7.6"
-    caniuse-db "^1.0.30000634"
-    normalize-range "^0.1.2"
-    num2fraction "^1.2.2"
-    postcss "^5.2.16"
-    postcss-value-parser "^3.2.3"
-
-aws-sign2@~0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
-
-aws4@^1.2.1:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-
-babel-code-frame@^6.16.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
-  dependencies:
-    chalk "^1.1.0"
-    esutils "^2.0.2"
-    js-tokens "^3.0.0"
-
-backo2@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
-
-balanced-match@^0.4.1, balanced-match@^0.4.2:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
-
-base64-arraybuffer@0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154"
-
-base64id@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
-
-batch@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
-
-bcrypt-pbkdf@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
-  dependencies:
-    tweetnacl "^0.14.3"
-
-beeper@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
-
-benchmark@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73"
-
-better-assert@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
-  dependencies:
-    callsite "1.0.0"
-
-bin-build@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc"
-  dependencies:
-    archive-type "^3.0.1"
-    decompress "^3.0.0"
-    download "^4.1.2"
-    exec-series "^1.0.0"
-    rimraf "^2.2.6"
-    tempfile "^1.0.0"
-    url-regex "^3.0.0"
-
-bin-check@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930"
-  dependencies:
-    executable "^1.0.0"
-
-bin-version-check@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0"
-  dependencies:
-    bin-version "^1.0.0"
-    minimist "^1.1.0"
-    semver "^4.0.3"
-    semver-truncate "^1.0.0"
-
-bin-version@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e"
-  dependencies:
-    find-versions "^1.0.0"
-
-bin-wrapper@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb"
-  dependencies:
-    bin-check "^2.0.0"
-    bin-version-check "^2.1.0"
-    download "^4.0.0"
-    each-async "^1.1.1"
-    lazy-req "^1.0.0"
-    os-filter-obj "^1.0.0"
-
-binary-extensions@^1.0.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
-
-"binaryextensions@1 || 2", binaryextensions@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755"
-
-bl@^1.0.0, bl@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
-  dependencies:
-    readable-stream "~2.0.5"
-
-bl@~1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e"
-  dependencies:
-    readable-stream "~2.0.5"
-
-blob@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
-
-block-stream@*:
-  version "0.0.9"
-  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
-  dependencies:
-    inherits "~2.0.0"
-
-bluebird@^3.3.0:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
-
-body-parser@^1.12.4:
-  version "1.17.2"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee"
-  dependencies:
-    bytes "2.4.0"
-    content-type "~1.0.2"
-    debug "2.6.7"
-    depd "~1.1.0"
-    http-errors "~1.6.1"
-    iconv-lite "0.4.15"
-    on-finished "~2.3.0"
-    qs "6.4.0"
-    raw-body "~2.2.0"
-    type-is "~1.6.15"
-
-boolbase@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-
-boom@2.x.x:
-  version "2.10.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
-  dependencies:
-    hoek "2.x.x"
-
-bower@1.7.9:
-  version "1.7.9"
-  resolved "https://registry.yarnpkg.com/bower/-/bower-1.7.9.tgz#b7296c2393e0d75edaa6ca39648132dd255812b0"
-
-boxen@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.3.1.tgz#a7d898243ae622f7abb6bb604d740a76c6a5461b"
-  dependencies:
-    chalk "^1.1.1"
-    filled-array "^1.0.0"
-    object-assign "^4.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.1"
-    widest-line "^1.0.0"
-
-brace-expansion@^1.0.0, brace-expansion@^1.1.7:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
-  dependencies:
-    balanced-match "^0.4.1"
-    concat-map "0.0.1"
-
-braces@^0.1.2:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
-  dependencies:
-    expand-range "^0.1.0"
-
-braces@^1.8.2:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
-  dependencies:
-    expand-range "^1.8.1"
-    preserve "^0.2.0"
-    repeat-element "^1.1.2"
-
-browser-sync-client@^2.3.3:
-  version "2.5.1"
-  resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.5.1.tgz#ec1ad69a49c2e2d4b645b18b1c06c29b3d9af8eb"
-  dependencies:
-    etag "^1.7.0"
-    fresh "^0.3.0"
-
-browser-sync-ui@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.1.tgz#d8b98ea3b755632287350a37ee2eaaacabea28d2"
-  dependencies:
-    async-each-series "0.1.1"
-    connect-history-api-fallback "^1.1.0"
-    immutable "^3.7.6"
-    server-destroy "1.0.1"
-    stream-throttle "^0.1.3"
-    weinre "^2.0.0-pre-I0Z7U9OV"
-
-browser-sync@2.17.0:
-  version "2.17.0"
-  resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.17.0.tgz#7ecd254b22f5b8bda012a82d6c72f9fc169347c5"
-  dependencies:
-    browser-sync-client "^2.3.3"
-    browser-sync-ui "0.6.1"
-    bs-recipes "1.2.3"
-    chokidar "1.6.0"
-    connect "3.4.1"
-    dev-ip "^1.0.1"
-    easy-extender "2.3.2"
-    eazy-logger "3.0.2"
-    emitter-steward "^1.0.0"
-    fs-extra "0.30.0"
-    http-proxy "1.14.0"
-    immutable "3.8.1"
-    localtunnel "1.8.1"
-    micromatch "2.3.11"
-    opn "4.0.2"
-    portscanner "^1.0.0"
-    qs "6.2.1"
-    resp-modifier "6.0.2"
-    rx "4.1.0"
-    serve-index "1.8.0"
-    serve-static "1.11.1"
-    server-destroy "1.0.1"
-    socket.io "1.4.8"
-    ua-parser-js "0.7.10"
-    yargs "5.0.0"
-
-browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
-  version "1.7.7"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
-  dependencies:
-    caniuse-db "^1.0.30000639"
-    electron-to-chromium "^1.2.7"
-
-bs-recipes@1.2.3:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.2.3.tgz#0e4d17bb1cff92ef6c36608b8487d9a07571ac54"
-
-buffer-shims@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
-
-buffer-to-vinyl@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262"
-  dependencies:
-    file-type "^3.1.0"
-    readable-stream "^2.0.2"
-    uuid "^2.0.1"
-    vinyl "^1.0.0"
-
-bufferstreams@^1.1.0, bufferstreams@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-1.1.1.tgz#0161373060ac5988eff99058731114f6e195d51e"
-  dependencies:
-    readable-stream "^2.0.2"
-
-builtin-modules@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-
-bytes@2.4.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
-
-caller-path@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
-  dependencies:
-    callsites "^0.2.0"
-
-callsite@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
-
-callsites@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
-
-camel-case@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.1"
-
-camelcase-keys@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
-  dependencies:
-    camelcase "^2.0.0"
-    map-obj "^1.0.0"
-
-camelcase@^1.0.2, camelcase@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-
-camelcase@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
-
-camelcase@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
-
-caniuse-api@^1.5.2:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
-  dependencies:
-    browserslist "^1.3.6"
-    caniuse-db "^1.0.30000529"
-    lodash.memoize "^4.1.2"
-    lodash.uniq "^4.5.0"
-
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
-  version "1.0.30000670"
-  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000670.tgz#90d33b79e3090e25829c311113c56d6b1788bf43"
-
-capture-stack-trace@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
-
-cardinal@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9"
-  dependencies:
-    ansicolors "~0.2.1"
-    redeyed "~1.0.0"
-
-caseless@~0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
-
-caseless@~0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-caw@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034"
-  dependencies:
-    get-proxy "^1.0.1"
-    is-obj "^1.0.0"
-    object-assign "^3.0.0"
-    tunnel-agent "^0.4.0"
-
-center-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
-  dependencies:
-    align-text "^0.1.3"
-    lazy-cache "^1.0.3"
-
-chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  dependencies:
-    ansi-styles "^2.2.1"
-    escape-string-regexp "^1.0.2"
-    has-ansi "^2.0.0"
-    strip-ansi "^3.0.0"
-    supports-color "^2.0.0"
-
-change-case@3.0.x:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
-  dependencies:
-    camel-case "^3.0.0"
-    constant-case "^2.0.0"
-    dot-case "^2.1.0"
-    header-case "^1.0.0"
-    is-lower-case "^1.1.0"
-    is-upper-case "^1.1.0"
-    lower-case "^1.1.1"
-    lower-case-first "^1.0.0"
-    no-case "^2.2.0"
-    param-case "^2.1.0"
-    pascal-case "^2.0.0"
-    path-case "^2.1.0"
-    sentence-case "^2.1.0"
-    snake-case "^2.1.0"
-    swap-case "^1.1.0"
-    title-case "^2.1.0"
-    upper-case "^1.1.1"
-    upper-case-first "^1.1.0"
-
-cheerio@0.22.0:
-  version "0.22.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
-  dependencies:
-    css-select "~1.2.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "^3.9.1"
-    lodash.assignin "^4.0.9"
-    lodash.bind "^4.1.4"
-    lodash.defaults "^4.0.1"
-    lodash.filter "^4.4.0"
-    lodash.flatten "^4.2.0"
-    lodash.foreach "^4.3.0"
-    lodash.map "^4.4.0"
-    lodash.merge "^4.4.0"
-    lodash.pick "^4.2.1"
-    lodash.reduce "^4.4.0"
-    lodash.reject "^4.4.0"
-    lodash.some "^4.4.0"
-
-cheerio@^0.19.0:
-  version "0.19.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925"
-  dependencies:
-    css-select "~1.0.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "~3.8.1"
-    lodash "^3.2.0"
-
-chokidar@1.6.0, chokidar@^1.4.1:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.0.tgz#90c32ad4802901d7713de532dc284e96a63ad058"
-  dependencies:
-    anymatch "^1.3.0"
-    async-each "^1.0.0"
-    glob-parent "^2.0.0"
-    inherits "^2.0.1"
-    is-binary-path "^1.0.0"
-    is-glob "^2.0.0"
-    path-is-absolute "^1.0.0"
-    readdirp "^2.0.0"
-  optionalDependencies:
-    fsevents "^1.0.0"
-
-circular-json@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
-
-clap@^1.0.9:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b"
-  dependencies:
-    chalk "^1.1.3"
-
-class-extend@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/class-extend/-/class-extend-0.1.2.tgz#8057a82b00f53f82a5d62c50ef8cffdec6fabc34"
-  dependencies:
-    object-assign "^2.0.0"
-
-clean-css@3.4.x:
-  version "3.4.26"
-  resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.26.tgz#55323b344ff3bcee684a2eac81c93df8fa73deeb"
-  dependencies:
-    commander "2.8.x"
-    source-map "0.4.x"
-
-cli-boxes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
-
-cli-cursor@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
-  dependencies:
-    restore-cursor "^1.0.1"
-
-cli-list@^0.1.1:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/cli-list/-/cli-list-0.1.8.tgz#aee6d45c4c59bf80068bb968089fb06f1aeddc0a"
-
-cli-table@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
-  dependencies:
-    colors "1.0.3"
-
-cli-usage@^0.1.1:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2"
-  dependencies:
-    marked "^0.3.6"
-    marked-terminal "^1.6.2"
-
-cli-width@^1.0.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d"
-
-cli-width@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
-
-cliui@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
-  dependencies:
-    center-align "^0.1.1"
-    right-align "^0.1.1"
-    wordwrap "0.0.2"
-
-cliui@^3.0.3, cliui@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wrap-ansi "^2.0.0"
-
-clone-buffer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
-
-clone-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.0.tgz#eae0a2413f55c0942f818c229fefce845d7f3b1c"
-  dependencies:
-    is-regexp "^1.0.0"
-    is-supported-regexp-flag "^1.0.0"
-
-clone-stats@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
-
-clone-stats@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
-
-clone@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
-
-clone@^1.0.0, clone@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
-
-cloneable-readable@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
-  dependencies:
-    inherits "^2.0.1"
-    process-nextick-args "^1.0.6"
-    through2 "^2.0.1"
-
-co@3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-coa@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3"
-  dependencies:
-    q "^1.1.2"
-
-code-point-at@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-color-convert@^1.3.0:
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
-  dependencies:
-    color-name "^1.1.1"
-
-color-name@^1.0.0, color-name@^1.1.1:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
-
-color-string@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
-  dependencies:
-    color-name "^1.0.0"
-
-color@^0.11.0:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
-  dependencies:
-    clone "^1.0.2"
-    color-convert "^1.3.0"
-    color-string "^0.3.0"
-
-colormin@^1.0.5:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
-  dependencies:
-    color "^0.11.0"
-    css-color-names "0.0.4"
-    has "^1.0.1"
-
-colors@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
-
-colors@^1.1.0, colors@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
-
-combine-lists@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
-  dependencies:
-    lodash "^4.5.0"
-
-combined-stream@^1.0.5, combined-stream@~1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
-  dependencies:
-    delayed-stream "~1.0.0"
-
-commander@2.8.x, commander@~2.8.1:
-  version "2.8.1"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-commander@2.9.0, commander@2.9.x, commander@^2.2.0, commander@^2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-commondir@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-
-component-bind@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
-
-component-emitter@1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
-
-component-emitter@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe"
-
-component-inherit@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
-
-concat-map@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611"
-  dependencies:
-    inherits "~2.0.1"
-    readable-stream "~2.0.0"
-    typedarray "~0.0.5"
-
-concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
-  dependencies:
-    inherits "^2.0.3"
-    readable-stream "^2.2.2"
-    typedarray "^0.0.6"
-
-concat-with-sourcemaps@*, concat-with-sourcemaps@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz#f55b3be2aeb47601b10a2d5259ccfb70fd2f1dd6"
-  dependencies:
-    source-map "^0.5.1"
-
-config-chain@~1.1.8:
-  version "1.1.11"
-  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
-  dependencies:
-    ini "^1.3.4"
-    proto-list "~1.2.1"
-
-configstore@^1.0.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
-  dependencies:
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-configstore@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1"
-  dependencies:
-    dot-prop "^3.0.0"
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-connect-history-api-fallback@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
-
-connect@1.x:
-  version "1.9.2"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807"
-  dependencies:
-    formidable "1.0.x"
-    mime ">= 0.0.1"
-    qs ">= 0.4.0"
-
-connect@3.4.1, connect@^3.3.5:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-3.4.1.tgz#a21361d3f4099ef761cda6dc4a973bb1ebb0a34d"
-  dependencies:
-    debug "~2.2.0"
-    finalhandler "0.4.1"
-    parseurl "~1.3.1"
-    utils-merge "1.0.0"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-
-console-stream@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44"
-
-constant-case@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
-  dependencies:
-    snake-case "^2.1.0"
-    upper-case "^1.1.1"
-
-content-type@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
-
-convert-source-map@^1.1.1:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
-
-convert-source-map@~1.1.2:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
-
-core-js@^2.2.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
-
-core-util-is@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-create-error-class@^3.0.0, create-error-class@^3.0.1:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
-  dependencies:
-    capture-stack-trace "^1.0.0"
-
-cross-spawn@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
-  dependencies:
-    lru-cache "^4.0.1"
-    which "^1.2.9"
-
-cross-spawn@^4.0.0:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
-  dependencies:
-    lru-cache "^4.0.1"
-    which "^1.2.9"
-
-cross-spawn@^5.0.1:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
-  dependencies:
-    lru-cache "^4.0.1"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
-
-cryptiles@2.x.x:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
-  dependencies:
-    boom "2.x.x"
-
-css-color-names@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-
-css-select@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "1.0"
-    domutils "1.4"
-    nth-check "~1.0.0"
-
-css-select@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "2.1"
-    domutils "1.5.1"
-    nth-check "~1.0.1"
-
-css-what@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c"
-
-css-what@2.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
-
-cssnano@^3.0.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
-  dependencies:
-    autoprefixer "^6.3.1"
-    decamelize "^1.1.2"
-    defined "^1.0.0"
-    has "^1.0.1"
-    object-assign "^4.0.1"
-    postcss "^5.0.14"
-    postcss-calc "^5.2.0"
-    postcss-colormin "^2.1.8"
-    postcss-convert-values "^2.3.4"
-    postcss-discard-comments "^2.0.4"
-    postcss-discard-duplicates "^2.0.1"
-    postcss-discard-empty "^2.0.1"
-    postcss-discard-overridden "^0.1.1"
-    postcss-discard-unused "^2.2.1"
-    postcss-filter-plugins "^2.0.0"
-    postcss-merge-idents "^2.1.5"
-    postcss-merge-longhand "^2.0.1"
-    postcss-merge-rules "^2.0.3"
-    postcss-minify-font-values "^1.0.2"
-    postcss-minify-gradients "^1.0.1"
-    postcss-minify-params "^1.0.4"
-    postcss-minify-selectors "^2.0.4"
-    postcss-normalize-charset "^1.1.0"
-    postcss-normalize-url "^3.0.7"
-    postcss-ordered-values "^2.1.0"
-    postcss-reduce-idents "^2.2.2"
-    postcss-reduce-initial "^1.0.0"
-    postcss-reduce-transforms "^1.0.3"
-    postcss-svgo "^2.1.1"
-    postcss-unique-selectors "^2.0.2"
-    postcss-value-parser "^3.2.3"
-    postcss-zindex "^2.0.1"
-
-csso@~2.3.1:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
-  dependencies:
-    clap "^1.0.9"
-    source-map "^0.5.3"
-
-ctype@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
-
-currently-unhandled@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
-  dependencies:
-    array-find-index "^1.0.1"
-
-custom-event@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
-
-d@1:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
-  dependencies:
-    es5-ext "^0.10.9"
-
-dargs@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829"
-
-dashdash@^1.12.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-  dependencies:
-    assert-plus "^1.0.0"
-
-dateformat@^1.0.11, dateformat@^1.0.6:
-  version "1.0.12"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
-  dependencies:
-    get-stdin "^4.0.1"
-    meow "^3.3.0"
-
-dateformat@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
-
-debug@0.7.4:
-  version "0.7.4"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
-
-debug@2.2.0, debug@^2.0.0, debug@^2.1.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
-  dependencies:
-    ms "0.7.1"
-
-debug@2.6.7:
-  version "2.6.7"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e"
-  dependencies:
-    ms "2.0.0"
-
-decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-decompress-tar@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466"
-  dependencies:
-    is-tar "^1.0.0"
-    object-assign "^2.0.0"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-tarbz2@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d"
-  dependencies:
-    is-bzip2 "^1.0.0"
-    object-assign "^2.0.0"
-    seek-bzip "^1.0.3"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-targz@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0"
-  dependencies:
-    is-gzip "^1.0.0"
-    object-assign "^2.0.0"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-unzip@^3.0.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb"
-  dependencies:
-    is-zip "^1.0.0"
-    read-all-stream "^3.0.0"
-    stat-mode "^0.2.0"
-    strip-dirs "^1.0.0"
-    through2 "^2.0.0"
-    vinyl "^1.0.0"
-    yauzl "^2.2.1"
-
-decompress@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed"
-  dependencies:
-    buffer-to-vinyl "^1.0.0"
-    concat-stream "^1.4.6"
-    decompress-tar "^3.0.0"
-    decompress-tarbz2 "^3.0.0"
-    decompress-targz "^3.0.0"
-    decompress-unzip "^3.0.0"
-    stream-combiner2 "^1.1.1"
-    vinyl-assign "^1.0.1"
-    vinyl-fs "^2.2.0"
-
-deep-extend@^0.4.0, deep-extend@~0.4.0:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
-
-deep-is@~0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-
-default-uid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/default-uid/-/default-uid-1.0.0.tgz#fcefa9df9f5ac40c8916d912dd1fe1146aa3c59e"
-
-defaults@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
-  dependencies:
-    clone "^1.0.2"
-
-defined@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-
-del@2.2.2, del@^2.0.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
-  dependencies:
-    globby "^5.0.0"
-    is-path-cwd "^1.0.0"
-    is-path-in-cwd "^1.0.0"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    rimraf "^2.2.8"
-
-delayed-stream@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-depd@1.1.0, depd@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
-
-deprecated@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"
-
-destroy@~1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-detect-conflict@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e"
-
-detect-file@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63"
-  dependencies:
-    fs-exists-sync "^0.1.0"
-
-detect-newline@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-dev-ip@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0"
-
-di@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
-
-didyoumean@1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
-
-diff@^2.1.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99"
-
-discontinuous-range@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
-
-doctrine@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
-  dependencies:
-    esutils "^2.0.2"
-    isarray "^1.0.0"
-
-dom-serialize@^2.2.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
-  dependencies:
-    custom-event "~1.0.0"
-    ent "~2.2.0"
-    extend "^3.0.0"
-    void-elements "^2.0.0"
-
-dom-serializer@0, dom-serializer@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
-  dependencies:
-    domelementtype "~1.1.1"
-    entities "~1.1.1"
-
-domelementtype@1, domelementtype@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domelementtype@~1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
-
-domhandler@2.3:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
-  dependencies:
-    domelementtype "1"
-
-domhandler@^2.3.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.4:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.5, domutils@1.5.1, domutils@^1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
-  dependencies:
-    dom-serializer "0"
-    domelementtype "1"
-
-dot-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
-  dependencies:
-    no-case "^2.2.0"
-
-dot-prop@^2.0.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-2.4.0.tgz#848e28f7f1d50740c6747ab3cb07670462b6f89c"
-  dependencies:
-    is-obj "^1.0.0"
-
-dot-prop@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
-  dependencies:
-    is-obj "^1.0.0"
-
-downgrade-root@^1.0.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/downgrade-root/-/downgrade-root-1.2.2.tgz#531319715b0e81ffcc22eb28478ba27643e12c6c"
-  dependencies:
-    default-uid "^1.0.0"
-    is-root "^1.0.0"
-
-download@^4.0.0, download@^4.1.2:
-  version "4.4.3"
-  resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac"
-  dependencies:
-    caw "^1.0.1"
-    concat-stream "^1.4.7"
-    each-async "^1.0.0"
-    filenamify "^1.0.1"
-    got "^5.0.0"
-    gulp-decompress "^1.2.0"
-    gulp-rename "^1.2.0"
-    is-url "^1.2.0"
-    object-assign "^4.0.1"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.2"
-    stream-combiner2 "^1.1.1"
-    vinyl "^1.0.0"
-    vinyl-fs "^2.2.0"
-    ware "^1.2.0"
-
-duplexer2@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
-  dependencies:
-    readable-stream "~1.1.9"
-
-duplexer2@^0.1.4, duplexer2@~0.1.0:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
-  dependencies:
-    readable-stream "^2.0.2"
-
-duplexer3@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
-
-duplexer@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
-
-duplexify@^3.2.0, duplexify@^3.5.0:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
-  dependencies:
-    end-of-stream "1.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.0.0"
-    stream-shift "^1.0.0"
-
-each-async@^1.0.0, each-async@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473"
-  dependencies:
-    onetime "^1.0.0"
-    set-immediate-shim "^1.0.0"
-
-easy-extender@2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d"
-  dependencies:
-    lodash "^3.10.1"
-
-eazy-logger@3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc"
-  dependencies:
-    tfunk "^3.0.1"
-
-ecc-jsbn@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
-  dependencies:
-    jsbn "~0.1.0"
-
-editions@^1.1.1:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b"
-
-ee-first@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-ejs@2.5.6, ejs@^2.3.1:
-  version "2.5.6"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
-
-electron-to-chromium@^1.2.7:
-  version "1.3.11"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.11.tgz#744761df1d67b492b322ce9aa0aba5393260eb61"
-
-emitter-steward@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64"
-
-encodeurl@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
-
-end-of-stream@1.0.0, end-of-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e"
-  dependencies:
-    once "~1.3.0"
-
-end-of-stream@~0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf"
-  dependencies:
-    once "~1.3.0"
-
-engine.io-client@1.6.11:
-  version "1.6.11"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.11.tgz#7d250d8fa1c218119ecde51390458a57d5171376"
-  dependencies:
-    component-emitter "1.1.2"
-    component-inherit "0.0.3"
-    debug "2.2.0"
-    engine.io-parser "1.2.4"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    parsejson "0.0.1"
-    parseqs "0.0.2"
-    parseuri "0.0.4"
-    ws "1.0.1"
-    xmlhttprequest-ssl "1.5.1"
-    yeast "0.1.2"
-
-engine.io-client@1.6.9:
-  version "1.6.9"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401"
-  dependencies:
-    component-emitter "1.1.2"
-    component-inherit "0.0.3"
-    debug "2.2.0"
-    engine.io-parser "1.2.4"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    parsejson "0.0.1"
-    parseqs "0.0.2"
-    parseuri "0.0.4"
-    ws "1.0.1"
-    xmlhttprequest-ssl "1.5.1"
-    yeast "0.1.2"
-
-engine.io-parser@1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42"
-  dependencies:
-    after "0.8.1"
-    arraybuffer.slice "0.0.6"
-    base64-arraybuffer "0.1.2"
-    blob "0.0.4"
-    has-binary "0.1.6"
-    utf8 "2.1.0"
-
-engine.io@1.6.10:
-  version "1.6.10"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a"
-  dependencies:
-    accepts "1.1.4"
-    base64id "0.1.0"
-    debug "2.2.0"
-    engine.io-parser "1.2.4"
-    ws "1.0.1"
-
-engine.io@1.6.11:
-  version "1.6.11"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.11.tgz#2533a97a65876c40ffcf95397b7ef9b495c423fe"
-  dependencies:
-    accepts "1.1.4"
-    base64id "0.1.0"
-    debug "2.2.0"
-    engine.io-parser "1.2.4"
-    ws "1.1.0"
-
-ent@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
-
-entities@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
-
-entities@^1.1.1, entities@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
-
-error-ex@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
-  dependencies:
-    is-arrayish "^0.2.1"
-
-error@^7.0.2:
-  version "7.0.2"
-  resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
-  dependencies:
-    string-template "~0.2.1"
-    xtend "~4.0.0"
-
-es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
-  version "0.10.21"
-  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.21.tgz#19a725f9e51d0300bbc1e8e821109fd9daf55925"
-  dependencies:
-    es6-iterator "2"
-    es6-symbol "~3.1"
-
-es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512"
-  dependencies:
-    d "1"
-    es5-ext "^0.10.14"
-    es6-symbol "^3.1"
-
-es6-map@^0.1.3:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-    es6-iterator "~2.0.1"
-    es6-set "~0.1.5"
-    es6-symbol "~3.1.1"
-    event-emitter "~0.3.5"
-
-es6-promise@~3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.2.1.tgz#ec56233868032909207170c39448e24449dd1fc4"
-
-es6-set@~0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-    es6-iterator "~2.0.1"
-    es6-symbol "3.1.1"
-    event-emitter "~0.3.5"
-
-es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-
-es6-weak-map@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
-  dependencies:
-    d "1"
-    es5-ext "^0.10.14"
-    es6-iterator "^2.0.1"
-    es6-symbol "^3.1.1"
-
-escape-html@~1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-escodegen@1.8.x:
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
-  dependencies:
-    esprima "^2.7.1"
-    estraverse "^1.9.1"
-    esutils "^2.0.2"
-    optionator "^0.8.1"
-  optionalDependencies:
-    source-map "~0.2.0"
-
-escope@^3.6.0:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
-  dependencies:
-    es6-map "^0.1.3"
-    es6-weak-map "^2.0.1"
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
-
-eslint-config-angular@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz#e0aae0132e39e7467df3f7547fec81a44d3685c4"
-
-eslint-plugin-angular@2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-2.2.1.tgz#2fe426808d675114c5d78c8b25642499053cae92"
-
-eslint@^3.0.0:
-  version "3.19.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
-  dependencies:
-    babel-code-frame "^6.16.0"
-    chalk "^1.1.3"
-    concat-stream "^1.5.2"
-    debug "^2.1.1"
-    doctrine "^2.0.0"
-    escope "^3.6.0"
-    espree "^3.4.0"
-    esquery "^1.0.0"
-    estraverse "^4.2.0"
-    esutils "^2.0.2"
-    file-entry-cache "^2.0.0"
-    glob "^7.0.3"
-    globals "^9.14.0"
-    ignore "^3.2.0"
-    imurmurhash "^0.1.4"
-    inquirer "^0.12.0"
-    is-my-json-valid "^2.10.0"
-    is-resolvable "^1.0.0"
-    js-yaml "^3.5.1"
-    json-stable-stringify "^1.0.0"
-    levn "^0.3.0"
-    lodash "^4.0.0"
-    mkdirp "^0.5.0"
-    natural-compare "^1.4.0"
-    optionator "^0.8.2"
-    path-is-inside "^1.0.1"
-    pluralize "^1.2.1"
-    progress "^1.1.8"
-    require-uncached "^1.0.2"
-    shelljs "^0.7.5"
-    strip-bom "^3.0.0"
-    strip-json-comments "~2.0.1"
-    table "^3.7.8"
-    text-table "~0.2.0"
-    user-home "^2.0.0"
-
-espree@^3.4.0:
-  version "3.4.3"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374"
-  dependencies:
-    acorn "^5.0.1"
-    acorn-jsx "^3.0.0"
-
-esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
-
-esprima@^1.2.2:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.5.tgz#0993502feaf668138325756f30f9a51feeec11e9"
-
-esprima@^3.1.1:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
-
-esprima@~3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
-
-esquery@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
-  dependencies:
-    estraverse "^4.0.0"
-
-esrecurse@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
-  dependencies:
-    estraverse "~4.1.0"
-    object-assign "^4.0.1"
-
-estraverse@^1.5.1, estraverse@^1.9.1:
-  version "1.9.3"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
-
-estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
-
-estraverse@~4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
-
-esutils@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-
-etag@^1.7.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
-
-etag@~1.7.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
-
-event-emitter@~0.3.5:
-  version "0.3.5"
-  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-
-event-stream@*, event-stream@3.3.4, event-stream@^3.1.0, event-stream@^3.1.1, event-stream@^3.3.1:
-  version "3.3.4"
-  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
-  dependencies:
-    duplexer "~0.1.1"
-    from "~0"
-    map-stream "~0.1.0"
-    pause-stream "0.0.11"
-    split "0.3"
-    stream-combiner "~0.0.4"
-    through "~2.3.1"
-
-event-stream@3.3.2:
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.2.tgz#3cc310feb1f28d2f62b2a085d736a9ef566378b8"
-  dependencies:
-    duplexer "~0.1.1"
-    from "~0"
-    map-stream "~0.1.0"
-    pause-stream "0.0.11"
-    split "0.3"
-    stream-combiner "~0.0.4"
-    through "~2.3.1"
-
-eventemitter3@1.x.x:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
-
-exec-buffer@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.1.0.tgz#851b46d062fca9bcbc6ff8781693e28e8da80402"
-  dependencies:
-    execa "^0.5.0"
-    p-finally "^1.0.0"
-    pify "^2.3.0"
-    rimraf "^2.5.4"
-    tempfile "^1.0.0"
-
-exec-series@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a"
-  dependencies:
-    async-each-series "^1.1.0"
-    object-assign "^4.1.0"
-
-execa@^0.5.0:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36"
-  dependencies:
-    cross-spawn "^4.0.0"
-    get-stream "^2.2.0"
-    is-stream "^1.1.0"
-    npm-run-path "^2.0.0"
-    p-finally "^1.0.0"
-    signal-exit "^3.0.0"
-    strip-eof "^1.0.0"
-
-execall@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73"
-  dependencies:
-    clone-regexp "^1.0.0"
-
-executable@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9"
-  dependencies:
-    meow "^3.1.0"
-
-exit-hook@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
-expand-braces@^0.1.1:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
-  dependencies:
-    array-slice "^0.2.3"
-    array-unique "^0.2.1"
-    braces "^0.1.2"
-
-expand-brackets@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
-  dependencies:
-    is-posix-bracket "^0.1.0"
-
-expand-range@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
-  dependencies:
-    is-number "^0.1.1"
-    repeat-string "^0.2.2"
-
-expand-range@^1.8.1:
-  version "1.8.2"
-  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
-  dependencies:
-    fill-range "^2.1.0"
-
-expand-tilde@^1.2.1, expand-tilde@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449"
-  dependencies:
-    os-homedir "^1.0.1"
-
-express@2.5.x:
-  version "2.5.11"
-  resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0"
-  dependencies:
-    connect "1.x"
-    mime "1.2.4"
-    mkdirp "0.3.0"
-    qs "0.4.x"
-
-extend-shallow@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
-  dependencies:
-    is-extendable "^0.1.0"
-
-extend@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-2.0.1.tgz#1ee8010689e7395ff9448241c98652bc759a8260"
-
-extend@^3.0.0, extend@~3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
-
-external-editor@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
-  dependencies:
-    extend "^3.0.0"
-    spawn-sync "^1.0.15"
-    tmp "^0.0.29"
-
-extglob@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
-  dependencies:
-    is-extglob "^1.0.0"
-
-extract-zip@~1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4"
-  dependencies:
-    concat-stream "1.5.0"
-    debug "0.7.4"
-    mkdirp "0.5.0"
-    yauzl "2.4.1"
-
-extsprintf@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
-
-fancy-log@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948"
-  dependencies:
-    chalk "^1.1.1"
-    time-stamp "^1.0.0"
-
-fast-levenshtein@~2.0.4:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-
-fd-slicer@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
-  dependencies:
-    pend "~1.2.0"
-
-figures@^1.3.5:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
-  dependencies:
-    escape-string-regexp "^1.0.5"
-    object-assign "^4.1.0"
-
-file-entry-cache@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
-  dependencies:
-    flat-cache "^1.2.1"
-    object-assign "^4.0.1"
-
-file-type@^3.1.0:
-  version "3.9.0"
-  resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
-
-file-type@^4.1.0:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.3.0.tgz#b26f0a35e03f6857848d18b8a27238448caa79a5"
-
-filename-regex@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
-
-filename-reserved-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4"
-
-filenamify@^1.0.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5"
-  dependencies:
-    filename-reserved-regex "^1.0.0"
-    strip-outer "^1.0.0"
-    trim-repeated "^1.0.0"
-
-fill-range@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
-  dependencies:
-    is-number "^2.1.0"
-    isobject "^2.0.0"
-    randomatic "^1.1.3"
-    repeat-element "^1.1.2"
-    repeat-string "^1.5.2"
-
-filled-array@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84"
-
-finalhandler@0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d"
-  dependencies:
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    on-finished "~2.3.0"
-    unpipe "~1.0.0"
-
-find-index@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
-
-find-up@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
-  dependencies:
-    path-exists "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-  dependencies:
-    locate-path "^2.0.0"
-
-find-versions@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62"
-  dependencies:
-    array-uniq "^1.0.0"
-    get-stdin "^4.0.1"
-    meow "^3.5.0"
-    semver-regex "^1.0.0"
-
-findup-sync@^0.4.2:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12"
-  dependencies:
-    detect-file "^0.1.0"
-    is-glob "^2.0.1"
-    micromatch "^2.3.7"
-    resolve-dir "^0.1.0"
-
-fined@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97"
-  dependencies:
-    expand-tilde "^1.2.1"
-    lodash.assignwith "^4.0.7"
-    lodash.isempty "^4.2.1"
-    lodash.isplainobject "^4.0.4"
-    lodash.isstring "^4.0.1"
-    lodash.pick "^4.2.1"
-    parse-filepath "^1.0.1"
-
-first-chunk-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
-
-first-chunk-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
-  dependencies:
-    readable-stream "^2.0.2"
-
-flagged-respawn@^0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5"
-
-flat-cache@^1.2.1:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
-  dependencies:
-    circular-json "^0.3.1"
-    del "^2.0.2"
-    graceful-fs "^4.1.2"
-    write "^0.2.1"
-
-flatten@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
-
-for-in@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-
-for-own@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
-  dependencies:
-    for-in "^1.0.1"
-
-foreachasync@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6"
-
-forever-agent@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-fork-stream@^0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70"
-
-form-data@~1.0.0-rc3, form-data@~1.0.0-rc4:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c"
-  dependencies:
-    async "^2.0.1"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.11"
-
-form-data@~2.1.1:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.12"
-
-formidable@1.0.x:
-  version "1.0.17"
-  resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559"
-
-fresh@0.3.0, fresh@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
-
-from@~0:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
-
-fs-access@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
-  dependencies:
-    null-check "^1.0.0"
-
-fs-exists-sync@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
-
-fs-extra@0.30.0, fs-extra@~0.30.0:
-  version "0.30.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-    klaw "^1.0.0"
-    path-is-absolute "^1.0.0"
-    rimraf "^2.2.8"
-
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
-  dependencies:
-    nan "^2.3.0"
-    node-pre-gyp "^0.6.29"
-
-fstream-ignore@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
-  dependencies:
-    fstream "^1.0.0"
-    inherits "2"
-    minimatch "^3.0.0"
-
-fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
-  dependencies:
-    graceful-fs "^4.1.2"
-    inherits "~2.0.0"
-    mkdirp ">=0.5 0"
-    rimraf "2"
-
-fullname@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/fullname/-/fullname-2.1.0.tgz#c46bf0f7c3f24fd5b3358d00e4a41380eef87350"
-  dependencies:
-    npmconf "^2.1.1"
-    pify "^2.2.0"
-    pinkie-promise "^2.0.0"
-
-function-bind@^1.0.2:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
-
-gauge@~1.2.5:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
-  dependencies:
-    ansi "^0.3.0"
-    has-unicode "^2.0.0"
-    lodash.pad "^4.1.0"
-    lodash.padend "^4.1.0"
-    lodash.padstart "^4.1.0"
-
-gauge@~2.7.3:
-  version "2.7.4"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
-  dependencies:
-    aproba "^1.0.3"
-    console-control-strings "^1.0.0"
-    has-unicode "^2.0.0"
-    object-assign "^4.1.0"
-    signal-exit "^3.0.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wide-align "^1.1.0"
-
-gaze@^0.5.1:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
-  dependencies:
-    globule "~0.1.0"
-
-generate-function@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
-
-generate-object-property@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
-  dependencies:
-    is-property "^1.0.0"
-
-generator-jhipster@4.5.1:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/generator-jhipster/-/generator-jhipster-4.5.1.tgz#ff0a3b31d961e2ad92c11e3ce8c5479604172701"
-  dependencies:
-    chalk "1.1.3"
-    cheerio "0.22.0"
-    commander "2.9.0"
-    didyoumean "1.2.1"
-    ejs "2.5.6"
-    glob "7.1.1"
-    html-wiring "1.2.0"
-    insight "0.8.4"
-    jhipster-core "1.3.2"
-    js-yaml "3.8.3"
-    lodash "4.17.4"
-    mkdirp "0.5.1"
-    pluralize "4.0.0"
-    randexp "0.4.5"
-    semver "5.3.0"
-    shelljs "0.7.7"
-    tabtab "2.2.2"
-    yeoman-environment "1.6.6"
-    yeoman-generator "1.1.1"
-    yo "1.8.5"
-
-get-caller-file@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
-
-get-proxy@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb"
-  dependencies:
-    rc "^1.1.2"
-
-get-stdin@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-
-get-stdin@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
-
-get-stream@^2.2.0:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
-  dependencies:
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-
-get-stream@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-
-get-value@^2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
-
-getpass@^0.1.1:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
-  dependencies:
-    assert-plus "^1.0.0"
-
-gh-got@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a"
-  dependencies:
-    got "^6.2.0"
-    is-plain-obj "^1.1.0"
-
-gifsicle@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-github-username@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1"
-  dependencies:
-    gh-got "^5.0.0"
-
-glob-base@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
-  dependencies:
-    glob-parent "^2.0.0"
-    is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
-  dependencies:
-    is-glob "^2.0.0"
-
-glob-parent@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
-  dependencies:
-    is-glob "^3.1.0"
-    path-dirname "^1.0.0"
-
-glob-stream@^3.1.5:
-  version "3.1.18"
-  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
-  dependencies:
-    glob "^4.3.1"
-    glob2base "^0.0.12"
-    minimatch "^2.0.1"
-    ordered-read-streams "^0.1.0"
-    through2 "^0.6.1"
-    unique-stream "^1.0.0"
-
-glob-stream@^5.3.2:
-  version "5.3.5"
-  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22"
-  dependencies:
-    extend "^3.0.0"
-    glob "^5.0.3"
-    glob-parent "^3.0.0"
-    micromatch "^2.3.7"
-    ordered-read-streams "^0.3.0"
-    through2 "^0.6.0"
-    to-absolute-glob "^0.1.1"
-    unique-stream "^2.0.2"
-
-glob-watcher@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
-  dependencies:
-    gaze "^0.5.1"
-
-glob2base@^0.0.12:
-  version "0.0.12"
-  resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
-  dependencies:
-    find-index "^0.1.1"
-
-glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
-  version "7.1.1"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.2"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^4.3.1:
-  version "4.5.3"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^2.0.1"
-    once "^1.3.0"
-
-glob@^5.0.15, glob@^5.0.3:
-  version "5.0.15"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^6.0.1:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@~3.1.21:
-  version "3.1.21"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
-  dependencies:
-    graceful-fs "~1.2.0"
-    inherits "1"
-    minimatch "~0.2.11"
-
-global-modules@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d"
-  dependencies:
-    global-prefix "^0.1.4"
-    is-windows "^0.2.0"
-
-global-prefix@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f"
-  dependencies:
-    homedir-polyfill "^1.0.0"
-    ini "^1.3.4"
-    is-windows "^0.2.0"
-    which "^1.2.12"
-
-globals@^9.14.0:
-  version "9.17.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
-
-globby@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-2.1.0.tgz#9e9192bcd33f4ab6a4f894e5e7ea8b713213c482"
-  dependencies:
-    array-union "^1.0.1"
-    async "^1.2.1"
-    glob "^5.0.3"
-    object-assign "^3.0.0"
-
-globby@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^6.0.1"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^6.1.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
-  dependencies:
-    array-union "^1.0.1"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globule@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
-  dependencies:
-    glob "~3.1.21"
-    lodash "~1.0.1"
-    minimatch "~0.2.11"
-
-glogg@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
-  dependencies:
-    sparkles "^1.0.0"
-
-got@^5.0.0:
-  version "5.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
-  dependencies:
-    create-error-class "^3.0.1"
-    duplexer2 "^0.1.4"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    node-status-codes "^1.0.0"
-    object-assign "^4.0.1"
-    parse-json "^2.1.0"
-    pinkie-promise "^2.0.0"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.5"
-    timed-out "^3.0.0"
-    unzip-response "^1.0.2"
-    url-parse-lax "^1.0.0"
-
-got@^6.2.0:
-  version "6.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
-  dependencies:
-    create-error-class "^3.0.0"
-    duplexer3 "^0.1.4"
-    get-stream "^3.0.0"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    safe-buffer "^5.0.1"
-    timed-out "^4.0.0"
-    unzip-response "^2.0.1"
-    url-parse-lax "^1.0.0"
-
-graceful-fs@^3.0.0:
-  version "3.0.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
-  dependencies:
-    natives "^1.1.0"
-
-graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
-  version "4.1.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-graceful-fs@~1.2.0:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
-
-"graceful-readlink@>= 1.0.0":
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
-
-group-array@^0.3.0:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/group-array/-/group-array-0.3.3.tgz#bbd9d2f718df4be33f0fb90432aaf1b4360e498f"
-  dependencies:
-    arr-flatten "^1.0.1"
-    for-own "^0.1.4"
-    get-value "^2.0.6"
-    kind-of "^3.1.0"
-    split-string "^1.0.1"
-    union-value "^0.2.3"
-
-grouped-queue@^0.3.0:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c"
-  dependencies:
-    lodash "^4.17.2"
-
-growly@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-
-gulp-angular-filesort@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/gulp-angular-filesort/-/gulp-angular-filesort-1.1.1.tgz#a08cff5ad5b3a18554f30b4d4e5d8895272cb242"
-  dependencies:
-    event-stream "^3.1.1"
-    gulp-util "^3.0.0"
-    ng-dependencies "~0.2.0"
-    toposort "~0.2.10"
-
-gulp-angular-templatecache@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/gulp-angular-templatecache/-/gulp-angular-templatecache-2.0.0.tgz#29b4071ee5574481c069a162bce8967534f17155"
-  dependencies:
-    event-stream "3.3.2"
-    gulp-concat "2.6.0"
-    gulp-footer "1.0.5"
-    gulp-header "1.8.2"
-    gulp-util "3.0.7"
-    jsesc "2.2.0"
-
-gulp-autoprefixer@3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-3.1.1.tgz#75230051cd0d171343d783b7e9b5d1120eeef9b0"
-  dependencies:
-    autoprefixer "^6.0.0"
-    gulp-util "^3.0.0"
-    postcss "^5.0.4"
-    through2 "^2.0.0"
-    vinyl-sourcemaps-apply "^0.2.0"
-
-gulp-changed@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/gulp-changed/-/gulp-changed-1.3.2.tgz#9efc8d325f9805cc7668fdf4e7d60d4b1410f2cf"
-  dependencies:
-    gulp-util "^3.0.0"
-    through2 "^2.0.0"
-
-gulp-concat@2.6.0, gulp-concat@^2.5.2:
-  version "2.6.0"
-  resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.0.tgz#585cfb115411f348773131140566b6a81c69cb91"
-  dependencies:
-    concat-with-sourcemaps "^1.0.0"
-    gulp-util "^3.0.1"
-    through2 "^0.6.3"
-
-gulp-cssnano@2.1.2:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/gulp-cssnano/-/gulp-cssnano-2.1.2.tgz#e08a09771ec5454a549f1a005bdd256cb8e5e0a3"
-  dependencies:
-    cssnano "^3.0.0"
-    gulp-util "^3.0.6"
-    object-assign "^4.0.1"
-    vinyl-sourcemaps-apply "^0.2.1"
-
-gulp-decompress@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7"
-  dependencies:
-    archive-type "^3.0.0"
-    decompress "^3.0.0"
-    gulp-util "^3.0.1"
-    readable-stream "^2.0.2"
-
-gulp-eslint@3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/gulp-eslint/-/gulp-eslint-3.0.1.tgz#04e57e3e18c6974267c12cf6855dc717d4a313bd"
-  dependencies:
-    bufferstreams "^1.1.1"
-    eslint "^3.0.0"
-    gulp-util "^3.0.6"
-
-gulp-flatten@0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/gulp-flatten/-/gulp-flatten-0.3.1.tgz#51e7fec13a33c404578d18c1589d1b5bc45fe1d6"
-  dependencies:
-    gulp-util "^3.0.7"
-    through2 "^2.0.0"
-
-gulp-footer@1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/gulp-footer/-/gulp-footer-1.0.5.tgz#e84ca777e266be7bbc2d45d2df0e7eba8dfa3e54"
-  dependencies:
-    event-stream "*"
-    gulp-util "*"
-    lodash.assign "*"
-
-gulp-header@1.8.2:
-  version "1.8.2"
-  resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.2.tgz#3ab222f53719d2d03d81d9134252fe7d52425aa4"
-  dependencies:
-    concat-with-sourcemaps "*"
-    gulp-util "*"
-    object-assign "*"
-    through2 "^2.0.0"
-
-gulp-htmlmin@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/gulp-htmlmin/-/gulp-htmlmin-2.0.0.tgz#12ca63576437aadfc859d2addfa41c38efcea869"
-  dependencies:
-    bufferstreams "^1.1.0"
-    gulp-util "^3.0.7"
-    html-minifier "^2.1.0"
-    object-assign "^4.0.1"
-    readable-stream "^2.0.2"
-    tryit "^1.0.1"
-
-gulp-if@2.0.1, gulp-if@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.1.tgz#55f3edf82cecdfcf6035aa5d0686979aab0dac28"
-  dependencies:
-    gulp-match "^1.0.2"
-    ternary-stream "^2.0.0"
-    through2 "^2.0.1"
-
-gulp-imagemin@3.0.3:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/gulp-imagemin/-/gulp-imagemin-3.0.3.tgz#e54e2fc13ed3620422ef085f371b3044d44b9f6d"
-  dependencies:
-    chalk "^1.0.0"
-    gulp-util "^3.0.0"
-    imagemin "^5.0.0"
-    plur "^2.0.0"
-    pretty-bytes "^2.0.1"
-    through2-concurrent "^1.1.0"
-  optionalDependencies:
-    imagemin-gifsicle "^5.0.0"
-    imagemin-jpegtran "^5.0.0"
-    imagemin-optipng "^5.1.0"
-    imagemin-svgo "^5.1.0"
-
-gulp-inject@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/gulp-inject/-/gulp-inject-4.1.0.tgz#cfed04f384b513d4b31458ffce6b934914a0d33b"
-  dependencies:
-    arrify "^1.0.1"
-    escape-string-regexp "^1.0.5"
-    event-stream "^3.1.0"
-    group-array "^0.3.0"
-    gulp-util "^3.0.0"
-    stream-to-array "^2.3.0"
-    through2 "^2.0.1"
-
-gulp-match@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.0.3.tgz#91c7c0d7f29becd6606d57d80a7f8776a87aba8e"
-  dependencies:
-    minimatch "^3.0.3"
-
-gulp-natural-sort@0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/gulp-natural-sort/-/gulp-natural-sort-0.1.1.tgz#b1123993b94f9213e28d0f4dfb0ab631e3b829c8"
-  dependencies:
-    natural-compare-lite "^1.0.0"
-    through "^2.3.4"
-
-gulp-ng-annotate@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/gulp-ng-annotate/-/gulp-ng-annotate-2.0.0.tgz#84a83db1f016520bd70f9a5cfa9f3fe89e25a205"
-  dependencies:
-    bufferstreams "^1.1.0"
-    gulp-util "^3.0.7"
-    merge "^1.2.0"
-    ng-annotate "^1.2.1"
-    through2 "^2.0.1"
-    vinyl-sourcemaps-apply "^0.2.1"
-
-gulp-ng-constant@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/gulp-ng-constant/-/gulp-ng-constant-1.1.0.tgz#d76b18208100b603a96c706f46ceed1ff5c5d8c6"
-  dependencies:
-    gulp-util "^3.0.6"
-    js-yaml "^3.2.7"
-    lodash "^3.9.3"
-    through2 "^2.0.0"
-
-gulp-notify@2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/gulp-notify/-/gulp-notify-2.2.0.tgz#046c8285c292e97eed4e15a009c26cbbe5cef135"
-  dependencies:
-    gulp-util "^3.0.2"
-    lodash.template "^3.0.0"
-    node-notifier "^4.1.0"
-    node.extend "^1.1.3"
-    through2 "^0.6.3"
-
-gulp-plumber@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/gulp-plumber/-/gulp-plumber-1.1.0.tgz#f12176c2d0422f60306c242fff6a01a394faba09"
-  dependencies:
-    gulp-util "^3"
-    through2 "^2"
-
-gulp-rename@1.2.2, gulp-rename@^1.2.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817"
-
-gulp-replace@0.5.4:
-  version "0.5.4"
-  resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.5.4.tgz#69a67914bbd13c562bff14f504a403796aa0daa9"
-  dependencies:
-    istextorbinary "1.0.2"
-    readable-stream "^2.0.1"
-    replacestream "^4.0.0"
-
-gulp-rev-replace@0.4.3:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/gulp-rev-replace/-/gulp-rev-replace-0.4.3.tgz#72b51848f5f093ad4b77b1d2411081eb78acd46e"
-  dependencies:
-    gulp-util "^3.0.7"
-    through2 "^2.0.0"
-
-gulp-rev@7.1.2:
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/gulp-rev/-/gulp-rev-7.1.2.tgz#5e17cc229f6b45c74256f88ad3f2d3e9a3305829"
-  dependencies:
-    gulp-util "^3.0.0"
-    modify-filename "^1.1.0"
-    object-assign "^4.0.1"
-    rev-hash "^1.0.0"
-    rev-path "^1.0.0"
-    sort-keys "^1.0.0"
-    through2 "^2.0.0"
-    vinyl-file "^1.1.0"
-
-gulp-sourcemaps@1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c"
-  dependencies:
-    convert-source-map "^1.1.1"
-    graceful-fs "^4.1.2"
-    strip-bom "^2.0.0"
-    through2 "^2.0.0"
-    vinyl "^1.0.0"
-
-gulp-uglify@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-2.0.0.tgz#cbe4aae4fe0b6bdd760335bc46f200fff699c4af"
-  dependencies:
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash "^4.13.1"
-    make-error-cause "^1.1.1"
-    through2 "^2.0.0"
-    uglify-js "2.7.0"
-    uglify-save-license "^0.4.1"
-    vinyl-sourcemaps-apply "^0.2.0"
-
-gulp-useref@3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/gulp-useref/-/gulp-useref-3.1.2.tgz#dec67024a96e685eeb9d9d8153c64a5d5c5e3cf6"
-  dependencies:
-    event-stream "^3.3.1"
-    glob "^7.0.3"
-    gulp-concat "^2.5.2"
-    gulp-if "^2.0.0"
-    gulp-util "^3.0.1"
-    is-relative-url "1.0.0"
-    through2 "^2.0.1"
-    useref "^1.2.0"
-    vinyl-fs "^2.2.1"
-
-gulp-util@*, gulp-util@^3, gulp-util@^3.0.0, gulp-util@^3.0.1, gulp-util@^3.0.2, gulp-util@^3.0.6, gulp-util@^3.0.7:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^2.0.0"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulp-util@3.0.7:
-  version "3.0.7"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz#78925c4b8f8b49005ac01a011c557e6218941cbb"
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^1.0.11"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulp@3.9.1:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4"
-  dependencies:
-    archy "^1.0.0"
-    chalk "^1.0.0"
-    deprecated "^0.0.1"
-    gulp-util "^3.0.0"
-    interpret "^1.0.0"
-    liftoff "^2.1.0"
-    minimist "^1.1.0"
-    orchestrator "^0.3.0"
-    pretty-hrtime "^1.0.0"
-    semver "^4.1.0"
-    tildify "^1.0.0"
-    v8flags "^2.0.2"
-    vinyl-fs "^0.3.0"
-
-gulplog@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
-  dependencies:
-    glogg "^1.0.0"
-
-handlebars@^4.0.1:
-  version "4.0.10"
-  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f"
-  dependencies:
-    async "^1.4.0"
-    optimist "^0.6.1"
-    source-map "^0.4.4"
-  optionalDependencies:
-    uglify-js "^2.6"
-
-har-schema@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
-
-har-validator@~2.0.2, har-validator@~2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
-  dependencies:
-    chalk "^1.1.1"
-    commander "^2.9.0"
-    is-my-json-valid "^2.12.4"
-    pinkie-promise "^2.0.0"
-
-har-validator@~4.2.1:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
-  dependencies:
-    ajv "^4.9.1"
-    har-schema "^1.0.5"
-
-has-ansi@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-has-binary@0.1.6:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
-  dependencies:
-    isarray "0.0.1"
-
-has-binary@0.1.7:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
-  dependencies:
-    isarray "0.0.1"
-
-has-cors@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
-
-has-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-gulplog@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
-  dependencies:
-    sparkles "^1.0.0"
-
-has-unicode@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-has@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
-  dependencies:
-    function-bind "^1.0.2"
-
-hasha@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
-  dependencies:
-    is-stream "^1.0.1"
-    pinkie-promise "^2.0.0"
-
-hawk@~3.1.0, hawk@~3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
-  dependencies:
-    boom "2.x.x"
-    cryptiles "2.x.x"
-    hoek "2.x.x"
-    sntp "1.x.x"
-
-he@1.1.x:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
-
-header-case@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.3"
-
-hoek@2.x.x:
-  version "2.16.3"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
-
-homedir-polyfill@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
-  dependencies:
-    parse-passwd "^1.0.0"
-
-hosted-git-info@^2.1.4:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67"
-
-html-comment-regex@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
-
-html-minifier@^2.1.0:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-2.1.7.tgz#9051d6fcbbcf214ed307e1ad74f432bb9ad655cc"
-  dependencies:
-    change-case "3.0.x"
-    clean-css "3.4.x"
-    commander "2.9.x"
-    he "1.1.x"
-    ncname "1.0.x"
-    relateurl "0.2.x"
-    uglify-js "2.6.x"
-
-html-wiring@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/html-wiring/-/html-wiring-1.2.0.tgz#c5f90a776e0a27241dc6df9022c37186d0270f9e"
-  dependencies:
-    cheerio "^0.19.0"
-    detect-newline "^1.0.3"
-
-htmlparser2@^3.9.1:
-  version "3.9.2"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
-  dependencies:
-    domelementtype "^1.3.0"
-    domhandler "^2.3.0"
-    domutils "^1.5.1"
-    entities "^1.1.1"
-    inherits "^2.0.1"
-    readable-stream "^2.0.2"
-
-htmlparser2@~3.8.1:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
-  dependencies:
-    domelementtype "1"
-    domhandler "2.3"
-    domutils "1.5"
-    entities "1.0"
-    readable-stream "1.1"
-
-http-errors@~1.5.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
-  dependencies:
-    inherits "2.0.3"
-    setprototypeof "1.0.2"
-    statuses ">= 1.3.1 < 2"
-
-http-errors@~1.6.1:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
-  dependencies:
-    depd "1.1.0"
-    inherits "2.0.3"
-    setprototypeof "1.0.3"
-    statuses ">= 1.3.1 < 2"
-
-http-proxy@1.14.0, http-proxy@^1.13.0:
-  version "1.14.0"
-  resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.14.0.tgz#be32ab34dd5229e87840f4c27cb335ee195b2a83"
-  dependencies:
-    eventemitter3 "1.x.x"
-    requires-port "1.x.x"
-
-http-signature@~0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.11.0.tgz#1796cf67a001ad5cd6849dca0991485f09089fe6"
-  dependencies:
-    asn1 "0.1.11"
-    assert-plus "^0.1.5"
-    ctype "0.5.3"
-
-http-signature@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
-  dependencies:
-    assert-plus "^0.2.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-humanize-string@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/humanize-string/-/humanize-string-1.0.1.tgz#fce2d6c545efc25dea1f23235182c98da0180b42"
-  dependencies:
-    decamelize "^1.0.0"
-
-iconv-lite@0.4.15:
-  version "0.4.15"
-  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
-
-ignore@^3.2.0:
-  version "3.3.3"
-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
-
-imagemin-gifsicle@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-5.1.0.tgz#2e4ddcda2a109b221cabaec498e1e2dd28ca768f"
-  dependencies:
-    exec-buffer "^3.0.0"
-    gifsicle "^3.0.0"
-    is-gif "^1.0.0"
-
-imagemin-jpegtran@^5.0.0:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz#e6882263b8f7916fddb800640cf75d2e970d2ad6"
-  dependencies:
-    exec-buffer "^3.0.0"
-    is-jpg "^1.0.0"
-    jpegtran-bin "^3.0.0"
-
-imagemin-optipng@^5.1.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz#d22da412c09f5ff00a4339960b98a88b1dbe8695"
-  dependencies:
-    exec-buffer "^3.0.0"
-    is-png "^1.0.0"
-    optipng-bin "^3.0.0"
-
-imagemin-svgo@^5.1.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.1.tgz#74d593ce4cbe1b87efdb3d06a4a56078f71a8147"
-  dependencies:
-    is-svg "^2.0.0"
-    svgo "^0.7.0"
-
-imagemin@^5.0.0:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-5.3.1.tgz#f19c2eee1e71ba6c6558c515f9fc96680189a6d4"
-  dependencies:
-    file-type "^4.1.0"
-    globby "^6.1.0"
-    make-dir "^1.0.0"
-    p-pipe "^1.1.0"
-    pify "^2.3.0"
-    replace-ext "^1.0.0"
-
-immutable@3.8.1, immutable@^3.7.6:
-  version "3.8.1"
-  resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
-
-imurmurhash@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-
-indent-string@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
-  dependencies:
-    repeating "^2.0.0"
-
-indent-string@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d"
-
-indexes-of@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
-
-indexof@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
-
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
-
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-ini@^1.2.0, ini@^1.3.4, ini@~1.3.0:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-
-inquirer@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.10.1.tgz#ea25e4ce69ca145e05c99e46dcfec05e4012594a"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^0.11.0:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.11.4.tgz#81e3374e8361beaff2d97016206d359d0b32fa4d"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^2.0.0"
-    figures "^1.3.5"
-    lodash "^4.3.0"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^1.0.2:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^2.0.0"
-    external-editor "^1.1.0"
-    figures "^1.3.5"
-    lodash "^4.3.0"
-    mute-stream "0.0.6"
-    pinkie-promise "^2.0.0"
-    run-async "^2.2.0"
-    rx "^4.1.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-insight@0.8.4:
-  version "0.8.4"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.8.4.tgz#671caf65b47c9fe8c3d1b3206cf45bb211b75884"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.74.0"
-    tough-cookie "^2.0.0"
-    uuid "^3.0.0"
-
-insight@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.7.0.tgz#061f9189835bd38a97a60c2b76ea0c6b30099ff6"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.40.0"
-    tough-cookie "^2.0.0"
-
-interpret@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
-
-invert-kv@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
-
-ip-regex@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
-
-irregular-plurals@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac"
-
-is-absolute-url@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-1.0.0.tgz#2d7ef0fd0bb2a88dac7e92253c6808a0ace24bfb"
-
-is-absolute-url@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-
-is-absolute@^0.1.5:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f"
-  dependencies:
-    is-relative "^0.1.0"
-
-is-absolute@^0.2.3:
-  version "0.2.6"
-  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb"
-  dependencies:
-    is-relative "^0.2.1"
-    is-windows "^0.2.0"
-
-is-arrayish@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
-is-binary-path@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
-  dependencies:
-    binary-extensions "^1.0.0"
-
-is-buffer@^1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
-
-is-builtin-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
-  dependencies:
-    builtin-modules "^1.0.0"
-
-is-bzip2@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc"
-
-is-docker@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1"
-
-is-dotfile@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
-
-is-equal-shallow@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
-  dependencies:
-    is-primitive "^2.0.0"
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-
-is-extglob@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
-
-is-extglob@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-
-is-finite@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-
-is-gif@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e"
-
-is-glob@^2.0.0, is-glob@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
-  dependencies:
-    is-extglob "^1.0.0"
-
-is-glob@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-  dependencies:
-    is-extglob "^2.1.0"
-
-is-gzip@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
-
-is-jpg@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.0.tgz#2959c17e73430db38264da75b90dd54f2d86da1c"
-
-is-lower-case@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
-  dependencies:
-    lower-case "^1.1.0"
-
-is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
-  version "2.16.0"
-  resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
-  dependencies:
-    generate-function "^2.0.0"
-    generate-object-property "^1.1.0"
-    jsonpointer "^4.0.0"
-    xtend "^4.0.0"
-
-is-natural-number@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7"
-
-is-npm@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
-
-is-number@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
-
-is-number@^2.0.2, is-number@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-obj@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-
-is-path-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
-
-is-path-in-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
-  dependencies:
-    is-path-inside "^1.0.0"
-
-is-path-inside@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
-  dependencies:
-    path-is-inside "^1.0.1"
-
-is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-
-is-plain-object@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
-  dependencies:
-    isobject "^1.0.0"
-
-is-png@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce"
-
-is-posix-bracket@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
-
-is-primitive@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
-
-is-promise@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
-
-is-property@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
-
-is-redirect@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
-
-is-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
-
-is-relative-url@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-1.0.0.tgz#87a9d35e8a789b49e079b4d7d69d64612e8e0e1f"
-  dependencies:
-    is-absolute-url "^1.0.0"
-
-is-relative@^0.1.0:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82"
-
-is-relative@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5"
-  dependencies:
-    is-unc-path "^0.1.1"
-
-is-resolvable@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
-  dependencies:
-    tryit "^1.0.1"
-
-is-retry-allowed@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
-
-is-root@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5"
-
-is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-
-is-supported-regexp-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz#8b520c85fae7a253382d4b02652e045576e13bb8"
-
-is-svg@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
-  dependencies:
-    html-comment-regex "^1.1.0"
-
-is-tar@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d"
-
-is-typedarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-is-unc-path@^0.1.1:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9"
-  dependencies:
-    unc-path-regex "^0.1.0"
-
-is-upper-case@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
-  dependencies:
-    upper-case "^1.1.0"
-
-is-url@^1.2.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26"
-
-is-utf8@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-
-is-valid-glob@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe"
-
-is-windows@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
-
-is-zip@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325"
-
-is@^3.1.0:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5"
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isbinaryfile@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
-
-isexe@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isobject@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
-
-isobject@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
-  dependencies:
-    isarray "1.0.0"
-
-isstream@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-istanbul@^0.4.0:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
-  dependencies:
-    abbrev "1.0.x"
-    async "1.x"
-    escodegen "1.8.x"
-    esprima "2.7.x"
-    glob "^5.0.15"
-    handlebars "^4.0.1"
-    js-yaml "3.x"
-    mkdirp "0.5.x"
-    nopt "3.x"
-    once "1.x"
-    resolve "1.1.x"
-    supports-color "^3.1.0"
-    which "^1.1.1"
-    wordwrap "^1.0.0"
-
-istextorbinary@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-1.0.2.tgz#ace19354d1a9a0173efeb1084ce0f87b0ad7decf"
-  dependencies:
-    binaryextensions "~1.0.0"
-    textextensions "~1.0.0"
-
-istextorbinary@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.1.0.tgz#dbed2a6f51be2f7475b68f89465811141b758874"
-  dependencies:
-    binaryextensions "1 || 2"
-    editions "^1.1.1"
-    textextensions "1 || 2"
-
-jasmine-core@2.5.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.0.tgz#0b2e1f4d9babb66f4510681511ff0435e6b68340"
-
-jhipster-core@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/jhipster-core/-/jhipster-core-1.3.2.tgz#5b2675c7682be098b1238760474a32657905bdae"
-  dependencies:
-    lodash "4.17.4"
-
-jodid25519@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
-  dependencies:
-    jsbn "~0.1.0"
-
-jpegtran-bin@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz#f60ecf4ae999c0bdad2e9fbcdf2b6f0981e7a29b"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-js-base64@^2.1.9:
-  version "2.1.9"
-  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
-
-js-tokens@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
-
-js-yaml@3.8.3, js-yaml@3.x, js-yaml@^3.2.7, js-yaml@^3.5.1:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^3.1.1"
-
-js-yaml@~3.7.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^2.6.0"
-
-jsbn@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-jsesc@2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.2.0.tgz#c35a8613a3806c8ec3bafc0b0e196f020f7aab01"
-
-json-schema@0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
-  dependencies:
-    jsonify "~0.0.0"
-
-json-stringify-safe@~5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-json3@3.2.6:
-  version "3.2.6"
-  resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b"
-
-json3@3.3.2:
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
-
-jsonfile@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
-  optionalDependencies:
-    graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-
-jsonpointer@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
-
-jsprim@^1.2.2:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
-  dependencies:
-    assert-plus "1.0.0"
-    extsprintf "1.0.2"
-    json-schema "0.2.3"
-    verror "1.3.6"
-
-karma-chrome-launcher@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25"
-  dependencies:
-    fs-access "^1.0.0"
-    which "^1.2.1"
-
-karma-coverage@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.1.tgz#5aff8b39cf6994dc22de4c84362c76001b637cf6"
-  dependencies:
-    dateformat "^1.0.6"
-    istanbul "^0.4.0"
-    lodash "^3.8.0"
-    minimatch "^3.0.0"
-    source-map "^0.5.1"
-
-karma-jasmine@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.0.2.tgz#c0b3ab327bf207db60e17fa27db37cfdef5d8e6c"
-
-karma-junit-reporter@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/karma-junit-reporter/-/karma-junit-reporter-1.1.0.tgz#12f8ff82050607a1d4f1192f0211efde4b59ca3e"
-  dependencies:
-    path-is-absolute "^1.0.0"
-    xmlbuilder "8.2.2"
-
-karma-phantomjs-launcher@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.2.tgz#19e1041498fd75563ed86730a22c1fe579fa8fb1"
-  dependencies:
-    lodash "^4.0.1"
-    phantomjs-prebuilt "^2.1.7"
-
-karma-script-launcher@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz#cd017c4de5ef09e5a9da793276176108dd4b542d"
-
-karma@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/karma/-/karma-1.2.0.tgz#6dca89ec25f4753f120f834c89398098040fd63e"
-  dependencies:
-    bluebird "^3.3.0"
-    body-parser "^1.12.4"
-    chokidar "^1.4.1"
-    colors "^1.1.0"
-    combine-lists "^1.0.0"
-    connect "^3.3.5"
-    core-js "^2.2.0"
-    di "^0.0.1"
-    dom-serialize "^2.2.0"
-    expand-braces "^0.1.1"
-    glob "^7.0.3"
-    graceful-fs "^4.1.2"
-    http-proxy "^1.13.0"
-    isbinaryfile "^3.0.0"
-    lodash "^3.8.0"
-    log4js "^0.6.31"
-    mime "^1.3.4"
-    minimatch "^3.0.0"
-    optimist "^0.6.1"
-    qjobs "^1.1.4"
-    rimraf "^2.3.3"
-    socket.io "1.4.7"
-    source-map "^0.5.3"
-    tmp "0.0.28"
-    useragent "^2.1.9"
-
-kew@~0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
-
-kind-of@^3.0.2, kind-of@^3.1.0:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
-  dependencies:
-    is-buffer "^1.1.5"
-
-klaw@^1.0.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
-  optionalDependencies:
-    graceful-fs "^4.1.9"
-
-latest-version@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b"
-  dependencies:
-    package-json "^2.0.0"
-
-lazy-cache@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-
-lazy-req@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac"
-
-lazypipe@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/lazypipe/-/lazypipe-1.0.1.tgz#1471aef6b37a340d51c34df44699dcef064c1940"
-  dependencies:
-    stream-combiner "*"
-
-lazystream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
-  dependencies:
-    readable-stream "^2.0.5"
-
-lcid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
-  dependencies:
-    invert-kv "^1.0.0"
-
-levn@^0.3.0, levn@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
-  dependencies:
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-
-liftoff@^2.1.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385"
-  dependencies:
-    extend "^3.0.0"
-    findup-sync "^0.4.2"
-    fined "^1.0.1"
-    flagged-respawn "^0.3.2"
-    lodash.isplainobject "^4.0.4"
-    lodash.isstring "^4.0.1"
-    lodash.mapvalues "^4.4.0"
-    rechoir "^0.6.2"
-    resolve "^1.1.7"
-
-limiter@^1.0.5:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913"
-
-load-json-file@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    strip-bom "^3.0.0"
-
-localtunnel@1.8.1:
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.1.tgz#d51b2bb7a7066afb05b57fc9db844015098f2e17"
-  dependencies:
-    debug "2.2.0"
-    openurl "1.1.0"
-    request "2.65.0"
-    yargs "3.29.0"
-
-locate-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-  dependencies:
-    p-locate "^2.0.0"
-    path-exists "^3.0.0"
-
-lodash._arraycopy@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
-
-lodash._arrayeach@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
-
-lodash._baseassign@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash.keys "^3.0.0"
-
-lodash._baseclone@^3.0.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7"
-  dependencies:
-    lodash._arraycopy "^3.0.0"
-    lodash._arrayeach "^3.0.0"
-    lodash._baseassign "^3.0.0"
-    lodash._basefor "^3.0.0"
-    lodash.isarray "^3.0.0"
-    lodash.keys "^3.0.0"
-
-lodash._basecopy@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-
-lodash._basefor@^3.0.0:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
-
-lodash._basetostring@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
-
-lodash._basevalues@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
-
-lodash._bindcallback@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-
-lodash._isiterateecall@^3.0.0:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-
-lodash._reescape@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
-
-lodash._reevaluate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
-
-lodash._reinterpolate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
-
-lodash._root@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
-
-lodash.assign@*, lodash.assign@^4.1.0, lodash.assign@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
-
-lodash.assignin@^4.0.9:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
-
-lodash.assignwith@^4.0.7:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb"
-
-lodash.bind@^4.1.4:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
-
-lodash.clonedeep@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db"
-  dependencies:
-    lodash._baseclone "^3.0.0"
-    lodash._bindcallback "^3.0.0"
-
-lodash.debounce@^3.0.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-3.1.1.tgz#812211c378a94cc29d5aa4e3346cf0bfce3a7df5"
-  dependencies:
-    lodash._getnative "^3.0.0"
-
-lodash.defaults@^4.0.1:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
-
-lodash.difference@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
-
-lodash.escape@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
-  dependencies:
-    lodash._root "^3.0.0"
-
-lodash.filter@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
-
-lodash.flatten@^4.2.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
-
-lodash.foreach@^4.3.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
-
-lodash.isarguments@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
-
-lodash.isarray@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-
-lodash.isempty@^4.2.1:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"
-
-lodash.isequal@^4.0.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
-
-lodash.isplainobject@^4.0.4:
-  version "4.0.6"
-  resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
-
-lodash.isstring@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
-
-lodash.keys@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
-  dependencies:
-    lodash._getnative "^3.0.0"
-    lodash.isarguments "^3.0.0"
-    lodash.isarray "^3.0.0"
-
-lodash.map@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
-
-lodash.mapvalues@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c"
-
-lodash.memoize@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-
-lodash.merge@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
-
-lodash.pad@^4.1.0:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
-
-lodash.padend@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
-
-lodash.padstart@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
-
-lodash.pick@^4.2.1:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
-
-lodash.reduce@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
-
-lodash.reject@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
-
-lodash.restparam@^3.0.0:
-  version "3.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
-
-lodash.some@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
-
-lodash.template@^3.0.0:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash._basetostring "^3.0.0"
-    lodash._basevalues "^3.0.0"
-    lodash._isiterateecall "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-    lodash.keys "^3.0.0"
-    lodash.restparam "^3.0.0"
-    lodash.templatesettings "^3.0.0"
-
-lodash.templatesettings@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
-  dependencies:
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-
-lodash.uniq@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-
-lodash@4.15.0:
-  version "4.15.0"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.15.0.tgz#3162391d8f0140aa22cf8f6b3c34d6b7f63d3aa9"
-
-lodash@4.17.4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.3.0, lodash@^4.5.0:
-  version "4.17.4"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-
-lodash@^3.0.1, lodash@^3.10.1, lodash@^3.2.0, lodash@^3.3.1, lodash@^3.8.0, lodash@^3.9.3:
-  version "3.10.1"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
-
-lodash@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
-
-log-symbols@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
-  dependencies:
-    chalk "^1.0.0"
-
-log4js@^0.6.31:
-  version "0.6.38"
-  resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
-  dependencies:
-    readable-stream "~1.0.2"
-    semver "~4.3.3"
-
-logalot@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552"
-  dependencies:
-    figures "^1.3.5"
-    squeak "^1.0.0"
-
-longest@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-
-longest@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/longest/-/longest-2.0.0.tgz#557486e1f7e1dd6557330aa22834dee9a537e40c"
-
-loud-rejection@^1.0.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
-  dependencies:
-    currently-unhandled "^0.4.1"
-    signal-exit "^3.0.0"
-
-lower-case-first@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
-  dependencies:
-    lower-case "^1.1.2"
-
-lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
-
-lowercase-keys@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
-
-lpad-align@^1.0.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.1.tgz#a179e190eeee2b86460f822566f4f3548a31625f"
-  dependencies:
-    get-stdin "^5.0.1"
-    indent-string "^3.0.0"
-    longest "^2.0.0"
-    lpad "^2.0.1"
-    meow "^3.3.0"
-
-lpad@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/lpad/-/lpad-2.0.1.tgz#28316b4e7b2015f511f6591459afc0e5944008ad"
-
-lru-cache@2, lru-cache@2.2.x:
-  version "2.2.4"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
-
-lru-cache@^4.0.1:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
-  dependencies:
-    pseudomap "^1.0.1"
-    yallist "^2.0.0"
-
-macaddress@^0.2.8:
-  version "0.2.8"
-  resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
-
-main-bower-files@2.13.1:
-  version "2.13.1"
-  resolved "https://registry.yarnpkg.com/main-bower-files/-/main-bower-files-2.13.1.tgz#7e1bc5c498352ccecd5df087f13d5f31bc057d3e"
-  dependencies:
-    chalk "^1.0.0"
-    extend "^2.0.1"
-    globby "^2.0.0"
-    multimatch "^2.0.0"
-    path-exists "^1.0.0"
-    strip-json-comments "^1.0.2"
-    vinyl-fs "^2.4.3"
-
-make-dir@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978"
-  dependencies:
-    pify "^2.3.0"
-
-make-error-cause@^1.1.1:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
-  dependencies:
-    make-error "^1.2.0"
-
-make-error@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96"
-
-map-cache@^0.2.0:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
-
-map-obj@^1.0.0, map-obj@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-
-map-stream@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.6.tgz#d2ef4eb811a28644c7a8989985c69c2fdd496827"
-
-map-stream@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
-
-marked-terminal@^1.6.2:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904"
-  dependencies:
-    cardinal "^1.0.0"
-    chalk "^1.1.3"
-    cli-table "^0.3.1"
-    lodash.assign "^4.2.0"
-    node-emoji "^1.4.1"
-
-marked@^0.3.6:
-  version "0.3.6"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"
-
-math-expression-evaluator@^1.2.14:
-  version "1.2.17"
-  resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
-
-media-typer@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-
-mem-fs-editor@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz#dd0a6eaf2bb8a6b37740067aa549eb530105af9f"
-  dependencies:
-    commondir "^1.0.1"
-    deep-extend "^0.4.0"
-    ejs "^2.3.1"
-    glob "^7.0.3"
-    globby "^6.1.0"
-    mkdirp "^0.5.0"
-    multimatch "^2.0.0"
-    rimraf "^2.2.8"
-    through2 "^2.0.0"
-    vinyl "^2.0.1"
-
-mem-fs@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc"
-  dependencies:
-    through2 "^2.0.0"
-    vinyl "^1.1.0"
-    vinyl-file "^2.0.0"
-
-meow@^3.0.0, meow@^3.1.0, meow@^3.3.0, meow@^3.5.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
-  dependencies:
-    camelcase-keys "^2.0.0"
-    decamelize "^1.1.2"
-    loud-rejection "^1.0.0"
-    map-obj "^1.0.1"
-    minimist "^1.1.3"
-    normalize-package-data "^2.3.4"
-    object-assign "^4.0.1"
-    read-pkg-up "^1.0.1"
-    redent "^1.0.0"
-    trim-newlines "^1.0.0"
-
-merge-stream@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
-  dependencies:
-    readable-stream "^2.0.1"
-
-merge@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
-
-micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7:
-  version "2.3.11"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
-  dependencies:
-    arr-diff "^2.0.0"
-    array-unique "^0.2.1"
-    braces "^1.8.2"
-    expand-brackets "^0.1.4"
-    extglob "^0.3.1"
-    filename-regex "^2.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.1"
-    kind-of "^3.0.2"
-    normalize-path "^2.0.1"
-    object.omit "^2.0.0"
-    parse-glob "^3.0.4"
-    regex-cache "^0.4.2"
-
-mime-db@~1.12.0:
-  version "1.12.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
-
-mime-db@~1.27.0:
-  version "1.27.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
-
-mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
-  version "2.1.15"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
-  dependencies:
-    mime-db "~1.27.0"
-
-mime-types@~2.0.4:
-  version "2.0.14"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
-  dependencies:
-    mime-db "~1.12.0"
-
-mime@1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7"
-
-mime@1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
-
-"mime@>= 0.0.1", mime@^1.3.4:
-  version "1.3.6"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0"
-
-"minimatch@2 || 3", minimatch@3.0.x, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-  dependencies:
-    brace-expansion "^1.1.7"
-
-minimatch@^2.0.1:
-  version "2.0.10"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
-  dependencies:
-    brace-expansion "^1.0.0"
-
-minimatch@~0.2.11:
-  version "0.2.14"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
-  dependencies:
-    lru-cache "2"
-    sigmund "~1.0.0"
-
-minimist@0.0.8, minimist@~0.0.1:
-  version "0.0.8"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-mkdirp@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
-
-mkdirp@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12"
-  dependencies:
-    minimist "0.0.8"
-
-mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
-  dependencies:
-    minimist "0.0.8"
-
-modify-filename@^1.0.0, modify-filename@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/modify-filename/-/modify-filename-1.1.0.tgz#9a2dec83806fbb2d975f22beec859ca26b393aa1"
-
-ms@0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-
-ms@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-multimatch@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
-  dependencies:
-    array-differ "^1.0.0"
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    minimatch "^3.0.0"
-
-multipipe@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
-  dependencies:
-    duplexer2 "0.0.2"
-
-mute-stream@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
-
-mute-stream@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
-
-nan@^2.3.0:
-  version "2.6.2"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
-
-natives@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31"
-
-natural-compare-lite@^1.0.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
-
-natural-compare@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-
-ncname@1.0.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
-  dependencies:
-    xml-char-classes "^1.0.0"
-
-negotiator@0.4.9:
-  version "0.4.9"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f"
-
-negotiator@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
-
-ng-annotate@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/ng-annotate/-/ng-annotate-1.2.1.tgz#eb8bc1a6731c70d08af6b02c3eaf1a6e3fb9e6bb"
-  dependencies:
-    acorn "~2.6.4"
-    alter "~0.2.0"
-    convert-source-map "~1.1.2"
-    optimist "~0.6.1"
-    ordered-ast-traverse "~1.1.1"
-    simple-fmt "~0.1.0"
-    simple-is "~0.2.0"
-    source-map "~0.5.3"
-    stable "~0.1.5"
-    stringmap "~0.2.2"
-    stringset "~0.2.1"
-    tryor "~0.1.2"
-
-ng-dependencies@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/ng-dependencies/-/ng-dependencies-0.2.0.tgz#193b5bdca54c386e01076530f4fab78c72a8c5cc"
-  dependencies:
-    esprima "^1.2.2"
-    estraverse "^1.5.1"
-    lodash "^3.0.1"
-
-no-case@^2.2.0:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081"
-  dependencies:
-    lower-case "^1.1.1"
-
-node-emoji@^1.4.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.1.tgz#fd918e412769bf8c448051238233840b2aff16a1"
-  dependencies:
-    string.prototype.codepointat "^0.2.0"
-
-node-notifier@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3"
-  dependencies:
-    cli-usage "^0.1.1"
-    growly "^1.2.0"
-    lodash.clonedeep "^3.0.0"
-    minimist "^1.1.1"
-    semver "^5.1.0"
-    shellwords "^0.1.0"
-    which "^1.0.5"
-
-node-pre-gyp@^0.6.29:
-  version "0.6.34"
-  resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
-  dependencies:
-    mkdirp "^0.5.1"
-    nopt "^4.0.1"
-    npmlog "^4.0.2"
-    rc "^1.1.7"
-    request "^2.81.0"
-    rimraf "^2.6.1"
-    semver "^5.3.0"
-    tar "^2.2.1"
-    tar-pack "^3.4.0"
-
-node-status-codes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
-
-node-uuid@~1.4.3, node-uuid@~1.4.7:
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
-
-node.extend@^1.1.3:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/node.extend/-/node.extend-1.1.6.tgz#a7b882c82d6c93a4863a5504bd5de8ec86258b96"
-  dependencies:
-    is "^3.1.0"
-
-nopt@3.0.x, nopt@3.x, nopt@~3.0.1:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
-  dependencies:
-    abbrev "1"
-
-nopt@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
-  dependencies:
-    abbrev "1"
-    osenv "^0.1.4"
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb"
-  dependencies:
-    hosted-git-info "^2.1.4"
-    is-builtin-module "^1.0.0"
-    semver "2 || 3 || 4 || 5"
-    validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.0.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
-  dependencies:
-    remove-trailing-separator "^1.0.1"
-
-normalize-range@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-
-normalize-url@^1.4.0:
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
-  dependencies:
-    object-assign "^4.0.1"
-    prepend-http "^1.0.0"
-    query-string "^4.1.0"
-    sort-keys "^1.0.0"
-
-npm-keyword@^4.1.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/npm-keyword/-/npm-keyword-4.2.0.tgz#98ffebfdbb1336f27ef5fe1baca0dcacd0acf6c0"
-  dependencies:
-    got "^5.0.0"
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-    registry-url "^3.0.3"
-
-npm-run-path@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
-  dependencies:
-    path-key "^2.0.0"
-
-npmconf@^2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/npmconf/-/npmconf-2.1.2.tgz#66606a4a736f1e77a059aa071a79c94ab781853a"
-  dependencies:
-    config-chain "~1.1.8"
-    inherits "~2.0.0"
-    ini "^1.2.0"
-    mkdirp "^0.5.0"
-    nopt "~3.0.1"
-    once "~1.3.0"
-    osenv "^0.1.0"
-    semver "2 || 3 || 4"
-    uid-number "0.0.5"
-
-npmlog@^2.0.3:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
-  dependencies:
-    ansi "~0.3.1"
-    are-we-there-yet "~1.1.2"
-    gauge "~1.2.5"
-
-npmlog@^4.0.2:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5"
-  dependencies:
-    are-we-there-yet "~1.1.2"
-    console-control-strings "~1.1.0"
-    gauge "~2.7.3"
-    set-blocking "~2.0.0"
-
-nth-check@~1.0.0, nth-check@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
-  dependencies:
-    boolbase "~1.0.0"
-
-null-check@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
-
-num2fraction@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
-
-number-is-nan@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-oauth-sign@~0.8.0, oauth-sign@~0.8.1:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@*, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-assign@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
-
-object-assign@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
-
-object-component@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
-
-object-path@^0.9.0:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5"
-
-object-values@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105"
-
-object.omit@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
-  dependencies:
-    for-own "^0.1.4"
-    is-extendable "^0.1.1"
-
-on-finished@~2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  dependencies:
-    ee-first "1.1.1"
-
-once@1.x, once@^1.3.0, once@^1.3.3:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  dependencies:
-    wrappy "1"
-
-once@~1.3.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
-  dependencies:
-    wrappy "1"
-
-onetime@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
-
-openurl@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a"
-
-opn@4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
-  dependencies:
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-
-opn@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a"
-  dependencies:
-    object-assign "^4.0.1"
-
-optimist@^0.6.1, optimist@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
-  dependencies:
-    minimist "~0.0.1"
-    wordwrap "~0.0.2"
-
-optionator@^0.8.1, optionator@^0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
-  dependencies:
-    deep-is "~0.1.3"
-    fast-levenshtein "~2.0.4"
-    levn "~0.3.0"
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-    wordwrap "~1.0.0"
-
-options@>=0.0.5:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
-
-optipng-bin@^3.0.0:
-  version "3.1.4"
-  resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-orchestrator@^0.3.0:
-  version "0.3.8"
-  resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e"
-  dependencies:
-    end-of-stream "~0.1.5"
-    sequencify "~0.0.7"
-    stream-consume "~0.1.0"
-
-ordered-ast-traverse@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ordered-ast-traverse/-/ordered-ast-traverse-1.1.1.tgz#6843a170bc0eee8b520cc8ddc1ddd3aa30fa057c"
-  dependencies:
-    ordered-esprima-props "~1.1.0"
-
-ordered-esprima-props@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/ordered-esprima-props/-/ordered-esprima-props-1.1.0.tgz#a9827086df5f010aa60e9bd02b6e0335cea2ffcb"
-
-ordered-read-streams@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
-
-ordered-read-streams@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b"
-  dependencies:
-    is-stream "^1.0.1"
-    readable-stream "^2.0.1"
-
-os-filter-obj@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad"
-
-os-homedir@^1.0.0, os-homedir@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-os-locale@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
-  dependencies:
-    lcid "^1.0.0"
-
-os-name@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/os-name/-/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf"
-  dependencies:
-    osx-release "^1.0.0"
-    win-release "^1.0.0"
-
-os-shim@^0.1.2:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
-
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-
-osenv@^0.1.0, osenv@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
-  dependencies:
-    os-homedir "^1.0.0"
-    os-tmpdir "^1.0.0"
-
-osx-release@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/osx-release/-/osx-release-1.1.0.tgz#f217911a28136949af1bf9308b241e2737d3cd6c"
-  dependencies:
-    minimist "^1.1.0"
-
-p-finally@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
-
-p-limit@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
-
-p-locate@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-  dependencies:
-    p-limit "^1.1.0"
-
-p-pipe@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.1.0.tgz#2e9dc7cc57ce67d2ce2db348ca03f28731854075"
-
-package-json@^2.0.0, package-json@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb"
-  dependencies:
-    got "^5.0.0"
-    registry-auth-token "^3.0.1"
-    registry-url "^3.0.3"
-    semver "^5.1.0"
-
-pad-component@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/pad-component/-/pad-component-0.0.1.tgz#ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac"
-
-param-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
-  dependencies:
-    no-case "^2.2.0"
-
-parse-filepath@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73"
-  dependencies:
-    is-absolute "^0.2.3"
-    map-cache "^0.2.0"
-    path-root "^0.1.1"
-
-parse-glob@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
-  dependencies:
-    glob-base "^0.3.0"
-    is-dotfile "^1.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.0"
-
-parse-help@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/parse-help/-/parse-help-0.1.1.tgz#2f4df942e77a5581bba9967c0c3f48e4c66d7dda"
-  dependencies:
-    execall "^1.0.0"
-
-parse-json@^2.1.0, parse-json@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
-  dependencies:
-    error-ex "^1.2.0"
-
-parse-passwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
-
-parsejson@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseqs@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseuri@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseurl@~1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
-
-pascal-case@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
-  dependencies:
-    camel-case "^3.0.0"
-    upper-case-first "^1.1.0"
-
-path-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
-  dependencies:
-    no-case "^2.2.0"
-
-path-dirname@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-
-path-exists@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081"
-
-path-exists@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
-  dependencies:
-    pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-
-path-is-absolute@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-is-inside@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
-
-path-key@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-
-path-parse@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-path-root-regex@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
-
-path-root@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
-  dependencies:
-    path-root-regex "^0.1.0"
-
-path-type@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
-  dependencies:
-    pify "^2.0.0"
-
-pause-stream@0.0.11:
-  version "0.0.11"
-  resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
-  dependencies:
-    through "~2.3"
-
-pend@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
-
-performance-now@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
-
-phantomjs-prebuilt@2.1.12, phantomjs-prebuilt@^2.1.7:
-  version "2.1.12"
-  resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.12.tgz#6bba7da90cc3fa1452dacf4ef83968924717f7f5"
-  dependencies:
-    es6-promise "~3.2.1"
-    extract-zip "~1.5.0"
-    fs-extra "~0.30.0"
-    hasha "~2.2.0"
-    kew "~0.7.0"
-    progress "~1.1.8"
-    request "~2.74.0"
-    request-progress "~2.0.1"
-    which "~1.2.10"
-
-pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-
-pinkie-promise@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
-  dependencies:
-    pinkie "^2.0.0"
-
-pinkie@^2.0.0:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-
-plur@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a"
-  dependencies:
-    irregular-plurals "^1.0.0"
-
-pluralize@4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
-
-pluralize@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
-
-portscanner@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-1.2.0.tgz#b14bbda257d14c310fa9cc09682af02d40961802"
-  dependencies:
-    async "1.5.2"
-
-postcss-calc@^5.2.0:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
-  dependencies:
-    postcss "^5.0.2"
-    postcss-message-helpers "^2.0.0"
-    reduce-css-calc "^1.2.6"
-
-postcss-colormin@^2.1.8:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
-  dependencies:
-    colormin "^1.0.5"
-    postcss "^5.0.13"
-    postcss-value-parser "^3.2.3"
-
-postcss-convert-values@^2.3.4:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
-  dependencies:
-    postcss "^5.0.11"
-    postcss-value-parser "^3.1.2"
-
-postcss-discard-comments@^2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-duplicates@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-discard-empty@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-overridden@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
-  dependencies:
-    postcss "^5.0.16"
-
-postcss-discard-unused@^2.2.1:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
-  dependencies:
-    postcss "^5.0.14"
-    uniqs "^2.0.0"
-
-postcss-filter-plugins@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
-  dependencies:
-    postcss "^5.0.4"
-    uniqid "^4.0.0"
-
-postcss-merge-idents@^2.1.5:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.10"
-    postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-merge-rules@^2.0.3:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
-  dependencies:
-    browserslist "^1.5.2"
-    caniuse-api "^1.5.2"
-    postcss "^5.0.4"
-    postcss-selector-parser "^2.2.2"
-    vendors "^1.0.0"
-
-postcss-message-helpers@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
-
-postcss-minify-font-values@^1.0.2:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
-  dependencies:
-    object-assign "^4.0.1"
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-minify-gradients@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
-  dependencies:
-    postcss "^5.0.12"
-    postcss-value-parser "^3.3.0"
-
-postcss-minify-params@^1.0.4:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.2"
-    postcss-value-parser "^3.0.2"
-    uniqs "^2.0.0"
-
-postcss-minify-selectors@^2.0.4:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
-  dependencies:
-    alphanum-sort "^1.0.2"
-    has "^1.0.1"
-    postcss "^5.0.14"
-    postcss-selector-parser "^2.0.0"
-
-postcss-normalize-charset@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
-  dependencies:
-    postcss "^5.0.5"
-
-postcss-normalize-url@^3.0.7:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
-  dependencies:
-    is-absolute-url "^2.0.0"
-    normalize-url "^1.4.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-
-postcss-ordered-values@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.1"
-
-postcss-reduce-idents@^2.2.2:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-reduce-initial@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-reduce-transforms@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.8"
-    postcss-value-parser "^3.0.1"
-
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
-  dependencies:
-    flatten "^1.0.2"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
-postcss-svgo@^2.1.1:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
-  dependencies:
-    is-svg "^2.0.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-    svgo "^0.7.0"
-
-postcss-unique-selectors@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
-
-postcss-zindex@^2.0.1:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16:
-  version "5.2.17"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b"
-  dependencies:
-    chalk "^1.1.3"
-    js-base64 "^2.1.9"
-    source-map "^0.5.6"
-    supports-color "^3.2.3"
-
-prelude-ls@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-
-prepend-http@^1.0.0, prepend-http@^1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-
-preserve@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-
-pretty-bytes@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-2.0.1.tgz#155ec4d0036f41391e7045d6dbe4963d525d264f"
-  dependencies:
-    get-stdin "^4.0.1"
-    meow "^3.1.0"
-    number-is-nan "^1.0.0"
-
-pretty-bytes@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
-
-pretty-hrtime@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
-
-process-nextick-args@^1.0.6, process-nextick-args@~1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-
-progress@^1.1.8, progress@~1.1.8:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
-
-proto-list@~1.2.1:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-proxy-middleware@0.15.0:
-  version "0.15.0"
-  resolved "https://registry.yarnpkg.com/proxy-middleware/-/proxy-middleware-0.15.0.tgz#a3fdf1befb730f951965872ac2f6074c61477a56"
-
-pseudomap@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-punycode@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-q@^1.1.2:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
-
-qjobs@^1.1.4:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
-
-qs@0.4.x:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f"
-
-qs@6.2.1, qs@~6.2.0:
-  version "6.2.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
-
-qs@6.4.0, "qs@>= 0.4.0", qs@~6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
-
-qs@~5.2.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.1.tgz#801fee030e0b9450d6385adc48a4cc55b44aedfc"
-
-query-string@^4.1.0:
-  version "4.3.4"
-  resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
-  dependencies:
-    object-assign "^4.1.0"
-    strict-uri-encode "^1.0.0"
-
-randexp@0.4.5:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.5.tgz#ffe3a80c3f666cd71e6b008e477e584c1a32ff3e"
-  dependencies:
-    discontinuous-range "1.0.0"
-    ret "~0.1.10"
-
-randomatic@^1.1.3:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
-  dependencies:
-    is-number "^2.0.2"
-    kind-of "^3.0.2"
-
-range-parser@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-
-raw-body@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
-  dependencies:
-    bytes "2.4.0"
-    iconv-lite "0.4.15"
-    unpipe "1.0.0"
-
-rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
-  dependencies:
-    deep-extend "~0.4.0"
-    ini "~1.3.0"
-    minimist "^1.2.0"
-    strip-json-comments "~2.0.1"
-
-read-all-stream@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
-  dependencies:
-    pinkie-promise "^2.0.0"
-    readable-stream "^2.0.0"
-
-read-chunk@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.0.0.tgz#3246e877829116cec059674c4d5f300f7a9261f3"
-  dependencies:
-    pify "^2.3.0"
-
-read-pkg-up@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
-  dependencies:
-    find-up "^1.0.0"
-    read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
-  dependencies:
-    find-up "^2.0.0"
-    read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
-  dependencies:
-    load-json-file "^1.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^1.0.0"
-
-read-pkg@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
-  dependencies:
-    load-json-file "^2.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^2.0.0"
-
-readable-stream@1.1, readable-stream@~1.1.9:
-  version "1.1.13"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.2:
-  version "1.0.34"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2:
-  version "2.2.9"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
-  dependencies:
-    buffer-shims "~1.0.0"
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~1.0.0"
-    util-deprecate "~1.0.1"
-
-readable-stream@~2.0.0, readable-stream@~2.0.5:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~0.10.x"
-    util-deprecate "~1.0.1"
-
-readdirp@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
-  dependencies:
-    graceful-fs "^4.1.2"
-    minimatch "^3.0.2"
-    readable-stream "^2.0.2"
-    set-immediate-shim "^1.0.1"
-
-readline2@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    mute-stream "0.0.5"
-
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
-  dependencies:
-    resolve "^1.1.6"
-
-redent@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
-  dependencies:
-    indent-string "^2.1.0"
-    strip-indent "^1.0.1"
-
-redeyed@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a"
-  dependencies:
-    esprima "~3.0.0"
-
-reduce-css-calc@^1.2.6:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
-  dependencies:
-    balanced-match "^0.4.2"
-    math-expression-evaluator "^1.2.14"
-    reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
-  dependencies:
-    balanced-match "^0.4.2"
-
-regex-cache@^0.4.2:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
-  dependencies:
-    is-equal-shallow "^0.1.3"
-    is-primitive "^2.0.0"
-
-registry-auth-token@^3.0.1:
-  version "3.3.1"
-  resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006"
-  dependencies:
-    rc "^1.1.6"
-    safe-buffer "^5.0.1"
-
-registry-url@^3.0.3:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
-  dependencies:
-    rc "^1.0.1"
-
-relateurl@0.2.x:
-  version "0.2.7"
-  resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
-
-remove-trailing-separator@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
-
-repeat-element@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-
-repeat-string@^0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
-
-repeat-string@^1.5.2:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-
-repeating@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-  dependencies:
-    is-finite "^1.0.0"
-
-replace-ext@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
-
-replace-ext@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-
-replacestream@^4.0.0:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.2.tgz#0c4140707e4f0323f50de044851708cf58bc37bd"
-  dependencies:
-    escape-string-regexp "^1.0.3"
-    object-assign "^4.0.1"
-    readable-stream "^2.0.2"
-
-request-progress@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08"
-  dependencies:
-    throttleit "^1.0.0"
-
-request@2.65.0:
-  version "2.65.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.65.0.tgz#cc1a3bc72b96254734fc34296da322f9486ddeba"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    bl "~1.0.0"
-    caseless "~0.11.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~1.0.0-rc3"
-    har-validator "~2.0.2"
-    hawk "~3.1.0"
-    http-signature "~0.11.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    node-uuid "~1.4.3"
-    oauth-sign "~0.8.0"
-    qs "~5.2.0"
-    stringstream "~0.0.4"
-    tough-cookie "~2.2.0"
-    tunnel-agent "~0.4.1"
-
-request@^2.40.0, request@^2.74.0, request@~2.74.0:
-  version "2.74.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    bl "~1.1.2"
-    caseless "~0.11.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~1.0.0-rc4"
-    har-validator "~2.0.6"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    node-uuid "~1.4.7"
-    oauth-sign "~0.8.1"
-    qs "~6.2.0"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "~0.4.1"
-
-request@^2.81.0:
-  version "2.81.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~4.2.1"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    oauth-sign "~0.8.1"
-    performance-now "^0.2.0"
-    qs "~6.4.0"
-    safe-buffer "^5.0.1"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "^0.6.0"
-    uuid "^3.0.0"
-
-require-directory@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-
-require-main-filename@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-
-require-uncached@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
-  dependencies:
-    caller-path "^0.1.0"
-    resolve-from "^1.0.0"
-
-requires-port@1.x.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
-
-resolve-dir@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e"
-  dependencies:
-    expand-tilde "^1.2.2"
-    global-modules "^0.2.3"
-
-resolve-from@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
-
-resolve@1.1.x:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-
-resolve@^1.1.6, resolve@^1.1.7:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
-  dependencies:
-    path-parse "^1.0.5"
-
-resp-modifier@6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f"
-  dependencies:
-    debug "^2.2.0"
-    minimatch "^3.0.2"
-
-restore-cursor@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
-  dependencies:
-    exit-hook "^1.0.0"
-    onetime "^1.0.0"
-
-ret@~0.1.10:
-  version "0.1.14"
-  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.14.tgz#58c636837b12e161f8a380cf081c6a230fd1664e"
-
-rev-hash@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/rev-hash/-/rev-hash-1.0.0.tgz#96993959ea9bfb1c59b13adf02ac2e34bb373603"
-
-rev-path@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/rev-path/-/rev-path-1.0.0.tgz#d4ccb436ac3370c4607175ce88eafc5c65c5d653"
-  dependencies:
-    modify-filename "^1.0.0"
-
-right-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
-  dependencies:
-    align-text "^0.1.1"
-
-rimraf@2, rimraf@^2.2.0, rimraf@^2.2.6, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
-  dependencies:
-    glob "^7.0.5"
-
-root-check@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/root-check/-/root-check-1.0.0.tgz#c52a794bf0db9fad567536e41898f0c9e0a86697"
-  dependencies:
-    downgrade-root "^1.0.0"
-    sudo-block "^1.1.0"
-
-run-async@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
-  dependencies:
-    once "^1.3.0"
-
-run-async@^2.0.0, run-async@^2.2.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
-  dependencies:
-    is-promise "^2.1.0"
-
-run-sequence@1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb"
-  dependencies:
-    chalk "*"
-    gulp-util "*"
-
-rx-lite@^3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
-
-rx@4.1.0, rx@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
-
-safe-buffer@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
-
-sax@>=0.6.0, sax@~1.2.1:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
-
-seek-bzip@^1.0.3:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
-  dependencies:
-    commander "~2.8.1"
-
-semver-diff@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
-  dependencies:
-    semver "^5.0.3"
-
-semver-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
-
-semver-truncate@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8"
-  dependencies:
-    semver "^5.3.0"
-
-"semver@2 || 3 || 4", semver@^4.0.3, semver@^4.1.0, semver@~4.3.3:
-  version "4.3.6"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
-
-"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-
-send@0.14.1:
-  version "0.14.1"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a"
-  dependencies:
-    debug "~2.2.0"
-    depd "~1.1.0"
-    destroy "~1.0.4"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    etag "~1.7.0"
-    fresh "0.3.0"
-    http-errors "~1.5.0"
-    mime "1.3.4"
-    ms "0.7.1"
-    on-finished "~2.3.0"
-    range-parser "~1.2.0"
-    statuses "~1.3.0"
-
-sentence-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case-first "^1.1.2"
-
-sequencify@~0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
-
-serve-index@1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
-  dependencies:
-    accepts "~1.3.3"
-    batch "0.5.3"
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    http-errors "~1.5.0"
-    mime-types "~2.1.11"
-    parseurl "~1.3.1"
-
-serve-static@1.11.1:
-  version "1.11.1"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805"
-  dependencies:
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    parseurl "~1.3.1"
-    send "0.14.1"
-
-server-destroy@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd"
-
-set-blocking@^2.0.0, set-blocking@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-
-set-value@^0.4.3:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
-  dependencies:
-    extend-shallow "^2.0.1"
-    is-extendable "^0.1.1"
-    is-plain-object "^2.0.1"
-    to-object-path "^0.3.0"
-
-setprototypeof@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
-
-setprototypeof@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
-
-shebang-command@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-  dependencies:
-    shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-shelljs@0.7.7, shelljs@^0.7.0, shelljs@^0.7.5:
-  version "0.7.7"
-  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
-  dependencies:
-    glob "^7.0.0"
-    interpret "^1.0.0"
-    rechoir "^0.6.2"
-
-shellwords@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14"
-
-sigmund@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
-
-signal-exit@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-simple-fmt@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b"
-
-simple-is@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0"
-
-slice-ansi@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
-
-slide@^1.1.5:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
-
-snake-case@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
-  dependencies:
-    no-case "^2.2.0"
-
-sntp@1.x.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
-  dependencies:
-    hoek "2.x.x"
-
-socket.io-adapter@0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f"
-  dependencies:
-    debug "2.2.0"
-    socket.io-parser "2.2.2"
-
-socket.io-client@1.4.6:
-  version "1.4.6"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d"
-  dependencies:
-    backo2 "1.0.2"
-    component-bind "1.0.0"
-    component-emitter "1.2.0"
-    debug "2.2.0"
-    engine.io-client "1.6.9"
-    has-binary "0.1.7"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseuri "0.0.4"
-    socket.io-parser "2.2.6"
-    to-array "0.1.4"
-
-socket.io-client@1.4.8:
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.8.tgz#481b241e73df140ea1a4fb03486a85ad097f5558"
-  dependencies:
-    backo2 "1.0.2"
-    component-bind "1.0.0"
-    component-emitter "1.2.0"
-    debug "2.2.0"
-    engine.io-client "1.6.11"
-    has-binary "0.1.7"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseuri "0.0.4"
-    socket.io-parser "2.2.6"
-    to-array "0.1.4"
-
-socket.io-parser@2.2.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417"
-  dependencies:
-    benchmark "1.0.0"
-    component-emitter "1.1.2"
-    debug "0.7.4"
-    isarray "0.0.1"
-    json3 "3.2.6"
-
-socket.io-parser@2.2.6:
-  version "2.2.6"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99"
-  dependencies:
-    benchmark "1.0.0"
-    component-emitter "1.1.2"
-    debug "2.2.0"
-    isarray "0.0.1"
-    json3 "3.3.2"
-
-socket.io@1.4.7:
-  version "1.4.7"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c"
-  dependencies:
-    debug "2.2.0"
-    engine.io "1.6.10"
-    has-binary "0.1.7"
-    socket.io-adapter "0.4.0"
-    socket.io-client "1.4.6"
-    socket.io-parser "2.2.6"
-
-socket.io@1.4.8:
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.8.tgz#e576f330cd0bed64e55b3fd26df991141884867b"
-  dependencies:
-    debug "2.2.0"
-    engine.io "1.6.11"
-    has-binary "0.1.7"
-    socket.io-adapter "0.4.0"
-    socket.io-client "1.4.8"
-    socket.io-parser "2.2.6"
-
-sort-keys@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
-  dependencies:
-    is-plain-obj "^1.0.0"
-
-sort-on@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/sort-on/-/sort-on-1.3.0.tgz#0dfd5b364b23df7f2acd86985daeb889e1a7c840"
-  dependencies:
-    arrify "^1.0.0"
-    dot-prop "^2.0.0"
-
-source-map@0.4.x, source-map@^0.4.4:
-  version "0.4.4"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
-  version "0.5.6"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
-
-source-map@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
-  dependencies:
-    amdefine ">=0.0.4"
-
-sparkles@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
-
-spawn-sync@^1.0.15:
-  version "1.0.15"
-  resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
-  dependencies:
-    concat-stream "^1.4.7"
-    os-shim "^0.1.2"
-
-spdx-correct@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
-  dependencies:
-    spdx-license-ids "^1.0.2"
-
-spdx-expression-parse@~1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
-
-spdx-license-ids@^1.0.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
-
-split-string@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/split-string/-/split-string-1.0.1.tgz#bcbab3f4152acee3a0d6ab2479c0d2879c3db3ce"
-  dependencies:
-    extend-shallow "^2.0.1"
-
-split@0.3:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
-  dependencies:
-    through "2"
-
-sprintf-js@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-squeak@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3"
-  dependencies:
-    chalk "^1.0.0"
-    console-stream "^0.1.1"
-    lpad-align "^1.0.1"
-
-sshpk@^1.7.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
-  dependencies:
-    asn1 "~0.2.3"
-    assert-plus "^1.0.0"
-    dashdash "^1.12.0"
-    getpass "^0.1.1"
-  optionalDependencies:
-    bcrypt-pbkdf "^1.0.0"
-    ecc-jsbn "~0.1.1"
-    jodid25519 "^1.0.0"
-    jsbn "~0.1.0"
-    tweetnacl "~0.14.0"
-
-stable@~0.1.3, stable@~0.1.5:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.6.tgz#910f5d2aed7b520c6e777499c1f32e139fdecb10"
-
-stat-mode@^0.2.0:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502"
-
-"statuses@>= 1.3.1 < 2", statuses@~1.3.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-
-stream-combiner2@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
-  dependencies:
-    duplexer2 "~0.1.0"
-    readable-stream "^2.0.2"
-
-stream-combiner@*, stream-combiner@~0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
-  dependencies:
-    duplexer "~0.1.1"
-
-stream-consume@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f"
-
-stream-shift@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
-
-stream-throttle@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
-  dependencies:
-    commander "^2.2.0"
-    limiter "^1.0.5"
-
-stream-to-array@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/stream-to-array/-/stream-to-array-2.3.0.tgz#bbf6b39f5f43ec30bc71babcb37557acecf34353"
-  dependencies:
-    any-promise "^1.1.0"
-
-strict-uri-encode@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-
-string-length@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
-  dependencies:
-    strip-ansi "^3.0.0"
-
-string-template@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
-
-string-width@^1.0.0, string-width@^1.0.1, string-width@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    strip-ansi "^3.0.0"
-
-string-width@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
-  dependencies:
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^3.0.0"
-
-string.prototype.codepointat@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78"
-
-string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-stringmap@~0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz#556c137b258f942b8776f5b2ef582aa069d7d1b1"
-
-stringset@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/stringset/-/stringset-0.2.1.tgz#ef259c4e349344377fcd1c913dd2e848c9c042b5"
-
-stringstream@~0.0.4:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-strip-bom-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee"
-  dependencies:
-    first-chunk-stream "^1.0.0"
-    strip-bom "^2.0.0"
-
-strip-bom-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca"
-  dependencies:
-    first-chunk-stream "^2.0.0"
-    strip-bom "^2.0.0"
-
-strip-bom@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
-  dependencies:
-    first-chunk-stream "^1.0.0"
-    is-utf8 "^0.2.0"
-
-strip-bom@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
-  dependencies:
-    is-utf8 "^0.2.0"
-
-strip-bom@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-
-strip-dirs@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0"
-  dependencies:
-    chalk "^1.0.0"
-    get-stdin "^4.0.1"
-    is-absolute "^0.1.5"
-    is-natural-number "^2.0.0"
-    minimist "^1.1.0"
-    sum-up "^1.0.1"
-
-strip-eof@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-
-strip-indent@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
-  dependencies:
-    get-stdin "^4.0.1"
-
-strip-json-comments@^1.0.2:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
-
-strip-json-comments@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-strip-outer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8"
-  dependencies:
-    escape-string-regexp "^1.0.2"
-
-sudo-block@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/sudo-block/-/sudo-block-1.2.0.tgz#cc539bf8191624d4f507d83eeb45b4cea27f3463"
-  dependencies:
-    chalk "^1.0.0"
-    is-docker "^1.0.0"
-    is-root "^1.0.0"
-
-sum-up@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e"
-  dependencies:
-    chalk "^1.0.0"
-
-supports-color@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3:
-  version "3.2.3"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
-  dependencies:
-    has-flag "^1.0.0"
-
-svgo@^0.7.0:
-  version "0.7.2"
-  resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
-  dependencies:
-    coa "~1.0.1"
-    colors "~1.1.2"
-    csso "~2.3.1"
-    js-yaml "~3.7.0"
-    mkdirp "~0.5.1"
-    sax "~1.2.1"
-    whet.extend "~0.9.9"
-
-swap-case@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
-  dependencies:
-    lower-case "^1.1.1"
-    upper-case "^1.1.1"
-
-table@^3.7.8:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
-  dependencies:
-    ajv "^4.7.0"
-    ajv-keywords "^1.0.0"
-    chalk "^1.1.1"
-    lodash "^4.0.0"
-    slice-ansi "0.0.4"
-    string-width "^2.0.0"
-
-tabtab@2.2.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14"
-  dependencies:
-    debug "^2.2.0"
-    inquirer "^1.0.2"
-    lodash.difference "^4.5.0"
-    lodash.uniq "^4.5.0"
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    npmlog "^2.0.3"
-    object-assign "^4.1.0"
-
-tabtab@^1.3.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-1.3.2.tgz#bb9c2ca6324f659fde7634c2caf3c096e1187ca7"
-  dependencies:
-    debug "^2.2.0"
-    inquirer "^1.0.2"
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    npmlog "^2.0.3"
-    object-assign "^4.1.0"
-
-taketalk@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-tar-pack@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
-  dependencies:
-    debug "^2.2.0"
-    fstream "^1.0.10"
-    fstream-ignore "^1.0.5"
-    once "^1.3.3"
-    readable-stream "^2.1.4"
-    rimraf "^2.5.1"
-    tar "^2.2.1"
-    uid-number "^0.0.6"
-
-tar-stream@^1.1.1:
-  version "1.5.4"
-  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016"
-  dependencies:
-    bl "^1.0.0"
-    end-of-stream "^1.0.0"
-    readable-stream "^2.0.0"
-    xtend "^4.0.0"
-
-tar@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
-  dependencies:
-    block-stream "*"
-    fstream "^1.0.2"
-    inherits "2"
-
-tempfile@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
-  dependencies:
-    os-tmpdir "^1.0.0"
-    uuid "^2.0.1"
-
-ternary-stream@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.0.1.tgz#064e489b4b5bf60ba6a6b7bc7f2f5c274ecf8269"
-  dependencies:
-    duplexify "^3.5.0"
-    fork-stream "^0.0.4"
-    merge-stream "^1.0.0"
-    through2 "^2.0.1"
-
-text-table@^0.2.0, text-table@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-
-"textextensions@1 || 2", textextensions@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-1.0.2.tgz#65486393ee1f2bb039a60cbba05b0b68bd9501d2"
-
-tfunk@^3.0.1:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b"
-  dependencies:
-    chalk "^1.1.1"
-    object-path "^0.9.0"
-
-throttleit@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
-
-through2-concurrent@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/through2-concurrent/-/through2-concurrent-1.1.1.tgz#11cb4ea4c9e31bca6e4c1e6dba48d1c728c3524b"
-  dependencies:
-    through2 "^2.0.0"
-
-through2-filter@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
-  dependencies:
-    through2 "~2.0.0"
-    xtend "~4.0.0"
-
-through2@^0.6.0, through2@^0.6.1, through2@^0.6.3:
-  version "0.6.5"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
-  dependencies:
-    readable-stream ">=1.0.33-1 <1.1.0-0"
-    xtend ">=4.0.0 <4.1.0-0"
-
-through2@^2, through2@^2.0.0, through2@^2.0.1, through2@~2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
-  dependencies:
-    readable-stream "^2.1.5"
-    xtend "~4.0.1"
-
-through@2, through@^2.3.4, through@^2.3.6, through@~2.3, through@~2.3.1:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-
-tildify@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
-  dependencies:
-    os-homedir "^1.0.0"
-
-time-stamp@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
-
-timed-out@^3.0.0:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
-
-timed-out@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
-
-title-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.0.3"
-
-titleize@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
-
-tmp@0.0.28, tmp@0.0.x:
-  version "0.0.28"
-  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120"
-  dependencies:
-    os-tmpdir "~1.0.1"
-
-tmp@^0.0.29:
-  version "0.0.29"
-  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
-  dependencies:
-    os-tmpdir "~1.0.1"
-
-to-absolute-glob@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f"
-  dependencies:
-    extend-shallow "^2.0.1"
-
-to-array@0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
-
-to-object-path@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
-  dependencies:
-    kind-of "^3.0.2"
-
-toposort@~0.2.10:
-  version "0.2.12"
-  resolved "https://registry.yarnpkg.com/toposort/-/toposort-0.2.12.tgz#c7d2984f3d48c217315cc32d770888b779491e81"
-
-tough-cookie@^2.0.0, tough-cookie@~2.3.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
-  dependencies:
-    punycode "^1.4.1"
-
-tough-cookie@~2.2.0:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7"
-
-trim-newlines@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
-
-trim-repeated@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21"
-  dependencies:
-    escape-string-regexp "^1.0.2"
-
-tryit@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
-
-tryor@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/tryor/-/tryor-0.1.2.tgz#8145e4ca7caff40acde3ccf946e8b8bb75b4172b"
-
-tunnel-agent@^0.4.0, tunnel-agent@~0.4.1:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
-
-tunnel-agent@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-twig@^0.8.2:
-  version "0.8.9"
-  resolved "https://registry.yarnpkg.com/twig/-/twig-0.8.9.tgz#b1594f002b684e5f029de3e54e87bec4f084b6c2"
-  dependencies:
-    minimatch "3.0.x"
-    walk "2.3.x"
-
-type-check@~0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
-  dependencies:
-    prelude-ls "~1.1.2"
-
-type-is@~1.6.15:
-  version "1.6.15"
-  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
-  dependencies:
-    media-typer "0.3.0"
-    mime-types "~2.1.15"
-
-typedarray@^0.0.6, typedarray@~0.0.5:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-ua-parser-js@0.7.10:
-  version "0.7.10"
-  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f"
-
-uglify-js@2.6.x:
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf"
-  dependencies:
-    async "~0.2.6"
-    source-map "~0.5.1"
-    uglify-to-browserify "~1.0.0"
-    yargs "~3.10.0"
-
-uglify-js@2.7.0, uglify-js@^2.6:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.0.tgz#f021e38ba2ca740860f5bd5c695c2a817345f0ec"
-  dependencies:
-    async "~0.2.6"
-    source-map "~0.5.1"
-    uglify-to-browserify "~1.0.0"
-    yargs "~3.10.0"
-
-uglify-save-license@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1"
-
-uglify-to-browserify@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-
-uid-number@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.5.tgz#5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e"
-
-uid-number@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
-
-ultron@1.0.x:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
-
-unc-path-regex@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
-
-underscore@1.7.x:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
-
-union-value@^0.2.3:
-  version "0.2.4"
-  resolved "https://registry.yarnpkg.com/union-value/-/union-value-0.2.4.tgz#7375152786679057e7b37aa676e83468fc0274f0"
-  dependencies:
-    arr-union "^3.1.0"
-    get-value "^2.0.6"
-    is-extendable "^0.1.1"
-    set-value "^0.4.3"
-
-uniq@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-
-uniqid@^4.0.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
-  dependencies:
-    macaddress "^0.2.8"
-
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-
-unique-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
-
-unique-stream@^2.0.2:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369"
-  dependencies:
-    json-stable-stringify "^1.0.0"
-    through2-filter "^2.0.0"
-
-unpipe@1.0.0, unpipe@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-
-untildify@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0"
-  dependencies:
-    os-homedir "^1.0.0"
-
-unzip-response@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
-
-unzip-response@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
-
-update-notifier@^0.6.0:
-  version "0.6.3"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.6.3.tgz#776dec8daa13e962a341e8a1d98354306b67ae08"
-  dependencies:
-    boxen "^0.3.1"
-    chalk "^1.0.0"
-    configstore "^2.0.0"
-    is-npm "^1.0.0"
-    latest-version "^2.0.0"
-    semver-diff "^2.0.0"
-
-upper-case-first@^1.1.0, upper-case-first@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
-  dependencies:
-    upper-case "^1.1.1"
-
-upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-
-url-parse-lax@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
-  dependencies:
-    prepend-http "^1.0.1"
-
-url-regex@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"
-  dependencies:
-    ip-regex "^1.0.1"
-
-user-home@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
-
-user-home@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
-  dependencies:
-    os-homedir "^1.0.0"
-
-useragent@^2.1.9:
-  version "2.1.13"
-  resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
-  dependencies:
-    lru-cache "2.2.x"
-    tmp "0.0.x"
-
-useref@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/useref/-/useref-1.2.0.tgz#7a9d7beedbce9845cb0d1438c05b3a0fb8621d22"
-
-utf8@2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5"
-
-util-deprecate@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-utils-merge@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
-
-uuid@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-
-uuid@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
-
-v8flags@^2.0.2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
-  dependencies:
-    user-home "^1.1.1"
-
-vali-date@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
-
-validate-npm-package-license@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
-  dependencies:
-    spdx-correct "~1.0.0"
-    spdx-expression-parse "~1.0.0"
-
-vendors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
-
-verror@1.3.6:
-  version "1.3.6"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
-  dependencies:
-    extsprintf "1.0.2"
-
-vinyl-assign@^1.0.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45"
-  dependencies:
-    object-assign "^4.0.1"
-    readable-stream "^2.0.0"
-
-vinyl-file@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-1.3.0.tgz#aa05634d3a867ba91447bedbb34afcb26f44f6e7"
-  dependencies:
-    graceful-fs "^4.1.2"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^1.0.0"
-    vinyl "^1.1.0"
-
-vinyl-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.3.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^2.0.0"
-    vinyl "^1.1.0"
-
-vinyl-fs@^0.3.0:
-  version "0.3.14"
-  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
-  dependencies:
-    defaults "^1.0.0"
-    glob-stream "^3.1.5"
-    glob-watcher "^0.0.6"
-    graceful-fs "^3.0.0"
-    mkdirp "^0.5.0"
-    strip-bom "^1.0.0"
-    through2 "^0.6.1"
-    vinyl "^0.4.0"
-
-vinyl-fs@^2.2.0, vinyl-fs@^2.2.1, vinyl-fs@^2.4.3:
-  version "2.4.4"
-  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239"
-  dependencies:
-    duplexify "^3.2.0"
-    glob-stream "^5.3.2"
-    graceful-fs "^4.0.0"
-    gulp-sourcemaps "1.6.0"
-    is-valid-glob "^0.3.0"
-    lazystream "^1.0.0"
-    lodash.isequal "^4.0.0"
-    merge-stream "^1.0.0"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.0"
-    readable-stream "^2.0.4"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^1.0.0"
-    through2 "^2.0.0"
-    through2-filter "^2.0.0"
-    vali-date "^1.0.0"
-    vinyl "^1.0.0"
-
-vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
-  dependencies:
-    source-map "^0.5.1"
-
-vinyl@^0.4.0, vinyl@^0.4.3:
-  version "0.4.6"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
-  dependencies:
-    clone "^0.2.0"
-    clone-stats "^0.0.1"
-
-vinyl@^0.5.0:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^1.0.0, vinyl@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c"
-  dependencies:
-    clone "^1.0.0"
-    clone-buffer "^1.0.0"
-    clone-stats "^1.0.0"
-    cloneable-readable "^1.0.0"
-    is-stream "^1.1.0"
-    remove-trailing-separator "^1.0.1"
-    replace-ext "^1.0.0"
-
-void-elements@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
-
-walk@2.3.x:
-  version "2.3.9"
-  resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.9.tgz#31b4db6678f2ae01c39ea9fb8725a9031e558a7b"
-  dependencies:
-    foreachasync "^3.0.0"
-
-ware@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4"
-  dependencies:
-    wrap-fn "^0.1.0"
-
-weinre@^2.0.0-pre-I0Z7U9OV:
-  version "2.0.0-pre-I0Z7U9OV"
-  resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813"
-  dependencies:
-    express "2.5.x"
-    nopt "3.0.x"
-    underscore "1.7.x"
-
-whet.extend@~0.9.9:
-  version "0.9.9"
-  resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
-
-which-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
-
-which@^1.0.5, which@^1.1.1, which@^1.2.1, which@^1.2.12, which@^1.2.9, which@~1.2.10:
-  version "1.2.14"
-  resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
-  dependencies:
-    isexe "^2.0.0"
-
-wide-align@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
-  dependencies:
-    string-width "^1.0.2"
-
-widest-line@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c"
-  dependencies:
-    string-width "^1.0.1"
-
-win-release@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209"
-  dependencies:
-    semver "^5.0.1"
-
-window-size@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
-
-window-size@^0.1.2:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
-
-window-size@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
-
-wordwrap@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-
-wordwrap@^1.0.0, wordwrap@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-
-wordwrap@~0.0.2:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
-
-wrap-ansi@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-
-wrap-fn@^0.1.0:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845"
-  dependencies:
-    co "3.1.0"
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-write-file-atomic@^1.1.2:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
-  dependencies:
-    graceful-fs "^4.1.11"
-    imurmurhash "^0.1.4"
-    slide "^1.1.5"
-
-write@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
-  dependencies:
-    mkdirp "^0.5.1"
-
-ws@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9"
-  dependencies:
-    options ">=0.0.5"
-    ultron "1.0.x"
-
-ws@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.0.tgz#c1d6fd1515d3ceff1f0ae2759bf5fd77030aad1d"
-  dependencies:
-    options ">=0.0.5"
-    ultron "1.0.x"
-
-xdg-basedir@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
-  dependencies:
-    os-homedir "^1.0.0"
-
-xml-char-classes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-
-xml2js@0.4.17:
-  version "0.4.17"
-  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868"
-  dependencies:
-    sax ">=0.6.0"
-    xmlbuilder "^4.1.0"
-
-xmlbuilder@8.2.2:
-  version "8.2.2"
-  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
-
-xmlbuilder@^4.1.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
-  dependencies:
-    lodash "^4.0.0"
-
-xmlhttprequest-ssl@1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67"
-
-"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-y18n@^3.2.0, y18n@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
-
-yallist@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-
-yargs-parser@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-3.2.0.tgz#5081355d19d9d0c8c5d81ada908cb4e6d186664f"
-  dependencies:
-    camelcase "^3.0.0"
-    lodash.assign "^4.1.0"
-
-yargs@3.29.0:
-  version "3.29.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c"
-  dependencies:
-    camelcase "^1.2.1"
-    cliui "^3.0.3"
-    decamelize "^1.0.0"
-    os-locale "^1.4.0"
-    window-size "^0.1.2"
-    y18n "^3.2.0"
-
-yargs@5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-5.0.0.tgz#3355144977d05757dbb86d6e38ec056123b3a66e"
-  dependencies:
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    lodash.assign "^4.2.0"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.2"
-    which-module "^1.0.0"
-    window-size "^0.2.0"
-    y18n "^3.2.1"
-    yargs-parser "^3.2.0"
-
-yargs@~3.10.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
-  dependencies:
-    camelcase "^1.0.2"
-    cliui "^2.1.0"
-    decamelize "^1.0.0"
-    window-size "0.1.0"
-
-yauzl@2.4.1, yauzl@^2.2.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
-  dependencies:
-    fd-slicer "~1.0.1"
-
-yeast@0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
-
-yeoman-character@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-character/-/yeoman-character-1.1.0.tgz#90d4b5beaf92759086177015b2fdfa2e0684d7c7"
-  dependencies:
-    supports-color "^3.1.2"
-
-yeoman-doctor@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-doctor/-/yeoman-doctor-2.1.0.tgz#94ab784896a64f53a9fac452d5e9133e2750a236"
-  dependencies:
-    bin-version-check "^2.1.0"
-    chalk "^1.0.0"
-    each-async "^1.1.1"
-    log-symbols "^1.0.1"
-    object-values "^1.0.0"
-    semver "^5.0.3"
-    twig "^0.8.2"
-    user-home "^2.0.0"
-
-yeoman-environment@1.6.6, yeoman-environment@^1.1.0, yeoman-environment@^1.6.1:
-  version "1.6.6"
-  resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671"
-  dependencies:
-    chalk "^1.0.0"
-    debug "^2.0.0"
-    diff "^2.1.2"
-    escape-string-regexp "^1.0.2"
-    globby "^4.0.0"
-    grouped-queue "^0.3.0"
-    inquirer "^1.0.2"
-    lodash "^4.11.1"
-    log-symbols "^1.0.1"
-    mem-fs "^1.1.0"
-    text-table "^0.2.0"
-    untildify "^2.0.0"
-
-yeoman-generator@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-1.1.1.tgz#40c2b4f6cdfbe05e1952fdd72933f0d8925dbdf5"
-  dependencies:
-    async "^2.0.0"
-    chalk "^1.0.0"
-    class-extend "^0.1.0"
-    cli-table "^0.3.1"
-    cross-spawn "^5.0.1"
-    dargs "^5.1.0"
-    dateformat "^2.0.0"
-    debug "^2.1.0"
-    detect-conflict "^1.0.0"
-    error "^7.0.2"
-    find-up "^2.1.0"
-    github-username "^3.0.0"
-    glob "^7.0.3"
-    istextorbinary "^2.1.0"
-    lodash "^4.11.1"
-    mem-fs-editor "^3.0.0"
-    minimist "^1.2.0"
-    mkdirp "^0.5.0"
-    path-exists "^3.0.0"
-    path-is-absolute "^1.0.0"
-    pretty-bytes "^4.0.2"
-    read-chunk "^2.0.0"
-    read-pkg-up "^2.0.0"
-    rimraf "^2.2.0"
-    run-async "^2.0.0"
-    shelljs "^0.7.0"
-    text-table "^0.2.0"
-    through2 "^2.0.0"
-    user-home "^2.0.0"
-    yeoman-environment "^1.1.0"
-
-yo@1.8.5:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/yo/-/yo-1.8.5.tgz#776ab9ec79a7882f8d4f7a9e10214fdab050d928"
-  dependencies:
-    async "^1.0.0"
-    chalk "^1.0.0"
-    cli-list "^0.1.1"
-    configstore "^1.0.0"
-    cross-spawn "^3.0.1"
-    figures "^1.3.5"
-    fullname "^2.0.0"
-    got "^5.0.0"
-    humanize-string "^1.0.0"
-    inquirer "^0.11.0"
-    insight "^0.7.0"
-    lodash "^3.2.0"
-    meow "^3.0.0"
-    npm-keyword "^4.1.0"
-    opn "^3.0.2"
-    package-json "^2.1.0"
-    parse-help "^0.1.1"
-    read-pkg-up "^1.0.1"
-    repeating "^2.0.0"
-    root-check "^1.0.0"
-    sort-on "^1.0.0"
-    string-length "^1.0.0"
-    tabtab "^1.3.0"
-    titleize "^1.0.0"
-    update-notifier "^0.6.0"
-    user-home "^2.0.0"
-    yeoman-character "^1.0.0"
-    yeoman-doctor "^2.0.0"
-    yeoman-environment "^1.6.1"
-    yosay "^1.0.0"
-
-yosay@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/yosay/-/yosay-1.2.1.tgz#9466ef969830e85b474e267b50f7688693ed3b5b"
-  dependencies:
-    ansi-regex "^2.0.0"
-    ansi-styles "^2.0.0"
-    chalk "^1.0.0"
-    cli-boxes "^1.0.0"
-    pad-component "0.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.0"
-    strip-ansi "^3.0.0"
-    taketalk "^1.0.0"
-    wrap-ansi "^2.0.0"
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.angular-cli.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.angular-cli.json
deleted file mode 100644
index cdf88bddf4840c534ddb5974fcb57b3cfa0087ec..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.angular-cli.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
-    "project": {
-        "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
-        "name": "j-hipster-registry"
-    },
-    "apps": [{
-        "root": "src/main/webapp/",
-        "outDir": "target/www/app",
-        "assets": [
-            "content",
-            "favicon.ico"
-        ],
-        "index": "index.html",
-        "main": "app/app.main.ts",
-        "polyfills": "app/polyfills.ts",
-        "test": "",
-        "tsconfig": "../../../tsconfig.json",
-        "prefix": "jhi",
-        "mobile": false,
-        "styles": [
-            "content/scss/vendor.scss",
-            "content/scss/global.scss"
-        ],
-        "scripts": []
-    }],
-    "addons": [],
-    "packages": [],
-    "lint": [{
-            "project": "../../../tsconfig.json"
-        },
-        {
-            "project": "../../../tsconfig-aot.json"
-        }
-    ],
-    "test": {
-        "karma": {
-            "config": "src/test/javascript/karma.conf.js"
-        }
-    },
-    "defaults": {
-        "styleExt": "scss",
-        "prefixInterfaces": false,
-        "inline": {
-            "style": true,
-            "template": false
-        },
-        "spec": {
-            "component": false,
-            "directive": false,
-            "pipe": false,
-            "service": false
-        }
-    },
-    "packageManager": "yarn"
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.editorconfig b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.editorconfig
deleted file mode 100644
index a03599dd0422f3688a5a5cf5a747ed4301c49281..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.editorconfig
+++ /dev/null
@@ -1,24 +0,0 @@
-# EditorConfig helps developers define and maintain consistent
-# coding styles between different editors and IDEs
-# editorconfig.org
-
-root = true
-
-[*]
-
-# Change these settings to your own preference
-indent_style = space
-indent_size = 4
-
-# We recommend you to keep these unchanged
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
-
-[{package,bower}.json]
-indent_style = space
-indent_size = 2
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitattributes b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitattributes
deleted file mode 100644
index 266b4f52e816dfd9f9e661c0878ec0c860b600e0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitattributes
+++ /dev/null
@@ -1,149 +0,0 @@
-# This file is inspired by https://github.com/alexkaratarakis/gitattributes
-#
-# Auto detect text files and perform LF normalization
-# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
-* text=auto
-
-# The above will handle all files NOT found below
-# These files are text and should be normalized (Convert crlf => lf)
-
-*.bat           text eol=crlf
-*.coffee        text
-*.css           text
-*.cql           text
-*.df            text
-*.ejs           text
-*.html          text
-*.java          text
-*.js            text
-*.json          text
-*.less          text
-*.properties    text
-*.sass          text
-*.scss          text
-*.sh            text
-*.sql           text
-*.txt           text
-*.ts            text
-*.xml           text
-*.yaml          text
-*.yml           text
-
-# Documents
-*.doc           diff=astextplain
-*.DOC           diff=astextplain
-*.docx          diff=astextplain
-*.DOCX          diff=astextplain
-*.dot           diff=astextplain
-*.DOT           diff=astextplain
-*.pdf           diff=astextplain
-*.PDF           diff=astextplain
-*.rtf           diff=astextplain
-*.RTF           diff=astextplain
-*.markdown      text
-*.md            text
-*.adoc          text
-*.textile       text
-*.mustache      text
-*.csv           text
-*.tab           text
-*.tsv           text
-*.txt           text
-AUTHORS         text
-CHANGELOG       text
-CHANGES         text
-CONTRIBUTING    text
-COPYING         text
-copyright       text
-*COPYRIGHT*     text
-INSTALL         text
-license         text
-LICENSE         text
-NEWS            text
-readme          text
-*README*        text
-TODO            text
-
-# Graphics
-*.png           binary
-*.jpg           binary
-*.jpeg          binary
-*.gif           binary
-*.tif           binary
-*.tiff          binary
-*.ico           binary
-# SVG treated as an asset (binary) by default. If you want to treat it as text,
-# comment-out the following line and uncomment the line after.
-*.svg           binary
-#*.svg          text
-*.eps           binary
-
-# These files are binary and should be left untouched
-# (binary is a macro for -text -diff)
-*.class         binary
-*.jar           binary
-*.war           binary
-
-## LINTERS
-.csslintrc      text
-.eslintrc       text
-.jscsrc         text
-.jshintrc       text
-.jshintignore   text
-.stylelintrc    text
-
-## CONFIGS
-*.bowerrc       text
-*.conf          text
-*.config        text
-.editorconfig   text
-.gitattributes  text
-.gitconfig      text
-.gitignore      text
-.htaccess       text
-*.npmignore     text
-
-## HEROKU
-Procfile        text
-.slugignore     text
-
-## AUDIO
-*.kar           binary
-*.m4a           binary
-*.mid           binary
-*.midi          binary
-*.mp3           binary
-*.ogg           binary
-*.ra            binary
-
-## VIDEO
-*.3gpp          binary
-*.3gp           binary
-*.as            binary
-*.asf           binary
-*.asx           binary
-*.fla           binary
-*.flv           binary
-*.m4v           binary
-*.mng           binary
-*.mov           binary
-*.mp4           binary
-*.mpeg          binary
-*.mpg           binary
-*.swc           binary
-*.swf           binary
-*.webm          binary
-
-## ARCHIVES
-*.7z            binary
-*.gz            binary
-*.rar           binary
-*.tar           binary
-*.zip           binary
-
-## FONTS
-*.ttf           binary
-*.eot           binary
-*.otf           binary
-*.woff          binary
-*.woff2         binary
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitignore b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitignore
deleted file mode 100644
index 2c1befa4c15f0ecb1912362e1e7452a656f85c66..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.gitignore
+++ /dev/null
@@ -1,142 +0,0 @@
-######################
-# Project Specific
-######################
-/src/main/webapp/content/css/main.css
-/target/www/**
-/src/test/javascript/coverage/
-/src/test/javascript/PhantomJS*/
-
-######################
-# Node
-######################
-/node/
-node_tmp/
-node_modules/
-npm-debug.log.*
-
-######################
-# SASS
-######################
-.sass-cache/
-
-######################
-# Eclipse
-######################
-*.pydevproject
-.project
-.metadata
-tmp/
-tmp/**/*
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.classpath
-.settings/
-.loadpath
-.factorypath
-/src/main/resources/rebel.xml
-
-# External tool builders
-.externalToolBuilders/**
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# CDT-specific
-.cproject
-
-# PDT-specific
-.buildpath
-
-######################
-# Intellij
-######################
-.idea/
-*.iml
-*.iws
-*.ipr
-*.ids
-*.orig
-
-######################
-# Visual Studio Code
-######################
-.vscode/
-
-######################
-# Maven
-######################
-/log/
-/target/
-
-######################
-# Gradle
-######################
-.gradle/
-/build/
-
-######################
-# Package Files
-######################
-*.jar
-*.war
-*.ear
-*.db
-
-######################
-# Windows
-######################
-# Windows image file caches
-Thumbs.db
-
-# Folder config file
-Desktop.ini
-
-######################
-# Mac OSX
-######################
-.DS_Store
-.svn
-
-# Thumbnails
-._*
-
-# Files that might appear on external disk
-.Spotlight-V100
-.Trashes
-
-######################
-# Directories
-######################
-/bin/
-/deploy/
-
-######################
-# Logs
-######################
-*.log
-
-######################
-# Others
-######################
-*.class
-*.*~
-*~
-.merge_file*
-
-######################
-# Gradle Wrapper
-######################
-!gradle/wrapper/gradle-wrapper.jar
-
-######################
-# Maven Wrapper
-######################
-!.mvn/wrapper/maven-wrapper.jar
-
-######################
-# ESLint
-######################
-.eslintcache
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.jar b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 5fd4d5023f1463b5ba3970e33c460c1eb26d748d..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.properties b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index c315043703752ef4d11cf7d93f2c324852b2ebff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.travis.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.travis.yml
deleted file mode 100644
index 23873b809a67ac14ea13b73142ad874b8ac53c77..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.travis.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-os:
-  - linux
-services:
-  - docker
-install:
-  - docker build -t jhipster/jhipster-registry:travis .
-  - docker images
-  - docker run --name jhipster-registry -p 8761:8761 -d -t jhipster/jhipster-registry:travis
-script:
-  - sleep 30
-  - docker ps
-  - docker logs jhipster-registry
-  - curl -v http://localhost:8761
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.yo-rc.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.yo-rc.json
deleted file mode 100644
index 4fc8b0fb45cb73dcac66d84b30f74daef250aeb1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/.yo-rc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "generator-jhipster": {
-    "jhipsterVersion": "4.3.0",
-    "baseName": "JHipsterRegistry",
-    "packageName": "io.github.jhipster.registry",
-    "packageFolder": "io/github/jhipster/registry",
-    "serverPort": "8761",
-    "authenticationType": "jwt",
-    "hibernateCache": "no",
-    "clusteredHttpSession": false,
-    "websocket": false,
-    "databaseType": "no",
-    "devDatabaseType": "no",
-    "prodDatabaseType": "no",
-    "searchEngine": false,
-    "messageBroker": false,
-    "serviceDiscoveryType": "eureka",
-    "buildTool": "maven",
-    "enableSocialSignIn": false,
-    "jwtSecretKey": "c9d37cefc48581919939d587c750ea215020765b",
-    "useSass": true,
-    "enableTranslation": false,
-    "applicationType": "gateway",
-    "testFrameworks": [],
-    "jhiPrefix": "jhi",
-    "skipClient": false,
-    "skipUserManagement": false,
-    "clientPackageManager": "yarn",
-    "clientFramework": "angular2"
-  }
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Dockerfile b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Dockerfile
deleted file mode 100644
index bc5b555638a3c339544d3c902889dd36e70dd7a8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Dockerfile
+++ /dev/null
@@ -1,30 +0,0 @@
-FROM openjdk:8
-
-# Add jhipster-registry source
-ADD . /code/
-
-# GBE added to solve the problem of the "could not find or load main class org.apache.maven.wrapper.MavenWrapperMain"
-RUN \ 
-    apt-get update && \
-    apt-get install -y maven && \
-    rm -rf /var/lib/apt/lists/*  
-    
-# Package the application and delete all lib
-RUN \
-    cd /code/ && \
-    rm -Rf target node_modules && \
-    chmod +x /code/mvnw && \
-    sleep 1 && \
-    mvn -N io.takari:maven:wrapper && \
-    ./mvnw package -Pprod -DskipTests && \
-    mv /code/target/*.war /jhipster-registry.war && \
-    rm -Rf /code/ /root/.m2 /root/.cache /tmp/*
-
-EXPOSE 8761
-
-ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
-    SPRING_PROFILES_ACTIVE=prod,native \
-    GIT_URI=https://github.com/jhipster/jhipster-registry/ \
-    GIT_SEARCH_PATHS=central-config
-
-CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/jhipster-registry.war","--spring.cloud.config.server.git.uri=${GIT_URI}","--spring.cloud.config.server.git.search-paths=${GIT_SEARCH_PATHS}"]
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/LICENSE.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/LICENSE.txt
deleted file mode 100644
index 5c32d933b8467bbe9cc0ee0483672875bd7153df..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/LICENSE.txt
+++ /dev/null
@@ -1,204 +0,0 @@
-
-    Copyright 2015-2017 Julien Dubois and the respective JHipster contributors
-
-                                 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.
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/NOTICE b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/NOTICE
deleted file mode 100644
index 109549a2688976358d9d3b16468b928c31f31f61..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/NOTICE
+++ /dev/null
@@ -1,4 +0,0 @@
-JHipster
-Copyright 2015-2017 the original authors from the JHipster project.
-
-For more information on the JHipster project, see https://jhipster.github.io/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Procfile b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Procfile
deleted file mode 100644
index 14e1f0da4d7f0dfd381b6c0c26e1970b43bc7014..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/Procfile
+++ /dev/null
@@ -1 +0,0 @@
-web: java $JAVA_OPTS -jar target/*.war --spring.profiles.active=prod,native,heroku --server.port=$PORT --security.user.password=${JHIPSTER_PASSWORD:-"password"} --eureka.password=${JHIPSTER_PASSWORD:-"password"}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/README.md b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/README.md
deleted file mode 100644
index 2512f34b1f884f685d63b3914b42671e7dddf8a7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# JHipster Registry
-
-[![Build Status][travis-image]][travis-url]
-
-This is the [JHipster](http://jhipster.github.io/) registry service, based on [Spring Cloud Netflix](http://cloud.spring.io/spring-cloud-netflix/), [Eureka](https://github.com/Netflix/eureka) and [Spring Cloud Config](http://cloud.spring.io/spring-cloud-config/).
-
-Full documentation is available on the [JHipster documentation for microservices](http://jhipster.github.io/microservices-architecture).
-
-## Deploy to Heroku
-
-Click this button to deploy your own instance of the registry:
-
-[![Deploy to Heroku](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)
-
-There are a few limitations when deploying to Heroku.
-
-* The registry will only work with [native configuration](http://jhipster.github.io/microservices-architecture/#application-configuration-with-the-jhipster-registry) (and not Git config).
-* The registry service cannot be scaled up to multiple dynos to provide redundancy. You must deploy multiple applications (i.e. click the button more than once). This is because Eureka requires distinct URLs to synchronize in-memory state between instances.
-
-[travis-image]: https://travis-ci.org/jhipster/jhipster-registry.svg?branch=master
-[travis-url]: https://travis-ci.org/jhipster/jhipster-registry
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/app.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/app.json
deleted file mode 100644
index d14b87ddafb955715fb4d58ea79f041a2a38c9fb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/app.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "name": "JHipster Registry",
-  "description": "This is the JHipster registry service, based on Spring Cloud Netflix, Eureka and Spring Cloud Config.",
-  "logo": "https://jhipster.github.io/images/logo/logo-jhipster-drink-coffee.png",
-  "env": {
-    "JHIPSTER_PASSWORD": {
-      "description": "Admin password for the registry (used to login after clicking 'View App'). Must be at least 5 characters.",
-      "required": "true"
-    },
-    "JAVA_OPTS": {
-      "description": "Java runtime options.",
-      "value": "-Xmx256m -Xss512k -Dfile.encoding=UTF-8"
-    },
-    "MAVEN_CUSTOM_OPTS": {
-        "description": "Options for the Maven build.",
-        "value": "-Pprod,heroku -DskipTests"
-    },
-    "NPM_CONFIG_PRODUCTION": {
-        "description": "Set to false to install devDependencies",
-        "value": "false"
-    }
-  },
-  "buildpacks": [
-    {"url": "heroku/nodejs"},
-    {"url": "heroku/java"}
-  ]
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/central-config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/central-config/application.yml
deleted file mode 100644
index 559bf4998b94dfb1b4a717b5eb0c380767e2f834..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/central-config/application.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-# ===================================================================
-# JHipster Sample Spring Cloud Config.
-# ===================================================================
-
-# Property used on app startup to check the config server status
-configserver:
-    name: JHipster Registry config server
-    status: Connected to the JHipster Registry config server!
-
-# Default JWT secret token (to be changed in production!)
-jhipster:
-    security:
-        authentication:
-            jwt:
-                secret: my-secret-token-to-change-in-production
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw
deleted file mode 100644
index a1ba1bf554bb63c401f90c6a472c21470ed4e164..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you 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.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven2 Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
-  if [ -f /etc/mavenrc ] ; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ] ; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-  MINGW*) mingw=true;;
-  Darwin*) darwin=true
-           #
-           # Look for the Apple JDKs first to preserve the existing behaviour, and then look
-           # for the new JDKs provided by Oracle.
-           #
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
-             #
-             # Oracle JDKs
-             #
-             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
-           fi
-
-           if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
-             #
-             # Apple JDKs
-             #
-             export JAVA_HOME=`/usr/libexec/java_home`
-           fi
-           ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
-  if [ -r /etc/gentoo-release ] ; then
-    JAVA_HOME=`java-config --jre-home`
-  fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Migwn, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-  # TODO classpath?
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="`which javac`"
-  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=`which readlink`
-    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
-      if $darwin ; then
-        javaHome="`dirname \"$javaExecutable\"`"
-        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
-      else
-        javaExecutable="`readlink -f \"$javaExecutable\"`"
-      fi
-      javaHome="`dirname \"$javaExecutable\"`"
-      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
-  if [ -n "$JAVA_HOME"  ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="`which java`"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
-fi
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-  local basedir=$(pwd)
-  local wdir=$(pwd)
-  while [ "$wdir" != '/' ] ; do
-    if [ -d "$wdir"/.mvn ] ; then
-      basedir=$wdir
-      break
-    fi
-    wdir=$(cd "$wdir/.."; pwd)
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' < "$1")"
-  fi
-}
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} "$@"
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw.cmd b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw.cmd
deleted file mode 100644
index 2b934e89dd1d9872b747047fa696477264a86ad8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/mvnw.cmd
+++ /dev/null
@@ -1,145 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements.  See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership.  The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License.  You may obtain a copy of the License at
-@REM
-@REM    http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied.  See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven2 Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-set MAVEN_CMD_LINE_ARGS=%*
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-
-set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/package.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/package.json
deleted file mode 100644
index a346d5495fd1c893437ec3f122e5a2284900081a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/package.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
-  "name": "jhipster-registry",
-  "version": "3.0.1",
-  "description": "JHipster service registry, made with Netflix Eureka and Spring Cloud Config",
-  "private": true,
-  "cacheDirectories": [
-    "node_modules"
-  ],
-  "dependencies": {
-    "@angular/common": "4.0.0",
-    "@angular/compiler": "4.0.0",
-    "@angular/core": "4.0.0",
-    "@angular/forms": "4.0.0",
-    "@angular/http": "4.0.0",
-    "@angular/platform-browser": "4.0.0",
-    "@angular/platform-browser-dynamic": "4.0.0",
-    "@angular/router": "4.0.0",
-    "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.23",
-    "angular2-cookie": "1.2.6",
-    "bootstrap": "4.0.0-alpha.6",
-    "bower": "^1.8.0",
-    "core-js": "2.4.1",
-    "font-awesome": "4.7.0",
-    "jquery": "3.2.1",
-    "ng-jhipster": "0.1.12",
-    "ng2-webstorage": "1.6.2",
-    "ngx-infinite-scroll": "0.4.1",
-    "reflect-metadata": "0.1.10",
-    "rxjs": "5.3.0",
-    "swagger-ui": "2.2.10",
-    "tether": "1.4.0",
-    "zone.js": "0.8.5"
-  },
-  "devDependencies": {
-    "@angular/cli": "1.0.0",
-    "@angular/compiler-cli": "4.0.0",
-    "@types/jasmine": "2.5.47",
-    "@types/node": "7.0.12",
-    "add-asset-html-webpack-plugin": "1.0.2",
-    "angular2-template-loader": "0.6.2",
-    "awesome-typescript-loader": "3.1.2",
-    "browser-sync": "2.18.8",
-    "browser-sync-webpack-plugin": "1.1.4",
-    "codelyzer": "2.1.1",
-    "copy-webpack-plugin": "4.0.0",
-    "css-loader": "0.28.0",
-    "del": "2.2.2",
-    "event-stream": "3.3.4",
-    "exports-loader": "0.6.4",
-    "extract-text-webpack-plugin": "2.1.0",
-    "file-loader": "0.11.1",
-    "generator-jhipster": "4.3.0",
-    "html-loader": "0.4.5",
-    "html-webpack-plugin": "2.28.0",
-    "jasmine-core": "2.5.2",
-    "karma": "1.6.0",
-    "karma-chrome-launcher": "2.0.0",
-    "karma-coverage": "1.1.1",
-    "karma-intl-shim": "1.0.3",
-    "karma-jasmine": "1.1.0",
-    "karma-junit-reporter": "1.2.0",
-    "karma-notify-reporter": "1.0.1",
-    "karma-phantomjs-launcher": "1.0.4",
-    "karma-remap-istanbul": "0.6.0",
-    "karma-sourcemap-loader": "0.3.7",
-    "karma-webpack": "2.0.3",
-    "lazypipe": "1.0.1",
-    "lodash": "4.17.4",
-    "map-stream": "0.0.7",
-    "node-sass": "4.5.0",
-    "phantomjs-prebuilt": "2.1.14",
-    "postcss-loader": "1.3.0",
-    "proxy-middleware": "0.15.0",
-    "rimraf": "2.6.1",
-    "run-sequence": "1.2.2",
-    "sass-loader": "5.0.1",
-    "sourcemap-istanbul-instrumenter-loader": "0.2.0",
-    "string-replace-webpack-plugin": "0.1.3",
-    "style-loader": "0.16.1",
-    "to-string-loader": "1.1.5",
-    "tslint": "4.5.1",
-    "tslint-loader": "3.5.2",
-    "typescript": "2.2.2",
-    "webpack": "2.3.3",
-    "webpack-dev-server": "2.4.2",
-    "webpack-merge": "4.1.0",
-    "webpack-notifier": "1.5.0",
-    "webpack-visualizer-plugin": "0.1.11",
-    "write-file-webpack-plugin": "3.4.2",
-    "xml2js": "0.4.17",
-    "yargs": "6.6.0"
-  },
-  "engines": {
-    "node": ">=6.9.0"
-  },
-  "scripts": {
-    "lint": "tslint 'src/main/webapp/app/**/*.ts'",
-    "lint:fix": "tslint 'src/main/webapp/app/**/*.ts' --fix",
-    "tsc": "tsc",
-    "tsc:w": "tsc -w",
-    "ngc": "ngc -p tsconfig-aot.json",
-    "cleanup": "rimraf target/",
-    "start": "yarn run webpack:dev",
-    "webpack:build": "yarn run ngc && webpack --config webpack/webpack.vendor.js && webpack --config webpack/webpack.dev.js",
-    "webpack:build:dev": "webpack --config webpack/webpack.dev.js",
-    "webpack:build:vendor": "webpack --config webpack/webpack.vendor.js",
-    "webpack:dev": "webpack-dev-server --config webpack/webpack.dev.js  --progress --inline --hot --profile --port=9060",
-    "webpack:test": "yarn run ngc && yarn run test",
-    "webpack:prod": "yarn run ngc && webpack -p --config webpack/webpack.vendor.js && webpack -p --config webpack/webpack.prod.js",
-    "test": "yarn run lint && karma start src/test/javascript/karma.conf.js",
-    "test:watch": "karma start --watch",
-    "postinstall": "yarn run webpack:build"
-  }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/pom.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/pom.xml
deleted file mode 100644
index a5c7818b4cd1a48c626bc5739d9439e99ed10569..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/pom.xml
+++ /dev/null
@@ -1,891 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <groupId>org.springframework.boot</groupId>
-        <version>1.5.2.RELEASE</version>
-        <relativePath/>
-    </parent>
-
-    <groupId>io.github.jhipster.registry</groupId>
-    <artifactId>jhipster-registry</artifactId>
-    <version>3.0.1</version>
-    <packaging>war</packaging>
-    <name>JHipster Registry</name>
-    <description>JHipster service registry, made with Netflix Eureka and Spring Cloud Config</description>
-
-    <properties>
-        <argLine>-Djava.security.egd=file:/dev/./urandom -Xmx256m</argLine>
-        <assertj.version>3.6.2</assertj.version>
-        <awaitility.version>2.0.0</awaitility.version>
-        <commons-codec.version>1.10</commons-codec.version>
-        <commons-io.version>2.5</commons-io.version>
-        <commons-lang.version>3.5</commons-lang.version>
-        <docker-maven-plugin.version>0.4.13</docker-maven-plugin.version>
-        <!-- Overridden to get metrics-jcache -->
-        <dropwizard-metrics.version>3.2.2</dropwizard-metrics.version>
-        <frontend-maven-plugin.version>1.3</frontend-maven-plugin.version>
-        <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
-        <java.version>1.8</java.version>
-        <jhipster.server.version>1.1.2</jhipster.server.version>
-        <jjwt.version>0.7.0</jjwt.version>
-        <logstash-logback-encoder.version>4.9</logstash-logback-encoder.version>
-        <lz4.version>1.3.0</lz4.version>
-        <m2e.apt.activation>jdt_apt</m2e.apt.activation>
-        <mapstruct.version>1.1.0.Final</mapstruct.version>
-        <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
-        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
-        <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
-        <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
-        <maven.compiler.source>${java.version}</maven.compiler.source>
-        <maven.compiler.target>${java.version}</maven.compiler.target>
-        <maven.version>3.0.0</maven.version>
-        <metrics-spring.version>3.1.3</metrics-spring.version>
-        <node.version>v6.10.0</node.version>
-
-        <prometheus-simpleclient.version>0.0.20</prometheus-simpleclient.version>
-        <!-- Sonar properties -->
-        <project.testresult.directory>${project.build.directory}/test-results</project.testresult.directory>
-        <run.addResources>false</run.addResources>
-        <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
-        <scala.version>2.12.1</scala.version>
-        <sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
-
-        <sonar.exclusions>src/main/webapp/content/**/*.*, src/main/webapp/bower_components/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.*</sonar.exclusions>
-
-        <sonar.issue.ignore.multicriteria>S3437,UndocumentedApi,BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria>
-
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is recommended by http://fontawesome.io/examples/ -->
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>src/main/webapp/app/**/*.*</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>
-        <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>Web:BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>
-        <!-- Rule https://sonarqube.com/coding_rules#rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient -->
-        <sonar.issue.ignore.multicriteria.S3437.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.S3437.resourceKey>
-        <sonar.issue.ignore.multicriteria.S3437.ruleKey>squid:S3437</sonar.issue.ignore.multicriteria.S3437.ruleKey>
-        <!-- Rule http://sonarqube.com/coding_rules#rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory -->
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>
-        <sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>squid:UndocumentedApi</sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>
-
-        <sonar.jacoco.itReportPath>${project.testresult.directory}/coverage/jacoco/jacoco-it.exec</sonar.jacoco.itReportPath>
-        <sonar.jacoco.reportPath>${project.testresult.directory}/coverage/jacoco/jacoco.exec</sonar.jacoco.reportPath>
-        <sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
-
-        <sonar.javascript.jstestdriver.reportsPath>${project.testresult.directory}/karma</sonar.javascript.jstestdriver.reportsPath>
-        <!-- For Sonar < 6.2 -->
-        <sonar.javascript.lcov.reportPath>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPath>
-        <!-- For Sonar >= 6.2 -->
-        <sonar.javascript.lcov.reportPaths>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPaths>
-
-        <sonar.sources>${project.basedir}/src/main/</sonar.sources>
-        <sonar.surefire.reportsPath>${project.testresult.directory}/surefire-reports</sonar.surefire.reportsPath>
-        <sonar.tests>${project.basedir}/src/test/</sonar.tests>
-
-        <!-- Spring properties -->
-        <spring-cloud.version>Camden.SR6</spring-cloud.version>
-        <springfox.version>2.6.1</springfox.version>
-        <undertow.version>1.4.10.Final</undertow.version>
-        <validation-api.version>1.1.0.Final</validation-api.version>
-        <yarn.version>v0.21.3</yarn.version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.cloud</groupId>
-                <artifactId>spring-cloud-dependencies</artifactId>
-                <version>${spring-cloud.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.github.jhipster</groupId>
-            <artifactId>jhipster</artifactId>
-            <version>${jhipster.server.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-annotation</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-json</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-jvm</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlet</artifactId>
-            <version>${dropwizard-metrics.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.dropwizard.metrics</groupId>
-            <artifactId>metrics-servlets</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hppc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-json-org</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <version>${awaitility.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.jayway.jsonpath</groupId>
-            <artifactId>json-path</artifactId>
-            <scope>test</scope>
-            <!-- parent POM declares this dependency in default (compile) scope -->
-        </dependency>
-        <dependency>
-            <groupId>com.ryantenney.metrics</groupId>
-            <artifactId>metrics-spring</artifactId>
-            <version>${metrics-spring.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>${commons-codec.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons-io.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>${commons-lang.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>net.jpountz.lz4</groupId>
-            <artifactId>lz4</artifactId>
-            <version>${lz4.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-jdk8</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-
-        <!-- SPRING -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-loader-tools</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-aop</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-mail</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.jsonwebtoken</groupId>
-            <artifactId>jjwt</artifactId>
-            <version>${jjwt.version}</version>
-        </dependency>
-        <!-- Spring Cloud -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-zuul</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-ribbon</artifactId>
-            <!-- netty's native is pulled, but is useless unless you explicitly add the native binary dependency.
-                 Having it in the classpath without the binary can cause warnings -->
-            <exclusions>
-                <exclusion>
-                    <groupId>io.netty</groupId>
-                    <artifactId>netty-transport-native-epoll</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-hystrix</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-spectator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.retry</groupId>
-            <artifactId>spring-retry</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-eureka-server</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-config</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-config-server</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>${logstash-logback-encoder.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-classic</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>ch.qos.logback</groupId>
-                    <artifactId>logback-access</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cloud-connectors</artifactId>
-        </dependency>
-        <!-- security -->
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-data</artifactId>
-        </dependency>
-        <!-- jhipster-needle-maven-add-dependency -->
-    </dependencies>
-    <build>
-        <defaultGoal>spring-boot:run</defaultGoal>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>${maven-compiler-plugin.version}</version>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${mapstruct.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-eclipse-plugin</artifactId>
-                <configuration>
-                    <downloadSources>true</downloadSources>
-                    <downloadJavadocs>true</downloadJavadocs>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>${maven-enforcer-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>enforce-versions</id>
-                        <goals>
-                            <goal>enforce</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <rules>
-                        <requireMavenVersion>
-                            <message>You are running an older version of Maven. JHipster requires at least Maven ${maven.version}</message>
-                            <version>[${maven.version},)</version>
-                        </requireMavenVersion>
-                        <requireJavaVersion>
-                            <message>You are running an older version of Java. JHipster requires at least JDK ${java.version}</message>
-                            <version>[${java.version}.0,)</version>
-                        </requireJavaVersion>
-                    </rules>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven-resources-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>default-resources</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>target/classes</outputDirectory>
-                            <useDefaultDelimiters>false</useDefaultDelimiters>
-                            <delimiters>
-                                <delimiter>#</delimiter>
-                            </delimiters>
-                            <resources>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>true</filtering>
-                                    <includes>
-                                        <include>**/*.xml</include>
-                                        <include>**/*.yml</include>
-                                    </includes>
-                                </resource>
-                                <resource>
-                                    <directory>src/main/resources/</directory>
-                                    <filtering>false</filtering>
-                                    <excludes>
-                                        <exclude>**/*.xml</exclude>
-                                        <exclude>**/*.yml</exclude>
-                                    </excludes>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <!-- Force alphabetical order to have a reproducible build -->
-                    <runOrder>alphabetical</runOrder>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco-maven-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>pre-unit-tests</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Sets the path to the file which contains the execution data. -->
-                            <destFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</destFile>
-                        </configuration>
-                    </execution>
-                    <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
-                    <execution>
-                        <id>post-unit-test</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                        <configuration>
-                            <dataFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</dataFile>
-                            <outputDirectory>${project.testresult.directory}/coverage/jacoco</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.sonarsource.scanner.maven</groupId>
-                <artifactId>sonar-maven-plugin</artifactId>
-                <version>${sonar-maven-plugin.version}</version>
-            </plugin>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <executable>true</executable>
-                    <fork>true</fork>
-                    <!--
-                    Enable the line below to have remote debugging of your application on port 5005
-                    <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                    -->
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>com.spotify</groupId>
-                <artifactId>docker-maven-plugin</artifactId>
-                <version>${docker-maven-plugin.version}</version>
-                <configuration>
-                    <imageName>jhipsterregistry</imageName>
-                    <dockerDirectory>src/main/docker</dockerDirectory>
-                    <resources>
-                        <resource>
-                            <targetPath>/</targetPath>
-                            <directory>${project.build.directory}</directory>
-                            <include>${project.build.finalName}.war</include>
-                        </resource>
-                    </resources>
-                </configuration>
-            </plugin>
-            <!-- jhipster-needle-maven-add-plugin -->
-        </plugins>
-        <pluginManagement>
-            <plugins>
-                <!--
-                    This plugin's configuration is used to store Eclipse m2e settings only.
-                    It has no influence on the Maven build itself.
-                    Remove when the m2e plugin can correctly bind to Maven lifecycle
-                -->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>1.0.0</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.jacoco</groupId>
-                                        <artifactId>
-                                            jacoco-maven-plugin
-                                        </artifactId>
-                                        <versionRange>
-                                            ${jacoco-maven-plugin.version}
-                                        </versionRange>
-                                        <goals>
-                                            <goal>prepare-agent</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>com.github.eirslett</groupId>
-                                        <artifactId>frontend-maven-plugin</artifactId>
-                                        <versionRange>${frontend-maven-plugin.version}</versionRange>
-                                        <goals>
-                                            <goal>install-node-and-yarn</goal>
-                                            <goal>yarn</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-    <profiles>
-        <profile>
-            <id>webpack</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>com.github.eirslett</groupId>
-                        <artifactId>frontend-maven-plugin</artifactId>
-                        <version>${frontend-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>install node and yarn</id>
-                                <goals>
-                                    <goal>install-node-and-yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <nodeVersion>${node.version}</nodeVersion>
-                                    <yarnVersion>${yarn.version}</yarnVersion>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>webpack build dev</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <phase>generate-resources</phase>
-                                <configuration>
-                                    <arguments>run webpack:build:dev</arguments>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>dev</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>src/main/webapp/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <id>prod</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-clean-plugin</artifactId>
-                        <configuration>
-                            <filesets>
-                                <fileset>
-                                    <directory>target/www/</directory>
-                                </fileset>
-                            </filesets>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>target/www/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>build-info</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>com.github.eirslett</groupId>
-                        <artifactId>frontend-maven-plugin</artifactId>
-                        <version>${frontend-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>install node and yarn</id>
-                                <goals>
-                                    <goal>install-node-and-yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <nodeVersion>${node.version}</nodeVersion>
-                                    <yarnVersion>${yarn.version}</yarnVersion>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>yarn install</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <configuration>
-                                    <arguments>install --force</arguments>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>webpack build test</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <phase>test</phase>
-                                <configuration>
-                                    <arguments>run webpack:test</arguments>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>webpack build prod</id>
-                                <goals>
-                                    <goal>yarn</goal>
-                                </goals>
-                                <phase>generate-resources</phase>
-                                <configuration>
-                                    <arguments>run webpack:prod</arguments>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>INFO</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>prod</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for doing "continuous compilation" with the Scala Maven plugin.
-                It allows automatic compilation of Java classes as soon as they are saved.
-                To use it, run in 3 terminals:
-                - './mvnw -Pcc scala:cc' for continous compilation of your classes
-                - './mvnw -Pcc' for hot reload of Spring boot
-                - 'gulp' for hot reload of the HTML/JavaScript assets
-                Everything should hot reload automatically!
-            -->
-            <id>cc</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-undertow</artifactId>
-                </dependency>
-                <dependency>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-devtools</artifactId>
-                    <optional>true</optional>
-                </dependency>
-            </dependencies>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-war-plugin</artifactId>
-                        <configuration>
-                            <warSourceDirectory>src/main/webapp/</warSourceDirectory>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.springframework.boot</groupId>
-                        <artifactId>spring-boot-maven-plugin</artifactId>
-                        <configuration>
-                            <executable>true</executable>
-                            <fork>true</fork>
-                            <addResources>true</addResources>
-                            <!--
-                            Enable the line below to have remote debugging of your application on port 5005
-                            <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
-                            -->
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>default-compile</id>
-                                <phase>none</phase>
-                            </execution>
-                            <execution>
-                                <id>default-testCompile</id>
-                                <phase>none</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-            <properties>
-                <!-- log configuration -->
-                <logback.loglevel>DEBUG</logback.loglevel>
-                <!-- default Spring profiles -->
-                <spring.profiles.active>dev</spring.profiles.active>
-            </properties>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Graphite.
-            -->
-            <id>graphite</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.dropwizard.metrics</groupId>
-                    <artifactId>metrics-graphite</artifactId>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for monitoring the application with Prometheus.
-            -->
-            <id>prometheus</id>
-            <dependencies>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_servlet</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-                <dependency>
-                    <groupId>io.prometheus</groupId>
-                    <artifactId>simpleclient_dropwizard</artifactId>
-                    <version>${prometheus-simpleclient.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for applying IDE-specific configuration.
-                At the moment it only configures MapStruct, which you need when working
-                with DTOs.
-            -->
-            <id>IDE</id>
-            <dependencies>
-                <dependency>
-                    <groupId>org.mapstruct</groupId>
-                    <artifactId>mapstruct-processor</artifactId>
-                    <version>${mapstruct.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <!--
-                Profile for deploying to Heroku, which cleans up node_modules
-                and other artifacts to reduce slug size.
-            -->
-            <id>heroku</id>
-            <build>
-              <plugins>
-                <plugin>
-                  <artifactId>maven-clean-plugin</artifactId>
-                  <executions>
-                    <execution>
-                      <id>clean-build-artifacts</id>
-                      <phase>install</phase>
-                      <goals>
-                          <goal>clean</goal>
-                      </goals>
-                      <configuration>
-                          <excludeDefaultDirectories>true</excludeDefaultDirectories>
-                          <filesets>
-                              <fileset>
-                                  <directory>node_modules</directory>
-                              </fileset>
-                              <fileset>
-                                  <directory>.heroku/node</directory>
-                              </fileset>
-                              <fileset>
-                                  <directory>target</directory>
-                                  <excludes>
-                                      <exclude>*.war</exclude>
-                                  </excludes>
-                              </fileset>
-                          </filesets>
-                      </configuration>
-                    </execution>
-                  </executions>
-                </plugin>
-              </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/postcss.config.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/postcss.config.js
deleted file mode 100644
index f549c034d5897dca3cf577ec1249382dc3591bfb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/postcss.config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
-    plugins: []
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/proxy.conf.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/proxy.conf.json
deleted file mode 100644
index 3bfa757fc63697b0a24410052fe6fcd12ee23e64..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/proxy.conf.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-    "*": {
-        "target": "http://localhost:8761",
-        "secure": false,
-        "loglevel": "debug"
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/Dockerfile b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/Dockerfile
deleted file mode 100644
index 7e5dec07606760366c45bbe5c9594e0844633a3e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/Dockerfile
+++ /dev/null
@@ -1,13 +0,0 @@
-FROM openjdk:8-jre-alpine
-
-ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
-    JHIPSTER_SLEEP=0
-
-# add directly the war
-ADD *.war /app.war
-
-VOLUME /tmp
-EXPOSE 8761
-CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
-    sleep ${JHIPSTER_SLEEP} && \
-    java -Djava.security.egd=file:/dev/./urandom -jar /app.war
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/sonar.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/sonar.yml
deleted file mode 100644
index d0fe74a831a744f3c4fd81568df03d46320d57ff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/docker/sonar.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-version: '2'
-services:
-    jhipsterregistry-sonar:
-        image: sonarqube:6.2-alpine
-        ports:
-            - 9000:9000
-            - 9092:9092
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/ApplicationWebXml.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/ApplicationWebXml.java
deleted file mode 100644
index 06cff1d26282333ad5b83160c4fdcf6a065331fd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/ApplicationWebXml.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.github.jhipster.registry;
-
-import io.github.jhipster.registry.config.DefaultProfileUtil;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-
-/**
- * This is a helper Java class that provides an alternative to creating a web.xml.
- * This will be invoked only when the application is deployed to a servlet container like Tomcat, JBoss etc.
- */
-public class ApplicationWebXml extends SpringBootServletInitializer {
-
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
-        /**
-         * set a default to use when no profile is configured.
-         */
-        DefaultProfileUtil.addDefaultProfile(application.application());
-        return application.sources(JHipsterRegistryApp.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/JHipsterRegistryApp.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/JHipsterRegistryApp.java
deleted file mode 100644
index c72e68bc85e29a3647d554e5cdc3528513b4d88f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/JHipsterRegistryApp.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package io.github.jhipster.registry;
-
-import io.github.jhipster.registry.config.ApplicationProperties;
-import io.github.jhipster.registry.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.actuate.autoconfigure.*;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.config.server.EnableConfigServer;
-import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
-import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.core.env.Environment;
-
-import javax.annotation.PostConstruct;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collection;
-
-@SpringBootApplication
-@EnableEurekaServer
-@EnableConfigServer
-@ComponentScan
-@EnableAutoConfiguration(exclude = {MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class, MetricsDropwizardAutoConfiguration.class})
-@EnableConfigurationProperties({ApplicationProperties.class})
-@EnableDiscoveryClient
-@EnableZuulProxy
-public class JHipsterRegistryApp {
-
-    private static final Logger log = LoggerFactory.getLogger(JHipsterRegistryApp.class);
-
-    private final Environment env;
-
-    public JHipsterRegistryApp(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Initializes JHipsterRegistry.
-     * <p>
-     * Spring profiles can be configured with a program arguments --spring.profiles.active=your-active-profile
-     * <p>
-     * You can find more information on how profiles work with JHipster on <a href="http://jhipster.github.io/profiles/">http://jhipster.github.io/profiles/</a>.
-     */
-    @PostConstruct
-    public void initApplication() {
-        Collection<String> activeProfiles = Arrays.asList(env.getActiveProfiles());
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            log.error("You have misconfigured your application! It should not run " +
-                "with both the 'dev' and 'prod' profiles at the same time.");
-        }
-        if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_CLOUD)) {
-            log.error("You have misconfigured your application! It should not" +
-                "run with both the 'dev' and 'cloud' profiles at the same time.");
-        }
-    }
-
-    /**
-     * Main method, used to run the application.
-     *
-     * @param args the command line arguments
-     * @throws UnknownHostException if the local host name could not be resolved into an address
-     */
-    public static void main(String[] args) throws UnknownHostException {
-        SpringApplication app = new SpringApplication(JHipsterRegistryApp.class);
-        DefaultProfileUtil.addDefaultProfile(app);
-        Environment env = app.run(args).getEnvironment();
-        String protocol = "http";
-        if (env.getProperty("server.ssl.key-store") != null) {
-            protocol = "https";
-        }
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Application '{}' is running! Access URLs:\n\t" +
-                "Local: \t\t{}://localhost:{}\n\t" +
-                "External: \t{}://{}:{}\n\t" +
-                "Profile(s): \t{}\n----------------------------------------------------------",
-            env.getProperty("spring.application.name"),
-            protocol,
-            env.getProperty("server.port"),
-            protocol,
-            InetAddress.getLocalHost().getHostAddress(),
-            env.getProperty("server.port"),
-            env.getActiveProfiles());
-
-        String secretKey = env.getProperty("jhipster.security.authentication.jwt.secret");
-        if (secretKey == null ) {
-            log.error("\n----------------------------------------------------------\n" +
-                "Your JWT secret key is not set up, you will not be able to log into the JHipster.\n"+
-                "Please read the documentation at https://jhipster.github.io/jhipster-registry/\n" +
-                "----------------------------------------------------------");
-        } else if (secretKey.equals("this-secret-should-not-be-used-read-the-comment")) {
-            log.error("\n----------------------------------------------------------\n" +
-                "Your JWT secret key is not configured using Spring Cloud Config, you will not be able to \n"+
-                "use the JHipster Registry dashboards to monitor external applications. \n" +
-                "Please read the documentation at https://jhipster.github.io/jhipster-registry/\n" +
-                "----------------------------------------------------------");
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/aop/logging/LoggingAspect.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/aop/logging/LoggingAspect.java
deleted file mode 100644
index 30526c4635586bade09d49ee586de6aaf4c699c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/aop/logging/LoggingAspect.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.jhipster.registry.aop.logging;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.core.env.Environment;
-
-import java.util.Arrays;
-
-/**
- * Aspect for logging execution of service and repository Spring components.
- *
- * By default, it only runs with the "dev" profile.
- */
-@Aspect
-public class LoggingAspect {
-
-    private final Logger log = LoggerFactory.getLogger(this.getClass());
-
-    private final Environment env;
-
-    public LoggingAspect(Environment env) {
-        this.env = env;
-    }
-
-    /**
-     * Pointcut that matches all repositories, services and Web REST endpoints.
-     */
-    @Pointcut("within(io.github.jhipster.registry.repository..*) || within(io.github.jhipster.registry.service..*) || within(io.github.jhipster.registry.web.rest..*)")
-    public void loggingPointcut() {
-        // Method is empty as this is just a Pointcut, the implementations are in the advices.
-    }
-
-    /**
-     * Advice that logs methods throwing exceptions.
-     *
-     * @param joinPoint join point for advice
-     * @param e exception
-     */
-    @AfterThrowing(pointcut = "loggingPointcut()", throwing = "e")
-    public void logAfterThrowing(JoinPoint joinPoint, Throwable e) {
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) {
-            log.error("Exception in {}.{}() with cause = \'{}\' and exception = \'{}\'", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL", e.getMessage(), e);
-
-        } else {
-            log.error("Exception in {}.{}() with cause = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL");
-        }
-    }
-
-    /**
-     * Advice that logs when a method is entered and exited.
-     *
-     * @param joinPoint join point for advice
-     * @return result
-     * @throws Throwable throws IllegalArgumentException
-     */
-    @Around("loggingPointcut()")
-    public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {
-        if (log.isDebugEnabled()) {
-            log.debug("Enter: {}.{}() with argument[s] = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                joinPoint.getSignature().getName(), Arrays.toString(joinPoint.getArgs()));
-        }
-        try {
-            Object result = joinPoint.proceed();
-            if (log.isDebugEnabled()) {
-                log.debug("Exit: {}.{}() with result = {}", joinPoint.getSignature().getDeclaringTypeName(),
-                    joinPoint.getSignature().getName(), result);
-            }
-            return result;
-        } catch (IllegalArgumentException e) {
-            log.error("Illegal argument: {} in {}.{}()", Arrays.toString(joinPoint.getArgs()),
-                    joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName());
-
-            throw e;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/ApplicationProperties.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/ApplicationProperties.java
deleted file mode 100644
index d958cb74f248d16c7dd0aa54d5db86408554abd6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/ApplicationProperties.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Properties specific to JHipster.
- *
- * <p>
- *     Properties are configured in the application.yml file.
- * </p>
- */
-@ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
-public class ApplicationProperties {
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/AsyncConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/AsyncConfiguration.java
deleted file mode 100644
index ac6bdf1b522c8122ced10fea9134d3072e89bb5c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/AsyncConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor;
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
-import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.*;
-import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
-
-import java.util.concurrent.Executor;
-
-@Configuration
-@EnableAsync
-@EnableScheduling
-public class AsyncConfiguration implements AsyncConfigurer {
-
-    private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class);
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public AsyncConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    @Bean(name = "taskExecutor")
-    public Executor getAsyncExecutor() {
-        log.debug("Creating Async Task Executor");
-        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        executor.setCorePoolSize(jHipsterProperties.getAsync().getCorePoolSize());
-        executor.setMaxPoolSize(jHipsterProperties.getAsync().getMaxPoolSize());
-        executor.setQueueCapacity(jHipsterProperties.getAsync().getQueueCapacity());
-        executor.setThreadNamePrefix("j-hipster-registry-Executor-");
-        return new ExceptionHandlingAsyncTaskExecutor(executor);
-    }
-
-    @Override
-    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
-        return new SimpleAsyncUncaughtExceptionHandler();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DateTimeFormatConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DateTimeFormatConfiguration.java
deleted file mode 100644
index 9ee598c7747b61f59d4f327026e0fb69d68fcb13..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DateTimeFormatConfiguration.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.format.FormatterRegistry;
-import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@Configuration
-public class DateTimeFormatConfiguration extends WebMvcConfigurerAdapter {
-
-    @Override
-    public void addFormatters(FormatterRegistry registry) {
-        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
-        registrar.setUseIsoFormat(true);
-        registrar.registerFormatters(registry);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DefaultProfileUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DefaultProfileUtil.java
deleted file mode 100644
index 2b147671d6352ea2282720a299fbafcefa87239e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/DefaultProfileUtil.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.core.env.Environment;
-
-import java.util.*;
-
-/**
- * Utility class to load a Spring profile to be used as default
- * when there is no <code>spring.profiles.active</code> set in the environment or as command line argument.
- * If the value is not available in <code>application.yml</code> then <code>dev</code> profile will be used as default.
- */
-public final class DefaultProfileUtil {
-
-    private static final String SPRING_PROFILE_DEFAULT = "spring.profiles.default";
-
-    private DefaultProfileUtil() {
-    }
-
-    /**
-     * Set a default to use when no profile is configured.
-     *
-     * @param app the Spring application
-     */
-    public static void addDefaultProfile(SpringApplication app) {
-        Map<String, Object> defProperties =  new HashMap<>();
-        /*
-        * The default profile to use when no other profiles are defined
-        * This cannot be set in the <code>application.yml</code> file.
-        * See https://github.com/spring-projects/spring-boot/issues/1219
-        */
-        defProperties.put(SPRING_PROFILE_DEFAULT, JHipsterConstants.SPRING_PROFILE_DEVELOPMENT);
-        app.setDefaultProperties(defProperties);
-    }
-
-    /**
-     * Get the profiles that are applied else get default profiles.
-     *
-     * @param env spring environment
-     * @return profiles
-     */
-    public static String[] getActiveProfiles(Environment env) {
-        String[] profiles = env.getActiveProfiles();
-        if (profiles.length == 0) {
-            return env.getDefaultProfiles();
-        }
-        return profiles;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LocaleConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LocaleConfiguration.java
deleted file mode 100644
index 28471c6e95daa147717cf6f7ec97c81e6e6390ff..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LocaleConfiguration.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.config.locale.AngularCookieLocaleResolver;
-
-import org.springframework.context.EnvironmentAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.servlet.LocaleResolver;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
-
-@Configuration
-public class LocaleConfiguration extends WebMvcConfigurerAdapter implements EnvironmentAware {
-
-    @Override
-    public void setEnvironment(Environment environment) {
-        // unused
-    }
-
-    @Bean(name = "localeResolver")
-    public LocaleResolver localeResolver() {
-        AngularCookieLocaleResolver cookieLocaleResolver = new AngularCookieLocaleResolver();
-        cookieLocaleResolver.setCookieName("NG_TRANSLATE_LANG_KEY");
-        return cookieLocaleResolver;
-    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
-        localeChangeInterceptor.setParamName("language");
-        registry.addInterceptor(localeChangeInterceptor);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingAspectConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingAspectConfiguration.java
deleted file mode 100644
index 518b2f03909963916d084c22f71869be3e729b3b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingAspectConfiguration.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.registry.aop.logging.LoggingAspect;
-
-import io.github.jhipster.config.JHipsterConstants;
-
-import org.springframework.context.annotation.*;
-import org.springframework.core.env.Environment;
-
-@Configuration
-@EnableAspectJAutoProxy
-public class LoggingAspectConfiguration {
-
-    @Bean
-    @Profile(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)
-    public LoggingAspect loggingAspect(Environment env) {
-        return new LoggingAspect(env);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingConfiguration.java
deleted file mode 100644
index af6a9db0647db99b6de1efc55e3a57ca5fafadcf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/LoggingConfiguration.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import ch.qos.logback.classic.AsyncAppender;
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.spi.LoggerContextListener;
-import ch.qos.logback.core.spi.ContextAwareBase;
-import net.logstash.logback.appender.LogstashSocketAppender;
-import net.logstash.logback.stacktrace.ShortenedThrowableConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class LoggingConfiguration {
-
-    private final Logger log = LoggerFactory.getLogger(LoggingConfiguration.class);
-
-    private LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-
-    private final String appName;
-
-    private final String serverPort;
-
-    private final String instanceId;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public LoggingConfiguration(@Value("${spring.application.name}") String appName, @Value("${server.port}") String serverPort,
-        @Value("${eureka.instance.instanceId}") String instanceId, JHipsterProperties jHipsterProperties) {
-        this.appName = appName;
-        this.serverPort = serverPort;
-        this.instanceId = instanceId;
-        this.jHipsterProperties = jHipsterProperties;
-        if (jHipsterProperties.getLogging().getLogstash().isEnabled()) {
-            addLogstashAppender(context);
-
-            // Add context listener
-            LogbackLoggerContextListener loggerContextListener = new LogbackLoggerContextListener();
-            loggerContextListener.setContext(context);
-            context.addListener(loggerContextListener);
-        }
-    }
-
-    public void addLogstashAppender(LoggerContext context) {
-        log.info("Initializing Logstash logging");
-
-        LogstashSocketAppender logstashAppender = new LogstashSocketAppender();
-        logstashAppender.setName("LOGSTASH");
-        logstashAppender.setContext(context);
-        String customFields = "{\"app_name\":\"" + appName + "\",\"app_port\":\"" + serverPort + "\"," +
-            "\"instance_id\":\"" + instanceId + "\"}";
-
-        // Set the Logstash appender config from JHipster properties
-        logstashAppender.setSyslogHost(jHipsterProperties.getLogging().getLogstash().getHost());
-        logstashAppender.setPort(jHipsterProperties.getLogging().getLogstash().getPort());
-        logstashAppender.setCustomFields(customFields);
-
-        // Limit the maximum length of the forwarded stacktrace so that it won't exceed the 8KB UDP limit of logstash
-        ShortenedThrowableConverter throwableConverter = new ShortenedThrowableConverter();
-        throwableConverter.setMaxLength(7500);
-        throwableConverter.setRootCauseFirst(true);
-        logstashAppender.setThrowableConverter(throwableConverter);
-
-        logstashAppender.start();
-
-        // Wrap the appender in an Async appender for performance
-        AsyncAppender asyncLogstashAppender = new AsyncAppender();
-        asyncLogstashAppender.setContext(context);
-        asyncLogstashAppender.setName("ASYNC_LOGSTASH");
-        asyncLogstashAppender.setQueueSize(jHipsterProperties.getLogging().getLogstash().getQueueSize());
-        asyncLogstashAppender.addAppender(logstashAppender);
-        asyncLogstashAppender.start();
-
-        context.getLogger("ROOT").addAppender(asyncLogstashAppender);
-    }
-
-    /**
-     * Logback configuration is achieved by configuration file and API.
-     * When configuration file change is detected, the configuration is reset.
-     * This listener ensures that the programmatic configuration is also re-applied after reset.
-     */
-    class LogbackLoggerContextListener extends ContextAwareBase implements LoggerContextListener {
-
-        @Override
-        public boolean isResetResistant() {
-            return true;
-        }
-
-        @Override
-        public void onStart(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onReset(LoggerContext context) {
-            addLogstashAppender(context);
-        }
-
-        @Override
-        public void onStop(LoggerContext context) {
-            // Nothing to do.
-        }
-
-        @Override
-        public void onLevelChange(ch.qos.logback.classic.Logger logger, Level level) {
-            // Nothing to do.
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/MetricsConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/MetricsConfiguration.java
deleted file mode 100644
index 9e9bf7acccfaf589275130e4a16e00a86068b491..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/MetricsConfiguration.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.config.metrics.SpectatorLogMetricWriter;
-
-import com.netflix.spectator.api.Registry;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricReader;
-import org.springframework.boot.actuate.autoconfigure.ExportMetricWriter;
-import org.springframework.boot.actuate.metrics.writer.MetricWriter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.cloud.netflix.metrics.spectator.SpectatorMetricReader;
-
-import com.codahale.metrics.JmxReporter;
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.Slf4jReporter;
-import com.codahale.metrics.health.HealthCheckRegistry;
-import com.codahale.metrics.jvm.*;
-import com.ryantenney.metrics.spring.config.annotation.EnableMetrics;
-import com.ryantenney.metrics.spring.config.annotation.MetricsConfigurerAdapter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.annotation.*;
-
-import javax.annotation.PostConstruct;
-import java.lang.management.ManagementFactory;
-import java.util.concurrent.TimeUnit;
-
-@Configuration
-@EnableMetrics(proxyTargetClass = true)
-public class MetricsConfiguration extends MetricsConfigurerAdapter {
-
-    private static final String PROP_METRIC_REG_JVM_MEMORY = "jvm.memory";
-    private static final String PROP_METRIC_REG_JVM_GARBAGE = "jvm.garbage";
-    private static final String PROP_METRIC_REG_JVM_THREADS = "jvm.threads";
-    private static final String PROP_METRIC_REG_JVM_FILES = "jvm.files";
-    private static final String PROP_METRIC_REG_JVM_BUFFERS = "jvm.buffers";
-    private final Logger log = LoggerFactory.getLogger(MetricsConfiguration.class);
-
-    private MetricRegistry metricRegistry = new MetricRegistry();
-
-    private HealthCheckRegistry healthCheckRegistry = new HealthCheckRegistry();
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public MetricsConfiguration(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    @Bean
-    public MetricRegistry getMetricRegistry() {
-        return metricRegistry;
-    }
-
-    @Override
-    @Bean
-    public HealthCheckRegistry getHealthCheckRegistry() {
-        return healthCheckRegistry;
-    }
-
-    @PostConstruct
-    public void init() {
-        log.debug("Registering JVM gauges");
-        metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet());
-        metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge());
-        metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()));
-        if (jHipsterProperties.getMetrics().getJmx().isEnabled()) {
-            log.debug("Initializing Metrics JMX reporting");
-            JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build();
-            jmxReporter.start();
-        }
-        if (jHipsterProperties.getMetrics().getLogs().isEnabled()) {
-            log.info("Initializing Metrics Log reporting");
-            final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry)
-                .outputTo(LoggerFactory.getLogger("metrics"))
-                .convertRatesTo(TimeUnit.SECONDS)
-                .convertDurationsTo(TimeUnit.MILLISECONDS)
-                .build();
-            reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS);
-        }
-    }
-
-    /* Spectator metrics log reporting */
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricReader
-    public SpectatorMetricReader SpectatorMetricReader(Registry registry) {
-        log.info("Initializing Spectator Metrics Log reporting");
-        return new SpectatorMetricReader(registry);
-    }
-
-    @Bean
-    @ConditionalOnProperty("jhipster.logging.spectator-metrics.enabled")
-    @ExportMetricWriter
-    MetricWriter metricWriter() {
-        return new SpectatorLogMetricWriter();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/SecurityConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/SecurityConfiguration.java
deleted file mode 100644
index 207e78d33e4f1741b9fd5ad57b9a632bd7fa0d7d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/SecurityConfiguration.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.registry.security.AuthoritiesConstants;
-import io.github.jhipster.registry.security.Http401UnauthorizedEntryPoint;
-import io.github.jhipster.registry.security.jwt.JWTConfigurer;
-import io.github.jhipster.registry.security.jwt.TokenProvider;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.builders.WebSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-import org.springframework.security.config.http.SessionCreationPolicy;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
-public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
-
-    private final Http401UnauthorizedEntryPoint authenticationEntryPoint;
-
-    private final TokenProvider tokenProvider;
-
-    public SecurityConfiguration(Http401UnauthorizedEntryPoint authenticationEntryPoint,
-                                 TokenProvider tokenProvider) {
-        this.authenticationEntryPoint = authenticationEntryPoint;
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void configure(WebSecurity web) throws Exception {
-        web.ignoring()
-            .antMatchers(HttpMethod.OPTIONS, "/**")
-            .antMatchers("/app/**/*.{js,html}")
-            .antMatchers("/bower_components/**")
-            .antMatchers("/content/**")
-            .antMatchers("/test/**")
-            .antMatchers("/h2-console/**");
-    }
-
-    @Override
-    protected void configure(HttpSecurity http) throws Exception {
-        http
-            .exceptionHandling()
-            .authenticationEntryPoint(authenticationEntryPoint)
-        .and()
-            .csrf()
-            .disable()
-            .headers()
-            .frameOptions()
-            .disable()
-        .and()
-            .sessionManagement()
-            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-         .and()
-            .httpBasic()
-            .realmName("JHipster Registry")
-        .and()
-            .authorizeRequests()
-            .antMatchers("/**").permitAll() // cannot reconnect without this line
-            .antMatchers("/api/**").authenticated()
-            .antMatchers("/api/authenticate").permitAll()
-            .antMatchers("/eureka/**").hasAuthority(AuthoritiesConstants.ADMIN)
-            .antMatchers("/config/**").hasAuthority(AuthoritiesConstants.ADMIN)
-            .antMatchers("/management/health").permitAll()
-            .antMatchers("/management/**").hasAuthority(AuthoritiesConstants.ADMIN)
-            .anyRequest().authenticated() // always at the end
-        .and()
-            .apply(securityConfigurerAdapter());
-    }
-
-    private JWTConfigurer securityConfigurerAdapter() {
-        return new JWTConfigurer(tokenProvider);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/WebConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/WebConfigurer.java
deleted file mode 100644
index a05d334991151231d1c5e90df2313c4eb6031893..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/WebConfigurer.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package io.github.jhipster.registry.config;
-
-import io.github.jhipster.config.JHipsterConstants;
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.web.filter.CachingHttpHeadersFilter;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilter;
-import com.codahale.metrics.servlets.MetricsServlet;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.embedded.*;
-import org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory;
-import io.undertow.UndertowOptions;
-import org.springframework.boot.web.servlet.ServletContextInitializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import java.io.File;
-import java.nio.file.Paths;
-import java.util.*;
-import javax.servlet.*;
-
-/**
- * Configuration of web application with Servlet 3.0 APIs.
- */
-@Configuration
-public class WebConfigurer implements ServletContextInitializer, EmbeddedServletContainerCustomizer {
-
-    private final Logger log = LoggerFactory.getLogger(WebConfigurer.class);
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    private MetricRegistry metricRegistry;
-
-    public WebConfigurer(Environment env, JHipsterProperties jHipsterProperties) {
-
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    public void onStartup(ServletContext servletContext) throws ServletException {
-        if (env.getActiveProfiles().length != 0) {
-            log.info("Web application configuration, using profiles: {}", (Object[]) env.getActiveProfiles());
-        }
-        EnumSet<DispatcherType> disps = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC);
-        initMetrics(servletContext, disps);
-        if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) {
-            initCachingHttpHeadersFilter(servletContext, disps);
-        }
-        log.info("Web application fully configured");
-    }
-
-    /**
-     * Customize the Servlet engine: Mime types, the document root, the cache.
-     */
-    @Override
-    public void customize(ConfigurableEmbeddedServletContainer container) {
-        MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
-        // IE issue, see https://github.com/jhipster/generator-jhipster/pull/711
-        mappings.add("html", "text/html;charset=utf-8");
-        // CloudFoundry issue, see https://github.com/cloudfoundry/gorouter/issues/64
-        mappings.add("json", "text/html;charset=utf-8");
-        container.setMimeMappings(mappings);
-        // When running in an IDE or with ./mvnw spring-boot:run, set location of the static web assets.
-        setLocationForStaticAssets(container);
-
-        /*
-         * Enable HTTP/2 for Undertow - https://twitter.com/ankinson/status/829256167700492288
-         * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1.
-         * See the JHipsterProperties class and your application-*.yml configuration files
-         * for more information.
-         */
-        if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0) &&
-            container instanceof UndertowEmbeddedServletContainerFactory) {
-
-            ((UndertowEmbeddedServletContainerFactory) container)
-                .addBuilderCustomizers(builder ->
-                    builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
-        }
-    }
-
-    private void setLocationForStaticAssets(ConfigurableEmbeddedServletContainer container) {
-        File root;
-        String prefixPath = resolvePathPrefix();
-        root = new File(prefixPath + "target/www/");
-        if (root.exists() && root.isDirectory()) {
-            container.setDocumentRoot(root);
-        }
-    }
-
-    /**
-     *  Resolve path prefix to static resources.
-     */
-    private String resolvePathPrefix() {
-        String fullExecutablePath = this.getClass().getResource("").getPath();
-        String rootPath = Paths.get(".").toUri().normalize().getPath();
-        String extractedPath = fullExecutablePath.replace(rootPath, "");
-        int extractionEndIndex = extractedPath.indexOf("target/");
-        if(extractionEndIndex <= 0) {
-            return "";
-        }
-        return extractedPath.substring(0, extractionEndIndex);
-    }
-
-    /**
-     * Initializes the caching HTTP Headers Filter.
-     */
-    private void initCachingHttpHeadersFilter(ServletContext servletContext,
-                                              EnumSet<DispatcherType> disps) {
-        log.debug("Registering Caching HTTP Headers Filter");
-        FilterRegistration.Dynamic cachingHttpHeadersFilter =
-            servletContext.addFilter("cachingHttpHeadersFilter",
-                new CachingHttpHeadersFilter(jHipsterProperties));
-
-        cachingHttpHeadersFilter.addMappingForUrlPatterns(disps, true, "/content/*");
-        cachingHttpHeadersFilter.addMappingForUrlPatterns(disps, true, "/app/*");
-        cachingHttpHeadersFilter.setAsyncSupported(true);
-    }
-
-    /**
-     * Initializes Metrics.
-     */
-    private void initMetrics(ServletContext servletContext, EnumSet<DispatcherType> disps) {
-        log.debug("Initializing Metrics registries");
-        servletContext.setAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE,
-            metricRegistry);
-        servletContext.setAttribute(MetricsServlet.METRICS_REGISTRY,
-            metricRegistry);
-
-        log.debug("Registering Metrics Filter");
-        FilterRegistration.Dynamic metricsFilter = servletContext.addFilter("webappMetricsFilter",
-            new InstrumentedFilter());
-
-        metricsFilter.addMappingForUrlPatterns(disps, true, "/*");
-        metricsFilter.setAsyncSupported(true);
-
-        log.debug("Registering Metrics Servlet");
-        ServletRegistration.Dynamic metricsAdminServlet =
-            servletContext.addServlet("metricsServlet", new MetricsServlet());
-
-        metricsAdminServlet.addMapping("/management/metrics/*");
-        metricsAdminServlet.setAsyncSupported(true);
-        metricsAdminServlet.setLoadOnStartup(2);
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        CorsConfiguration config = jHipsterProperties.getCors();
-        if (config.getAllowedOrigins() != null && !config.getAllowedOrigins().isEmpty()) {
-            log.debug("Registering CORS filter");
-            source.registerCorsConfiguration("/api/**", config);
-            source.registerCorsConfiguration("/v2/api-docs", config);
-            source.registerCorsConfiguration("/*/api/**", config);
-        }
-        return new CorsFilter(source);
-    }
-
-    @Autowired(required = false)
-    public void setMetricRegistry(MetricRegistry metricRegistry) {
-        this.metricRegistry = metricRegistry;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/package-info.java
deleted file mode 100644
index 722977caca767363b6d404aa9c6e35ef38278b2a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/config/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Spring Framework configuration files.
- */
-package io.github.jhipster.registry.config;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/RegistryConfiguration.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/RegistryConfiguration.java
deleted file mode 100644
index 362cf2c908ac4c4edd1dbcad0d9edc89ad6aa439..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/RegistryConfiguration.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.github.jhipster.registry.filters;
-
-import io.github.jhipster.config.JHipsterProperties;
-import io.github.jhipster.registry.filters.accesscontrol.AccessControlFilter;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class RegistryConfiguration {
-
-    @Configuration
-    public static class AccessControlFilterConfiguration {
-
-        @Bean
-        public AccessControlFilter accessControlFilter(RouteLocator routeLocator, JHipsterProperties jHipsterProperties){
-            return new AccessControlFilter(routeLocator, jHipsterProperties);
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/TokenRelayFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/TokenRelayFilter.java
deleted file mode 100644
index a1fc946415bdfae7ca0d1f68a72944dad413fea9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/TokenRelayFilter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.github.jhipster.registry.filters;
-
-import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
-import org.springframework.stereotype.Component;
-
-import java.util.Set;
-
-@Component
-public class TokenRelayFilter extends ZuulFilter {
-
-    @Override
-    public Object run() {
-        Object contextGet = RequestContext.getCurrentContext().get("ignoredHeaders");
-        if(contextGet!=null) ((Set) contextGet).remove("authorization"); // We need our JWT tokens relayed to resource servers
-        return null;
-    }
-
-    @Override
-    public boolean shouldFilter() {
-        return true;
-    }
-
-    @Override
-    public String filterType() {
-        return "pre";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 10000;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/accesscontrol/AccessControlFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/accesscontrol/AccessControlFilter.java
deleted file mode 100644
index 3af69d92e4e9106901faebf4c1e7cb9b1238a281..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/filters/accesscontrol/AccessControlFilter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package io.github.jhipster.registry.filters.accesscontrol;
-
-import com.netflix.zuul.ZuulFilter;
-import com.netflix.zuul.context.RequestContext;
-import io.github.jhipster.config.JHipsterProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.netflix.zuul.filters.Route;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.http.HttpStatus;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Zuul filter for restricting access to backend micro-services endpoints.
- */
-public class AccessControlFilter extends ZuulFilter {
-
-    private final Logger log = LoggerFactory.getLogger(AccessControlFilter.class);
-
-    private final RouteLocator routeLocator;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public AccessControlFilter(RouteLocator routeLocator, JHipsterProperties jHipsterProperties) {
-        this.routeLocator = routeLocator;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @Override
-    public String filterType() {
-        return "pre";
-    }
-
-    @Override
-    public int filterOrder() {
-        return 0;
-    }
-
-    /**
-     * Filter requests on endpoints that are not in the list of authorized microservices endpoints.
-     */
-    @Override
-    public boolean shouldFilter() {
-        String requestUri = RequestContext.getCurrentContext().getRequest().getRequestURI();
-
-        log.debug(requestUri);
-
-        // If the request Uri does not start with the path of the authorized endpoints, we block the request
-        for (Route route : routeLocator.getRoutes()) {
-            String serviceUrl = route.getFullPath();
-            String serviceName = route.getId();
-
-            // If this route correspond to the current request URI
-            // We do a substring to remove the "**" at the end of the route URL
-            if (requestUri.startsWith(serviceUrl.substring(0, serviceUrl.length() - 2))) {
-				return !isAuthorizedRequest(serviceUrl, serviceName, requestUri);
-            }
-        }
-        return true;
-    }
-
-    private boolean isAuthorizedRequest(String serviceUrl, String serviceName, String requestUri) {
-        Map<String, List<String>> authorizedMicroservicesEndpoints = jHipsterProperties.getGateway()
-            .getAuthorizedMicroservicesEndpoints();
-
-        // If the authorized endpoints list was left empty for this route, all access are allowed
-        if (authorizedMicroservicesEndpoints.get(serviceName) == null) {
-            log.debug("Access Control: allowing access for {}, as no access control policy has been set up for " +
-                "service: {}", requestUri, serviceName);
-            return true;
-        } else {
-            List<String> authorizedEndpoints = authorizedMicroservicesEndpoints.get(serviceName);
-
-            // Go over the authorized endpoints to control that the request URI matches it
-            for (String endpoint : authorizedEndpoints) {
-                // We do a substring to remove the "**/" at the end of the route URL
-                String gatewayEndpoint = serviceUrl.substring(0, serviceUrl.length() - 3) + endpoint;
-                if (requestUri.startsWith(gatewayEndpoint)) {
-                    log.debug("Access Control: allowing access for {}, as it matches the following authorized " +
-                        "microservice endpoint: {}", requestUri, gatewayEndpoint);
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public Object run() {
-        RequestContext ctx = RequestContext.getCurrentContext();
-        ctx.setResponseStatusCode(HttpStatus.FORBIDDEN.value());
-        if (ctx.getResponseBody() == null && !ctx.getResponseGZipped()) {
-            ctx.setSendZuulResponse(false);
-        }
-        log.debug("Access Control: filtered unauthorized access on endpoint {}", ctx.getRequest().getRequestURI());
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/AuthoritiesConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/AuthoritiesConstants.java
deleted file mode 100644
index d35c2c11d9ec10a72f036e44a442cc9996b3a728..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/AuthoritiesConstants.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.jhipster.registry.security;
-
-/**
- * Constants for Spring Security authorities.
- */
-public final class AuthoritiesConstants {
-
-    public static final String ADMIN = "ROLE_ADMIN";
-
-    public static final String USER = "ROLE_USER";
-
-    public static final String ANONYMOUS = "ROLE_ANONYMOUS";
-
-    private AuthoritiesConstants() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/Http401UnauthorizedEntryPoint.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/Http401UnauthorizedEntryPoint.java
deleted file mode 100644
index 6c5da385f4ae87f52c62ce449401404b8a7dfb4b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/Http401UnauthorizedEntryPoint.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.jhipster.registry.security;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.web.AuthenticationEntryPoint;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Returns a 401 error code (Unauthorized) to the client.
- */
-@Component
-public class Http401UnauthorizedEntryPoint implements AuthenticationEntryPoint {
-
-    private final Logger log = LoggerFactory.getLogger(Http401UnauthorizedEntryPoint.class);
-
-    /**
-     * Always returns a 401 error code to the client.
-     */
-    @Override
-    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException arg2)
-        throws IOException, ServletException {
-
-        log.debug("Pre-authenticated entry point called. Rejecting access");
-        response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Access Denied");
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTConfigurer.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTConfigurer.java
deleted file mode 100644
index db305a30d6ee55c5142fb375bb527a5eea873f6c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTConfigurer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.github.jhipster.registry.security.jwt;
-
-import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.web.DefaultSecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-
-public class JWTConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
-
-    public static final String AUTHORIZATION_HEADER = "Authorization";
-
-    private TokenProvider tokenProvider;
-
-    public JWTConfigurer(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void configure(HttpSecurity http) throws Exception {
-        JWTFilter customFilter = new JWTFilter(tokenProvider);
-        http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTFilter.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTFilter.java
deleted file mode 100644
index 4caf252862fc0e344225679ec3a293359b704375..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/JWTFilter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package io.github.jhipster.registry.security.jwt;
-
-import java.io.IOException;
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.GenericFilterBean;
-
-import io.jsonwebtoken.ExpiredJwtException;
-
-/**
- * Filters incoming requests and installs a Spring Security principal if a header corresponding to a valid user is
- * found.
- */
-public class JWTFilter extends GenericFilterBean {
-
-    private final Logger log = LoggerFactory.getLogger(JWTFilter.class);
-
-    private TokenProvider tokenProvider;
-
-    public JWTFilter(TokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    @Override
-    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
-        throws IOException, ServletException {
-        try {
-            HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
-            String jwt = resolveToken(httpServletRequest);
-            if (StringUtils.hasText(jwt) && this.tokenProvider.validateToken(jwt)) {
-                Authentication authentication = this.tokenProvider.getAuthentication(jwt);
-                SecurityContextHolder.getContext().setAuthentication(authentication);
-            }
-            filterChain.doFilter(servletRequest, servletResponse);
-        } catch (ExpiredJwtException eje) {
-            log.info("Security exception for user {} - {}",
-                eje.getClaims().getSubject(), eje.getMessage());
-
-            log.trace("Security exception trace: {}", eje);
-            ((HttpServletResponse) servletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-        }
-    }
-
-    private String resolveToken(HttpServletRequest request){
-        String bearerToken = request.getHeader(JWTConfigurer.AUTHORIZATION_HEADER);
-        if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) {
-            return bearerToken.substring(7, bearerToken.length());
-        }
-        return null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/TokenProvider.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/TokenProvider.java
deleted file mode 100644
index 709e3d332b2f77cc526407b98ad34a253034e27c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/jwt/TokenProvider.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package io.github.jhipster.registry.security.jwt;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import java.util.*;
-import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.stereotype.Component;
-
-import io.jsonwebtoken.*;
-
-@Component
-public class TokenProvider {
-
-    private final Logger log = LoggerFactory.getLogger(TokenProvider.class);
-
-    private static final String AUTHORITIES_KEY = "auth";
-
-    private String secretKey;
-
-    private long tokenValidityInMilliseconds;
-
-    private long tokenValidityInMillisecondsForRememberMe;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public TokenProvider(JHipsterProperties jHipsterProperties) {
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @PostConstruct
-    public void init() {
-        this.secretKey =
-            jHipsterProperties.getSecurity().getAuthentication().getJwt().getSecret();
-
-        this.tokenValidityInMilliseconds =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSeconds();
-        this.tokenValidityInMillisecondsForRememberMe =
-            1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSecondsForRememberMe();
-    }
-
-    public String createToken(Authentication authentication, Boolean rememberMe) {
-        String authorities = authentication.getAuthorities().stream()
-            .map(GrantedAuthority::getAuthority)
-            .collect(Collectors.joining(","));
-
-        long now = (new Date()).getTime();
-        Date validity;
-        if (rememberMe) {
-            validity = new Date(now + this.tokenValidityInMillisecondsForRememberMe);
-        } else {
-            validity = new Date(now + this.tokenValidityInMilliseconds);
-        }
-
-        return Jwts.builder()
-            .setSubject(authentication.getName())
-            .claim(AUTHORITIES_KEY, authorities)
-            .signWith(SignatureAlgorithm.HS512, secretKey)
-            .setExpiration(validity)
-            .compact();
-    }
-
-    public Authentication getAuthentication(String token) {
-        Claims claims = Jwts.parser()
-            .setSigningKey(secretKey)
-            .parseClaimsJws(token)
-            .getBody();
-
-        Collection<? extends GrantedAuthority> authorities =
-            Arrays.stream(claims.get(AUTHORITIES_KEY).toString().split(","))
-                .map(SimpleGrantedAuthority::new)
-                .collect(Collectors.toList());
-
-        User principal = new User(claims.getSubject(), "", authorities);
-
-        return new UsernamePasswordAuthenticationToken(principal, "", authorities);
-    }
-
-    public boolean validateToken(String authToken) {
-        try {
-            Jwts.parser().setSigningKey(secretKey).parseClaimsJws(authToken);
-            return true;
-        } catch (SignatureException e) {
-            log.info("Invalid JWT signature.");
-            log.trace("Invalid JWT signature trace: {}", e);
-        } catch (MalformedJwtException e) {
-            log.info("Invalid JWT token.");
-            log.trace("Invalid JWT token trace: {}", e);
-        } catch (ExpiredJwtException e) {
-            log.info("Expired JWT token.");
-            log.trace("Expired JWT token trace: {}", e);
-        } catch (UnsupportedJwtException e) {
-            log.info("Unsupported JWT token.");
-            log.trace("Unsupported JWT token trace: {}", e);
-        } catch (IllegalArgumentException e) {
-            log.info("JWT token compact of handler are invalid.");
-            log.trace("JWT token compact of handler are invalid trace: {}", e);
-        }
-        return false;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/package-info.java
deleted file mode 100644
index c3ec56ce9b4eef9e9f8cd7b5e0852fab931227af..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/security/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Spring Security configuration.
- */
-package io.github.jhipster.registry.security;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/ZuulUpdaterService.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/ZuulUpdaterService.java
deleted file mode 100644
index 6e3086a53cfd55703e3dc7ec04a6dc73ab8a0143..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/ZuulUpdaterService.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package io.github.jhipster.registry.service;
-
-import com.netflix.appinfo.InstanceInfo;
-import com.netflix.discovery.shared.Application;
-import com.netflix.eureka.EurekaServerContextHolder;
-import io.github.jhipster.registry.service.dto.ZuulRouteDTO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.cloud.netflix.zuul.RoutesRefreshedEvent;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Updates Zuul proxies depending on available application instances.
- *
- * This uses directly the Eureka server, so it only works with the Eureka option.
- */
-@Service
-public class ZuulUpdaterService {
-
-    private final Logger log = LoggerFactory.getLogger(ZuulUpdaterService.class);
-
-    private final RouteLocator routeLocator;
-
-    private final ZuulProperties zuulProperties;
-
-    private final ApplicationEventPublisher publisher;
-
-    public ZuulUpdaterService(RouteLocator routeLocator, ZuulProperties zuulProperties,
-                              ApplicationEventPublisher publisher) {
-        this.routeLocator = routeLocator;
-        this.zuulProperties = zuulProperties;
-        this.publisher = publisher;
-    }
-
-    @Scheduled(fixedDelay = 5_000)
-    public void updateZuulRoutes() {
-        boolean isDirty = false;
-
-        List<Application> applications = EurekaServerContextHolder
-            .getInstance().getServerContext().getRegistry().getApplications().getRegisteredApplications();
-
-        for (Application application : applications) {
-
-            for (InstanceInfo instanceInfos : application.getInstances()) {
-                if(!instanceInfos.getStatus().equals(InstanceInfo.InstanceStatus.UP) &&
-                    !instanceInfos.getStatus().equals(InstanceInfo.InstanceStatus.STARTING)) continue;
-                String instanceId = instanceInfos.getId();
-                String url = instanceInfos.getHomePageUrl();
-                log.debug("Checking instance {} - {} ", instanceId, url);
-
-                ZuulRouteDTO route = new ZuulRouteDTO(instanceId,
-                    application.getName().toLowerCase() + "/" + instanceId + "/**",
-                    null, url, zuulProperties.isStripPrefix(), zuulProperties.getRetryable(), null,
-                    instanceInfos.getStatus().toString());
-
-                if (zuulProperties.getRoutes().containsKey(instanceId)) {
-                    log.debug("Instance '{}' already registered", instanceId);
-                    if (!zuulProperties.getRoutes().get(instanceId).getUrl().equals(url)) {
-
-                        log.debug("Updating instance '{}' with new URL: {}", instanceId, url);
-                        zuulProperties.getRoutes().put(instanceId, route);
-                        isDirty = true;
-                    }
-                } else {
-                    log.debug("Adding instance '{}' with URL: {}", instanceId, url);
-                    zuulProperties.getRoutes().put(instanceId, route);
-                    isDirty = true;
-                }
-            }
-        }
-        List<String> zuulRoutesToRemove = new ArrayList<>();
-        for (String key : zuulProperties.getRoutes().keySet()) {
-            if (applications.stream()
-                .flatMap(application -> application.getInstances().stream())
-                .filter(instanceInfo -> instanceInfo.getId().equals(key))
-                .count() == 0) {
-
-                log.debug("Removing instance '{}'", key);
-                zuulRoutesToRemove.add(key);
-                isDirty = true;
-            }
-        }
-        for (String key : zuulRoutesToRemove) {
-            zuulProperties.getRoutes().remove(key);
-        }
-        if (isDirty) {
-            log.info("Zuul routes have changed - refreshing the configuration");
-            this.publisher.publishEvent(new RoutesRefreshedEvent(routeLocator));
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/ZuulRouteDTO.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/ZuulRouteDTO.java
deleted file mode 100644
index c6a3129d6a48429c6b4997f51c101f37668d4a7d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/ZuulRouteDTO.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.jhipster.registry.service.dto;
-
-import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
-
-import java.util.Set;
-
-/**
- * Extends a ZuulRoute to add the instance status ("UP", "DOWN", etc...) .
- */
-public class ZuulRouteDTO extends ZuulProperties.ZuulRoute {
-
-    private String status;
-
-    public ZuulRouteDTO(String id, String path, String serviceId, String url, boolean stripPrefix, Boolean retryable, Set<String> sensitiveHeaders, String status) {
-        super(id, path, serviceId, url, stripPrefix, retryable, sensitiveHeaders);
-        this.status = status;
-    }
-
-    public ZuulRouteDTO(String path, String location, String status) {
-        super(path, location);
-        this.status = status;
-    }
-
-    public ZuulRouteDTO(String status) {
-        super();
-        this.status = status;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/package-info.java
deleted file mode 100644
index c11dab414779a4f7ff546fa40654ee0be5ef8a20..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/service/dto/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Data Transfer Objects.
- */
-package io.github.jhipster.registry.service.dto;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/AccountResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/AccountResource.java
deleted file mode 100644
index 899d586990a5c8a1559ec9d8735d7fe0e8556cd9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/AccountResource.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-import io.github.jhipster.registry.web.rest.vm.UserVM;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.stream.Collectors;
-
-/**
- * REST controller for managing the current user's account.
- */
-@RestController
-@RequestMapping("/api")
-public class AccountResource {
-
-    private final Logger log = LoggerFactory.getLogger(AccountResource.class);
-
-    /**
-     * GET  /authenticate : check if the user is authenticated, and return its login.
-     *
-     * @param request the HTTP request
-     * @return the login if the user is authenticated
-     */
-    @GetMapping("/authenticate")
-    @Timed
-    public String isAuthenticated(HttpServletRequest request) {
-        log.debug("REST request to check if the current user is authenticated");
-        return request.getRemoteUser();
-    }
-
-    /**
-     * GET  /account : get the current user.
-     *
-     * @return the ResponseEntity with status 200 (OK) and the current user in body, or status 500 (Internal Server
-     * Error) if the user couldn't be returned
-     */
-    @GetMapping("/account")
-    @Timed
-    public ResponseEntity<UserVM> getAccount() {
-        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
-        try{
-            User user = (User) authentication.getPrincipal();
-            UserVM userVM = new UserVM(user.getUsername(),
-                user.getAuthorities().stream()
-                    .map(GrantedAuthority::getAuthority).collect(Collectors.toSet()));
-            return new ResponseEntity<>(userVM, HttpStatus.OK);
-        } catch (NullPointerException | ClassCastException e){
-            return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/EurekaResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/EurekaResource.java
deleted file mode 100644
index 9384f5ce43c97ffcacda26db1818db70bf48e62f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/EurekaResource.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-import com.netflix.appinfo.InstanceInfo;
-import com.netflix.config.ConfigurationManager;
-import com.netflix.discovery.shared.Application;
-import com.netflix.eureka.EurekaServerContext;
-import com.netflix.eureka.EurekaServerContextHolder;
-import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
-import com.netflix.eureka.registry.PeerAwareInstanceRegistryImpl;
-import com.netflix.eureka.resources.StatusResource;
-import com.netflix.eureka.util.StatusInfo;
-import io.github.jhipster.registry.web.rest.vm.EurekaVM;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Controller for viewing Eureka data.
- */
-@RestController
-@RequestMapping("/api")
-public class EurekaResource {
-
-    private final Logger log = LoggerFactory.getLogger(EurekaResource.class);
-
-    /**
-     * GET  /eureka/applications : get Eureka applications information
-     */
-    @GetMapping("/eureka/applications")
-    @Timed
-    public ResponseEntity<EurekaVM> eureka() {
-        EurekaVM eurekaVM = new EurekaVM();
-        eurekaVM.setApplications(getApplications());
-        return new ResponseEntity<>(eurekaVM, HttpStatus.OK);
-    }
-
-    private List<Map<String, Object>> getApplications() {
-        List<Application> sortedApplications = getRegistry().getSortedApplications();
-        ArrayList<Map<String, Object>> apps = new ArrayList<>();
-        for (Application app : sortedApplications) {
-            LinkedHashMap<String, Object> appData = new LinkedHashMap<>();
-            apps.add(appData);
-            appData.put("name", app.getName());
-            List<Map<String, Object>> instances = new ArrayList<>();
-            for (InstanceInfo info : app.getInstances()) {
-                Map<String, Object> instance = new HashMap<>();
-                instance.put("instanceId", info.getInstanceId());
-                instance.put("homePageUrl", info.getHomePageUrl());
-                instance.put("healthCheckUrl", info.getHealthCheckUrl());
-                instance.put("statusPageUrl", info.getStatusPageUrl());
-                instance.put("status", info.getStatus().name());
-                instance.put("metadata", info.getMetadata());
-                instances.add(instance);
-            }
-            appData.put("instances", instances);
-        }
-        return apps;
-    }
-
-    /**
-     * GET  /eureka/lastn : get Eureka registrations
-     */
-    @GetMapping("/eureka/lastn")
-    @Timed
-    public ResponseEntity<Map<String, Map<Long, String>>> lastn() {
-        Map<String, Map<Long, String>> lastn = new HashMap<>();
-        PeerAwareInstanceRegistryImpl registry = (PeerAwareInstanceRegistryImpl) getRegistry();
-        Map<Long, String> canceledMap = new HashMap<>();
-        registry.getLastNCanceledInstances().forEach(
-            canceledInstance -> {
-                canceledMap.put(canceledInstance.first(), canceledInstance.second());
-            }
-        );
-        lastn.put("canceled", canceledMap);
-        Map<Long, String> registeredMap = new HashMap<>();
-        registry.getLastNRegisteredInstances().forEach(
-            registeredInstance -> {
-                registeredMap.put(registeredInstance.first(), registeredInstance.second());
-            }
-        );
-        lastn.put("registered", registeredMap);
-        return new ResponseEntity<>(lastn, HttpStatus.OK);
-    }
-
-    /**
-     * GET  /eureka/replicas : get Eureka replicas
-     */
-    @GetMapping("/eureka/replicas")
-    @Timed
-    public ResponseEntity<List<String>> replicas() {
-        List<String> replicas = new ArrayList<>();
-        getServerContext().getPeerEurekaNodes().getPeerNodesView().forEach(
-            node -> {
-                try {
-                    // The URL is parsed in order to remove login/password information
-                    URI uri = new URI(node.getServiceUrl());
-                    replicas.add(uri.getHost() + ":" + uri.getPort());
-                } catch (URISyntaxException e) {
-                    log.warn("Could not parse peer Eureka node URL: {}", e.getMessage());
-                }
-            }
-        );
-
-        return new ResponseEntity<>(replicas, HttpStatus.OK);
-    }
-
-    /**
-     * GET  /eureka/status : get Eureka status
-     */
-    @GetMapping("/eureka/status")
-    @Timed
-    public ResponseEntity<EurekaVM> eurekaStatus() {
-
-        EurekaVM eurekaVM = new EurekaVM();
-        eurekaVM.setStatus(getEurekaStatus());
-        return new ResponseEntity<>(eurekaVM, HttpStatus.OK);
-    }
-
-    private Map<String, Object> getEurekaStatus() {
-
-        Map<String, Object> stats = new HashMap<>();
-        stats.put("time", new Date());
-        stats.put("currentTime", StatusResource.getCurrentTimeAsString());
-        stats.put("upTime", StatusInfo.getUpTime());
-        stats.put("environment", ConfigurationManager.getDeploymentContext()
-            .getDeploymentEnvironment());
-        stats.put("datacenter", ConfigurationManager.getDeploymentContext()
-            .getDeploymentDatacenter());
-
-        PeerAwareInstanceRegistry registry = getRegistry();
-
-        stats.put("isBelowRenewThreshold", registry.isBelowRenewThresold() == 1);
-
-        populateInstanceInfo(stats);
-
-        return stats;
-    }
-
-    private void populateInstanceInfo(Map<String, Object> model) {
-
-        StatusInfo statusInfo;
-        try {
-            statusInfo = new StatusResource().getStatusInfo();
-        } catch (Exception e) {
-            log.error(e.getMessage());
-            statusInfo = StatusInfo.Builder.newBuilder().isHealthy(false).build();
-        }
-        if (statusInfo != null && statusInfo.getGeneralStats() != null) {
-            model.put("generalStats", statusInfo.getGeneralStats());
-        }
-        if (statusInfo != null && statusInfo.getInstanceInfo() != null) {
-            InstanceInfo instanceInfo = statusInfo.getInstanceInfo();
-            Map<String, String> instanceMap = new HashMap<>();
-            instanceMap.put("ipAddr", instanceInfo.getIPAddr());
-            instanceMap.put("status", instanceInfo.getStatus().toString());
-            model.put("instanceInfo", instanceMap);
-        }
-    }
-
-    private PeerAwareInstanceRegistry getRegistry() {
-        return getServerContext().getRegistry();
-    }
-
-    private EurekaServerContext getServerContext() {
-        return EurekaServerContextHolder.getInstance().getServerContext();
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/LogsResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/LogsResource.java
deleted file mode 100644
index 172aa0e58351a96120dd3cf51402aacffc097cbc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/LogsResource.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import io.github.jhipster.registry.web.rest.vm.LoggerVM;
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
-import com.codahale.metrics.annotation.Timed;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Controller for view and managing Log Level at runtime.
- */
-@RestController
-@RequestMapping("/management")
-public class LogsResource {
-
-    @GetMapping("/logs")
-    @Timed
-    public List<LoggerVM> getList() {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        return context.getLoggerList()
-            .stream()
-            .map(LoggerVM::new)
-            .collect(Collectors.toList());
-    }
-
-    @PutMapping("/logs")
-    @ResponseStatus(HttpStatus.NO_CONTENT)
-    @Timed
-    public void changeLevel(@RequestBody LoggerVM jsonLogger) {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        context.getLogger(jsonLogger.getName()).setLevel(Level.valueOf(jsonLogger.getLevel()));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/ProfileInfoResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/ProfileInfoResource.java
deleted file mode 100644
index 22b586d3dff0f45c7b9f25c704bd90c3559578e5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/ProfileInfoResource.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import io.github.jhipster.registry.config.DefaultProfileUtil;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import org.springframework.core.env.Environment;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Resource to return information about the currently running Spring profiles.
- */
-@RestController
-@RequestMapping("/api")
-public class ProfileInfoResource {
-
-    private final Environment env;
-
-    private final JHipsterProperties jHipsterProperties;
-
-    public ProfileInfoResource(Environment env, JHipsterProperties jHipsterProperties) {
-        this.env = env;
-        this.jHipsterProperties = jHipsterProperties;
-    }
-
-    @GetMapping("/profile-info")
-    public ProfileInfoVM getActiveProfiles() {
-        String[] activeProfiles = DefaultProfileUtil.getActiveProfiles(env);
-        return new ProfileInfoVM(activeProfiles, getRibbonEnv(activeProfiles));
-    }
-
-    private String getRibbonEnv(String[] activeProfiles) {
-        String[] displayOnActiveProfiles = jHipsterProperties.getRibbon().getDisplayOnActiveProfiles();
-        if (displayOnActiveProfiles == null) {
-            return null;
-        }
-        List<String> ribbonProfiles = new ArrayList<>(Arrays.asList(displayOnActiveProfiles));
-        List<String> springBootProfiles = Arrays.asList(activeProfiles);
-        ribbonProfiles.retainAll(springBootProfiles);
-        if (!ribbonProfiles.isEmpty()) {
-            return ribbonProfiles.get(0);
-        }
-        return null;
-    }
-
-    class ProfileInfoVM {
-
-        private String[] activeProfiles;
-
-        private String ribbonEnv;
-
-        ProfileInfoVM(String[] activeProfiles, String ribbonEnv) {
-            this.activeProfiles = activeProfiles;
-            this.ribbonEnv = ribbonEnv;
-        }
-
-        public String[] getActiveProfiles() {
-            return activeProfiles;
-        }
-
-        public String getRibbonEnv() {
-            return ribbonEnv;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/RoutesResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/RoutesResource.java
deleted file mode 100644
index 0e5ffaa9373543b0d66eb738a11f3b8d23121e48..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/RoutesResource.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-import com.netflix.appinfo.InstanceInfo;
-import io.github.jhipster.registry.service.dto.ZuulRouteDTO;
-import io.github.jhipster.registry.web.rest.vm.RouteVM;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
-import org.springframework.cloud.netflix.zuul.filters.Route;
-import org.springframework.cloud.netflix.zuul.filters.RouteLocator;
-import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@RestController
-@RequestMapping("/api")
-public class RoutesResource {
-
-    @Value("${spring.application.name}")
-    private String registryName;
-
-    private final RouteLocator routeLocator;
-
-    private final DiscoveryClient discoveryClient;
-
-    private  ZuulProperties zuulProperties;
-
-    public RoutesResource(RouteLocator routeLocator, DiscoveryClient discoveryClient, ZuulProperties zuulProperties) {
-        this.routeLocator = routeLocator;
-        this.discoveryClient = discoveryClient;
-        this.zuulProperties = zuulProperties;
-    }
-
-    @GetMapping("/routes")
-    @Timed
-    public ResponseEntity<List<RouteVM>> getRoutes() {
-
-        List<Route> routes = routeLocator.getRoutes();
-        Map<String, RouteVM> routeVMs = new HashMap<>();
-        routeVMs.put(null, registryRoute());
-
-        routes.forEach(route -> {
-            RouteVM routeVM = new RouteVM();
-            routeVM.setPath(route.getFullPath());
-            routeVM.setPrefix(route.getPrefix());
-            routeVM.setAppName(extractName(route.getId()));
-            routeVM.setServiceId(route.getId());
-            routeVM.setServiceInstances(discoveryClient.getInstances(route.getId()));
-            routeVMs.put(route.getId(), routeVM);
-        });
-
-        fillStatus(routeVMs);
-
-        return new ResponseEntity<>(new ArrayList<>(routeVMs.values()), HttpStatus.OK);
-    }
-
-    /**
-     * Fill all Routes with each instance status.
-     */
-    private void fillStatus(Map<String, RouteVM> routeVMs) {
-        if(routeVMs != null && !routeVMs.isEmpty()) {
-            zuulProperties.getRoutes().values().forEach(oneRoute -> {
-                if(oneRoute instanceof ZuulRouteDTO){
-                    routeVMs.get(oneRoute.getId()).setStatus(((ZuulRouteDTO) oneRoute).getStatus());
-                }
-            });
-        }
-    }
-
-    /**
-     * Return the registry routeVM
-     */
-    private RouteVM registryRoute() {
-        return new RouteVM("/**", null, null, registryName, InstanceInfo.InstanceStatus.UP.toString(), null);
-    }
-
-    private String extractName(String id) {
-        if(id!=null && id.contains(":")){
-            return id.substring(0, id.indexOf(":"));
-        }
-        return id;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/SshResource.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/SshResource.java
deleted file mode 100644
index a9a6b551fecd15588e0cb4736a1fb343f2c91f5a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/SshResource.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-/**
- * Controller for getting the SSH public key.
- */
-@RestController
-@RequestMapping("/api")
-public class SshResource {
-
-    private final Logger log = LoggerFactory.getLogger(SshResource.class);
-
-    /**
-     * GET  / : get the SSH public key
-     */
-    @GetMapping(value = "/ssh/public_key", produces = MediaType.TEXT_PLAIN_VALUE)
-    @Timed
-    public ResponseEntity<String> eureka() {
-        try {
-            String publicKey = getPublicKey();
-            if(publicKey != null) return new ResponseEntity<>(publicKey, HttpStatus.OK);
-        } catch (IOException e) {
-            log.warn("SSH public key could not be loaded: {}", e.getMessage());
-        }
-        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
-    }
-
-    String getPublicKey() throws IOException {
-        return new String(Files.readAllBytes(
-            Paths.get(System.getProperty("user.home") + "/.ssh/id_rsa.pub")));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/UserJWTController.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/UserJWTController.java
deleted file mode 100644
index 60b87dc423326011ee0f0d3d1de4bc061f708fca..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/UserJWTController.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.codahale.metrics.annotation.Timed;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.github.jhipster.registry.security.jwt.JWTConfigurer;
-import io.github.jhipster.registry.security.jwt.TokenProvider;
-import io.github.jhipster.registry.web.rest.vm.LoginVM;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import java.util.Collections;
-
-/**
- * Controller to authenticate users.
- */
-@RestController
-@RequestMapping("/api")
-public class UserJWTController {
-
-    private final Logger log = LoggerFactory.getLogger(UserJWTController.class);
-
-    private final TokenProvider tokenProvider;
-
-    private final AuthenticationManager authenticationManager;
-
-    public UserJWTController(TokenProvider tokenProvider, AuthenticationManager authenticationManager) {
-        this.tokenProvider = tokenProvider;
-        this.authenticationManager = authenticationManager;
-    }
-
-    @PostMapping("/authenticate")
-    @Timed
-    public ResponseEntity authorize(@Valid @RequestBody LoginVM loginVM, HttpServletResponse response) {
-
-        UsernamePasswordAuthenticationToken authenticationToken =
-            new UsernamePasswordAuthenticationToken(loginVM.getUsername(), loginVM.getPassword());
-
-        try {
-            Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-            boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
-            String jwt = tokenProvider.createToken(authentication, rememberMe);
-            response.addHeader(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
-            return ResponseEntity.ok(new JWTToken(jwt));
-        } catch (AuthenticationException ae) {
-            log.trace("Authentication exception trace: {}", ae);
-            return new ResponseEntity<>(Collections.singletonMap("AuthenticationException",
-                ae.getLocalizedMessage()), HttpStatus.UNAUTHORIZED);
-        }
-    }
-
-    /**
-     * Object to return as body in JWT Authentication.
-     */
-    static class JWTToken {
-
-        private String idToken;
-
-        JWTToken(String idToken) {
-            this.idToken = idToken;
-        }
-
-        @JsonProperty("id_token")
-        String getIdToken() {
-            return idToken;
-        }
-
-        void setIdToken(String idToken) {
-            this.idToken = idToken;
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedException.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedException.java
deleted file mode 100644
index 18be4781bd744148c711dc7f69ad8d7fb485902d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Custom, parameterized exception, which can be translated on the client side.
- * For example:
- *
- * <pre>
- * throw new CustomParameterizedException(&quot;myCustomError&quot;, &quot;hello&quot;, &quot;world&quot;);
- * </pre>
- *
- * Can be translated with:
- *
- * <pre>
- * "error.myCustomError" :  "The server says {{param0}} to {{param1}}"
- * </pre>
- */
-public class CustomParameterizedException extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String PARAM = "param";
-
-    private final String message;
-
-    private final Map<String, String> paramMap = new HashMap<>();
-
-    public CustomParameterizedException(String message, String... params) {
-        super(message);
-        this.message = message;
-        if (params != null && params.length > 0) {
-            for (int i = 0; i < params.length; i++) {
-                paramMap.put(PARAM + i, params[i]);
-            }
-        }
-    }
-
-    public CustomParameterizedException(String message, Map<String, String> paramMap) {
-        super(message);
-        this.message = message;
-        this.paramMap.putAll(paramMap);
-    }
-
-    public ParameterizedErrorVM getErrorVM() {
-        return new ParameterizedErrorVM(message, paramMap);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorConstants.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorConstants.java
deleted file mode 100644
index 1d86edab78e2429fc996557378d6a30af3fab6ce..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorConstants.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-public final class ErrorConstants {
-
-    public static final String ERR_CONCURRENCY_FAILURE = "error.concurrencyFailure";
-    public static final String ERR_ACCESS_DENIED = "error.accessDenied";
-    public static final String ERR_VALIDATION = "error.validation";
-    public static final String ERR_METHOD_NOT_SUPPORTED = "error.methodNotSupported";
-    public static final String ERR_INTERNAL_SERVER_ERROR = "error.internalServerError";
-
-    private ErrorConstants() {
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorVM.java
deleted file mode 100644
index 38e8081c0654373cb68e9487d2d4d2f2ef86c3eb..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ErrorVM.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * View Model for transferring error message with a list of field errors.
- */
-public class ErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final String description;
-
-    private List<FieldErrorVM> fieldErrors;
-
-    public ErrorVM(String message) {
-        this(message, null);
-    }
-
-    public ErrorVM(String message, String description) {
-        this.message = message;
-        this.description = description;
-    }
-
-    public ErrorVM(String message, String description, List<FieldErrorVM> fieldErrors) {
-        this.message = message;
-        this.description = description;
-        this.fieldErrors = fieldErrors;
-    }
-
-    public void add(String objectName, String field, String message) {
-        if (fieldErrors == null) {
-            fieldErrors = new ArrayList<>();
-        }
-        fieldErrors.add(new FieldErrorVM(objectName, field, message));
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public List<FieldErrorVM> getFieldErrors() {
-        return fieldErrors;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslator.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslator.java
deleted file mode 100644
index 7407ac7c337fc5f63f022a85ebbc30fd3b176bf9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.util.List;
-
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.ResponseEntity.BodyBuilder;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.validation.BindingResult;
-import org.springframework.validation.FieldError;
-import org.springframework.web.HttpRequestMethodNotSupportedException;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * Controller advice to translate the server side exceptions to client-friendly json structures.
- */
-@ControllerAdvice
-public class ExceptionTranslator {
-
-    @ExceptionHandler(MethodArgumentNotValidException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ErrorVM processValidationError(MethodArgumentNotValidException ex) {
-        BindingResult result = ex.getBindingResult();
-        List<FieldError> fieldErrors = result.getFieldErrors();
-        ErrorVM dto = new ErrorVM(ErrorConstants.ERR_VALIDATION);
-        for (FieldError fieldError : fieldErrors) {
-            dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode());
-        }
-        return dto;
-    }
-
-    @ExceptionHandler(CustomParameterizedException.class)
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ResponseBody
-    public ParameterizedErrorVM processParameterizedValidationError(CustomParameterizedException ex) {
-        return ex.getErrorVM();
-    }
-
-    @ExceptionHandler(AccessDeniedException.class)
-    @ResponseStatus(HttpStatus.FORBIDDEN)
-    @ResponseBody
-    public ErrorVM processAccessDeniedException(AccessDeniedException e) {
-        return new ErrorVM(ErrorConstants.ERR_ACCESS_DENIED, e.getMessage());
-    }
-
-    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    @ResponseBody
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    public ErrorVM processMethodNotSupportedException(HttpRequestMethodNotSupportedException exception) {
-        return new ErrorVM(ErrorConstants.ERR_METHOD_NOT_SUPPORTED, exception.getMessage());
-    }
-
-    @ExceptionHandler(Exception.class)
-    public ResponseEntity<ErrorVM> processRuntimeException(Exception ex) {
-        BodyBuilder builder;
-        ErrorVM errorVM;
-        ResponseStatus responseStatus = AnnotationUtils.findAnnotation(ex.getClass(), ResponseStatus.class);
-        if (responseStatus != null) {
-            builder = ResponseEntity.status(responseStatus.value());
-            errorVM = new ErrorVM("error." + responseStatus.value().value(), responseStatus.reason());
-        } else {
-            builder = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR);
-            errorVM = new ErrorVM(ErrorConstants.ERR_INTERNAL_SERVER_ERROR, "Internal server error");
-        }
-        return builder.body(errorVM);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVM.java
deleted file mode 100644
index cc479d4ec692193ef53774ac6210c21384a0f6a7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVM.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.io.Serializable;
-
-public class FieldErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String objectName;
-
-    private final String field;
-
-    private final String message;
-
-    public FieldErrorVM(String dto, String field, String message) {
-        this.objectName = dto;
-        this.field = field;
-        this.message = message;
-    }
-
-    public String getObjectName() {
-        return objectName;
-    }
-
-    public String getField() {
-        return field;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVM.java
deleted file mode 100644
index 500d594e8ca3f433b41d57d3c4ebc7461f3fab9c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVM.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.io.Serializable;
-import java.util.Map;
-
-/**
- * View Model for sending a parameterized error message.
- */
-public class ParameterizedErrorVM implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private final String message;
-    private final Map<String, String> paramMap;
-
-    public ParameterizedErrorVM(String message, Map<String, String> paramMap) {
-        this.message = message;
-        this.paramMap = paramMap;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public Map<String, String> getParams() {
-        return paramMap;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/package-info.java
deleted file mode 100644
index 2486d2d7726472e748203fcaf0df9152e94344ca..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Spring MVC REST controllers.
- */
-package io.github.jhipster.registry.web.rest;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/EurekaVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/EurekaVM.java
deleted file mode 100644
index 2363659130b87a998474352886edb4e9816d1a30..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/EurekaVM.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * View Model object for representing Eureka applications list.
- */
-public class EurekaVM {
-
-    private List<Map<String, Object>> applications;
-
-    private Map<String, Object> status;
-
-    public List<Map<String, Object>> getApplications() {
-        return applications;
-    }
-
-    public void setApplications(List<Map<String, Object>> applications) {
-        this.applications = applications;
-    }
-
-    public Map<String, Object> getStatus() {
-        return status;
-    }
-
-    public void setStatus(Map<String, Object> status) {
-        this.status = status;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoggerVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoggerVM.java
deleted file mode 100644
index fb379b0835af85f1d17d2acd0e681e0e83f626a9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoggerVM.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import ch.qos.logback.classic.Logger;
-import com.fasterxml.jackson.annotation.JsonCreator;
-
-/**
- * View Model object for storing a Logback logger.
- */
-public class LoggerVM {
-
-    private String name;
-
-    private String level;
-
-    public LoggerVM(Logger logger) {
-        this.name = logger.getName();
-        this.level = logger.getEffectiveLevel().toString();
-    }
-
-    @JsonCreator
-    public LoggerVM() {
-        // Empty public constructor used by Jackson.
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getLevel() {
-        return level;
-    }
-
-    public void setLevel(String level) {
-        this.level = level;
-    }
-
-    @Override
-    public String toString() {
-        return "LoggerVM{" +
-            "name='" + name + '\'' +
-            ", level='" + level + '\'' +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoginVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoginVM.java
deleted file mode 100644
index e109323426fa99b7984948656339855bceab75ed..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/LoginVM.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-
-/**
- * View Model object for representing a user's credentials
- */
-public class LoginVM {
-
-    @NotNull
-    @Size(min = 1, max = 50)
-    private String username;
-
-    @NotNull
-    private String password;
-
-    private Boolean rememberMe;
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public Boolean isRememberMe() {
-        return rememberMe;
-    }
-
-    public void setRememberMe(Boolean rememberMe) {
-        this.rememberMe = rememberMe;
-    }
-
-    @Override
-    public String toString() {
-        return "LoginVM{" +
-            "username='" + username + '\'' +
-            ", rememberMe=" + rememberMe +
-            '}';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/RouteVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/RouteVM.java
deleted file mode 100644
index 65ecd40418bb831b6df13fbc3a442a9a441e1436..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/RouteVM.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import org.springframework.cloud.client.ServiceInstance;
-
-import java.util.List;
-
-/**
- * View Model that stores a route managed by the Registry.
- */
-public class RouteVM {
-
-    private String path;
-
-    private String prefix;
-
-    private String serviceId;
-
-    private String appName;
-
-    private String status;
-
-    private List<ServiceInstance> serviceInstances;
-
-    public RouteVM(){}
-
-    public RouteVM(String path, String prefix, String serviceId, String appName, String status, List<ServiceInstance> serviceInstances) {
-        this.path = path;
-        this.prefix = prefix;
-        this.serviceId = serviceId;
-        this.appName = appName;
-        this.status = status;
-        this.serviceInstances = serviceInstances;
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public String getPrefix() {
-        return prefix;
-    }
-
-    public void setPrefix(String prefix) {
-        this.prefix = prefix;
-    }
-
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    public void setServiceId(String serviceId) {
-        this.serviceId = serviceId;
-    }
-
-    public String getAppName() {
-        return appName;
-    }
-
-    public void setAppName(String appName) {
-        this.appName = appName;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public List<ServiceInstance> getServiceInstances() {
-        return serviceInstances;
-    }
-
-    public void setServiceInstances(List<ServiceInstance> serviceInstances) {
-        this.serviceInstances = serviceInstances;
-    }
-
-    @Override
-    public String toString() {
-        return "RouteVM{" +
-            "path='" + path + '\'' +
-            ", prefix='" + prefix + '\'' +
-            ", serviceId='" + serviceId + '\'' +
-            ", appName='" + appName + '\'' +
-            ", status='" + status + '\'' +
-            ", serviceInstances=" + serviceInstances +
-            '}';
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/UserVM.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/UserVM.java
deleted file mode 100644
index 12790a31a2dc87aaa9fb5d90bf0f77c4360eda6a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/UserVM.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import java.util.Set;
-
-/**
- * View Model object for representing a user, with his authorities.
- */
-public class UserVM {
-
-    @NotNull
-    @Size(min = 1, max = 50)
-    private String login;
-
-    private Set<String> authorities;
-
-    public UserVM() {
-    }
-
-    public UserVM(String login, Set<String> authorities) {
-
-        this.login = login;
-        this.authorities = authorities;
-    }
-
-    public String getLogin() {
-        return login;
-    }
-
-    public Set<String> getAuthorities() {
-        return authorities;
-    }
-
-    @Override
-    public String toString() {
-        return "UserVM{" +
-            "login='" + login + '\'' +
-            ", authorities=" + authorities +
-            "}";
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/package-info.java
deleted file mode 100644
index 278132e35e73a479ad46705a062e00aa6caaed7b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/java/io/github/jhipster/registry/web/rest/vm/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * View Models used by Spring MVC REST controllers.
- */
-package io.github.jhipster.registry.web.rest.vm;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/banner.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/banner.txt
deleted file mode 100644
index 979e7c83744222c8598d23e26a3fd61d37d3115d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-  ${AnsiColor.GREEN}      ██╗${AnsiColor.RED} ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
-  ${AnsiColor.GREEN}      ██║${AnsiColor.RED} ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
-  ${AnsiColor.GREEN}██╗   ██║${AnsiColor.RED} ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
-  ${AnsiColor.GREEN}╚██████╔╝${AnsiColor.RED} ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
-  ${AnsiColor.GREEN} ╚═════╝ ${AnsiColor.RED} ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
-
-${AnsiColor.BRIGHT_BLUE}:: JHipster Registry :: Running Spring Boot ${spring-boot.version} ::
-:: http://jhipster.github.io ::${AnsiColor.DEFAULT}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-dev.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-dev.yml
deleted file mode 100644
index e72c575db78a3210ba65372a22be1b9b89fbcd26..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-dev.yml
+++ /dev/null
@@ -1,120 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "dev" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-spring:
-    devtools:
-        restart:
-            enabled: true
-        livereload:
-            enabled: false # we use gulp + BrowserSync for livereload
-    jackson:
-        serialization.indent_output: true
-    mail:
-        host: localhost
-        port: 25
-        username:
-        password:
-    messages:
-        cache-seconds: 1
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias JHipsterRegistry -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 8443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: JHipsterRegistry
-# ===================================================================
-server:
-    port: 8761
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-    # CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API
-    cors:
-        allowed-origins: "*"
-        allowed-methods: GET, PUT, POST, DELETE, OPTIONS
-        allowed-headers: "*"
-        exposed-headers:
-        allow-credentials: true
-        max-age: 1800
-    security:
-        authentication:
-            jwt:
-                # The secret key should come from a Spring Cloud Config server, and not from this file
-                # If using the "native" profile, it should be located in the "central-config" directory
-                # If using the "git" profile, it should come from an external Git repository
-                secret: this-secret-should-not-be-used-read-the-comment
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: JHipsterRegistry@localhost
-        base-url: http://127.0.0.1:8761
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite: # Use the "graphite" Maven profile to have the Graphite dependencies
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: JHipsterRegistry
-        prometheus: # Use the "prometheus" Maven profile to have the Prometheus dependencies
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-security:
-    user:
-        name: admin
-        password: admin
-        role: USER,ADMIN
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer1.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer1.yml
deleted file mode 100644
index f99bc0ae09ef8790f44a7c205e96b5bae4d28aa2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer1.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration will be overriden by the Spring profile you use,
-# for example application-dev.yml if you use the "dev" profile.
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-# ===================================================================
-# Eureka server configuration (eureka.server.*)
-#
-# Full list of properties with default values at:
-# https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerConfigBean.java
-#
-# Documentation at:
-# https://github.com/Netflix/eureka/blob/master/eureka-core/src/main/java/com/netflix/eureka/EurekaServerConfig.java
-# ===================================================================
-
-server:
-    port: 8761
-
-eureka:
-    instance:
-        hostname: eureka-peer-1
-    server:
-        # see discussion about enable-self-preservation:
-        # https://github.com/jhipster/generator-jhipster/issues/3654
-        enable-self-preservation: false
-        registry-sync-retry-wait-ms: 500
-        a-sgcache-expiry-timeout-ms: 60000
-        eviction-interval-timer-in-ms: 30000
-        peer-eureka-nodes-update-interval-ms: 30000
-        renewal-threshold-update-interval-ms: 15000
-    client:
-        fetch-registry: true
-        register-with-eureka: true
-        service-url:
-            defaultZone: http://admin:${security.user.password:admin}@eureka-peer-2:8762/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer2.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer2.yml
deleted file mode 100644
index 7593963cf26cdbaa5be242c799abc2b26fd6a6d2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-peer2.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration will be overriden by the Spring profile you use,
-# for example application-dev.yml if you use the "dev" profile.
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-# ===================================================================
-# Eureka server configuration (eureka.server.*)
-#
-# Full list of properties with default values at:
-# https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerConfigBean.java
-#
-# Documentation at:
-# https://github.com/Netflix/eureka/blob/master/eureka-core/src/main/java/com/netflix/eureka/EurekaServerConfig.java
-# ===================================================================
-
-server:
-    port: 8762
-
-eureka:
-    instance:
-        hostname: eureka-peer-2
-    server:
-        # see discussion about enable-self-preservation:
-        # https://github.com/jhipster/generator-jhipster/issues/3654
-        enable-self-preservation: false
-        registry-sync-retry-wait-ms: 500
-        a-sgcache-expiry-timeout-ms: 60000
-        eviction-interval-timer-in-ms: 30000
-        peer-eureka-nodes-update-interval-ms: 30000
-        renewal-threshold-update-interval-ms: 15000
-    client:
-        fetch-registry: true
-        register-with-eureka: true
-        service-url:
-            defaultZone: http://admin:${security.user.password:admin}@eureka-peer-1:8761/eureka/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-prod.yml
deleted file mode 100644
index 3a95ff981e8d6ee79fd8704a36b992f16bed6fdf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application-prod.yml
+++ /dev/null
@@ -1,113 +0,0 @@
-# ===================================================================
-# Spring Boot configuration for the "prod" profile.
-#
-# This configuration overrides the application.yml file.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-spring:
-    devtools:
-        restart:
-            enabled: false
-        livereload:
-            enabled: false
-    mail:
-        host: localhost
-        port: 25
-        username:
-        password:
-
-# ===================================================================
-# To enable SSL, generate a certificate using:
-# keytool -genkey -alias JHipsterRegistry -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
-#
-# You can also use Let's Encrypt:
-# https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm
-#
-# Then, modify the server.ssl properties so your "server" configuration looks like:
-#
-# server:
-#    port: 443
-#    ssl:
-#        key-store: keystore.p12
-#        key-store-password: <your-password>
-#        keyStoreType: PKCS12
-#        keyAlias: JHipsterRegistry
-# ===================================================================
-server:
-    port: 8761
-    compression:
-        enabled: true
-        mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json
-        min-response-size: 1024
-
-security:
-    user:
-        name: admin
-        password: admin
-        role: USER,ADMIN
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    http:
-        version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration)
-        cache: # Used by the CachingHttpHeadersFilter
-            timeToLiveInDays: 1461
-    security:
-        authentication:
-            jwt:
-                # The secret key should come from a Spring Cloud Config server, and not from this file
-                # If using the "native" profile, it should be located in the "central-config" directory
-                # If using the "git" profile, it should come from an external Git repository
-                secret: this-secret-should-not-be-used-read-the-comment
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-                token-validity-in-seconds-for-remember-me: 2592000
-    mail: # specific JHipster mail property, for standard properties see MailProperties
-        from: JHipsterRegistry@localhost
-        base-url: http://my-server-url-to-change # Modify according to your server's URL
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-        graphite:
-            enabled: false
-            host: localhost
-            port: 2003
-            prefix: JHipsterRegistry
-        prometheus:
-            enabled: false
-            endpoint: /prometheusMetrics
-        logs: # Reports Dropwizard metrics in the logs
-            enabled: false
-            report-frequency: 60 # in seconds
-    logging:
-        logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration
-            enabled: false
-            host: localhost
-            port: 5000
-            queue-size: 512
-        spectator-metrics: # Reports Spectator Circuit Breaker metrics in the logs
-            enabled: false
-            # edit spring.metrics.export.delay-millis to set report frequency
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application.yml
deleted file mode 100644
index df179913ab8d982251cdccf394d39a8e065635e8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/application.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration will be overriden by the Spring profile you use,
-# for example application-dev.yml if you use the "dev" profile.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-spring:
-    application:
-        name: jhipster-registry
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-server:
-    port: 8761
-
-ribbon:
-    eureka:
-        enabled: true
-
-zuul:
-    prefix: /services/ #slash before and after
-    strip-prefix: true
-
-management:
-    security:
-        roles: ADMIN
-    context-path: /management
-    health:
-        mail:
-            enabled: false # When using the MailService, configure an SMTP server and set this to true
-
-security:
-    user:
-        name: admin
-        password: admin
-        role: USER,ADMIN
-
-# ===================================================================
-# Eureka server configuration (eureka.server.*)
-#
-# Full list of properties with default values at:
-# https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerConfigBean.java
-#
-# Documentation at:
-# https://github.com/Netflix/eureka/blob/master/eureka-core/src/main/java/com/netflix/eureka/EurekaServerConfig.java
-# ===================================================================
-
-eureka:
-    instance:
-        appname: jhipster-registry
-        instanceId: jhipsterRegistry:${spring.application.instance_id:${random.value}}
-        prefer-ip-address: true
-        lease-renewal-interval-in-seconds: 5
-        lease-expiration-duration-in-seconds: 10
-        status-page-url-path: ${management.context-path}/info
-        health-check-url-path: ${management.context-path}/health
-        metadata-map:
-            profile: ${spring.profiles.active}
-            version: ${info.project.version}
-    client:
-        enabled: true
-        fetch-registry: false
-        register-with-eureka: false
-        instance-info-replication-interval-seconds: 10
-        registry-fetch-interval-seconds: 10
-    server:
-        # see discussion about enable-self-preservation:
-        # https://github.com/jhipster/generator-jhipster/issues/3654
-        enable-self-preservation: false
-    dashboard:
-        path: /registry
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap-prod.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap-prod.yml
deleted file mode 100644
index c903efb8ecd1ca792e05b30ae0b25dc54deea6dd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap-prod.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "dev" profile
-# In prod profile, properties will be overwriten by the ones defined in bootstrap-prod.yml
-# ===================================================================
-
-spring:
-    application:
-        name: jhipster-registry
-    profiles:
-        active: prod,git
-    cloud:
-        config:
-            server:
-                git:
-                    uri: https://github.com/jhipster/jhipster-registry-sample-config
-                native:
-                    search-locations: file:./central-config
-                prefix: /config
-                bootstrap: true
-            fail-fast: true
-            # name of the config server's property source (file.yml) that we want to use
-            name: jhispter-registry
-            profile: dev # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-info:
-    project:
-        version: #project.version#
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap.yml
deleted file mode 100644
index ce1503eafed662de4514726302e521c9206ea601..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/config/bootstrap.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-# ===================================================================
-# Spring Cloud Config bootstrap configuration for the "dev" profile
-# In prod profile, properties will be overwriten by the ones defined in bootstrap-prod.yml
-# ===================================================================
-
-spring:
-    application:
-        name: jhipster-registry
-    profiles:
-        active: dev,native
-    cloud:
-        config:
-            server:
-                git:
-                    uri: https://github.com/jhipster/jhipster-registry-sample-config
-                native:
-                    search-locations: file:./central-config
-                prefix: /config
-                bootstrap: true
-            fail-fast: true
-            # name of the config server's property source (file.yml) that we want to use
-            name: jhispter-registry
-            profile: dev # profile(s) of the property source
-            label: master # toggle to switch to a different version of the configuration as stored in git
-            # it can be set to any label, branch or commit of the config source git repository
-
-info:
-    project:
-        version: #project.version#
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/logback-spring.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/logback-spring.xml
deleted file mode 100644
index 710b7f86bf250969e6fbf5fc183cba672f3554fd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-
-<!-- The FILE and ASYNC appenders are here as examples for a production configuration -->
-<!--
-    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <maxHistory>90</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <charset>utf-8</charset>
-            <Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
-        </encoder>
-    </appender>
-
-    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <appender-ref ref="FILE"/>
-    </appender>
--->
-
-    <logger name="io.github.jhipster.registry" level="#logback.loglevel#"/>
-
-    <logger name="io.github.jhipster" level="DEBUG"/>
-
-    <logger name="javax.activation" level="WARN"/>
-    <logger name="javax.mail" level="WARN"/>
-    <logger name="javax.xml.bind" level="WARN"/>
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="com.codahale.metrics" level="WARN"/>
-    <logger name="com.netflix" level="WARN"/>
-    <logger name="com.netflix.discovery" level="INFO"/>
-    <logger name="com.ryantenney" level="WARN"/>
-    <logger name="com.sun" level="WARN"/>
-    <logger name="com.zaxxer" level="WARN"/>
-    <logger name="io.undertow" level="WARN"/>
-    <logger name="io.undertow.websockets.jsr" level="ERROR"/>
-    <logger name="org.apache" level="WARN"/>
-    <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
-    <logger name="org.bson" level="WARN"/>
-    <logger name="org.hibernate.validator" level="WARN"/>
-    <logger name="org.springframework" level="WARN"/>
-    <logger name="org.springframework.web" level="WARN"/>
-    <logger name="org.springframework.security" level="WARN"/>
-    <logger name="org.springframework.cache" level="WARN"/>
-    <logger name="org.xnio" level="WARN"/>
-    <logger name="springfox" level="WARN"/>
-    <logger name="sun.rmi" level="WARN"/>
-    <logger name="sun.net.www" level="INFO"/>
-    <logger name="sun.rmi.transport" level="WARN"/>
-
-    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
-        <resetJUL>true</resetJUL>
-    </contextListener>
-
-    <root level="#logback.loglevel#">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/css/wro.css b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/css/wro.css
deleted file mode 100644
index d52ec74d57aa775eba0967b008a7673df5468fa7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/css/wro.css
+++ /dev/null
@@ -1,6393 +0,0 @@
-html {
-  font-family: sans-serif;
-  -ms-text-size-adjust: 100%;
-  -webkit-text-size-adjust: 100%;
-}
-body {
-  margin: 0;
-}
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-nav,
-section,
-summary {
-  display: block;
-}
-audio,
-canvas,
-progress,
-video {
-  display: inline-block;
-  vertical-align: baseline;
-}
-audio:not([controls]) {
-  display: none;
-  height: 0;
-}
-[hidden],
-template {
-  display: none;
-}
-a {
-  background: transparent;
-}
-a:active,
-a:hover {
-  outline: 0;
-}
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-b,
-strong {
-  font-weight: bold;
-}
-dfn {
-  font-style: italic;
-}
-h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-mark {
-  background: #ff0;
-  color: #000;
-}
-small {
-  font-size: 80%;
-}
-sub,
-sup {
-  font-size: 75%;
-  line-height: 0;
-  position: relative;
-  vertical-align: baseline;
-}
-sup {
-  top: -0.5em;
-}
-sub {
-  bottom: -0.25em;
-}
-img {
-  border: 0;
-}
-svg:not(:root) {
-  overflow: hidden;
-}
-figure {
-  margin: 1em 40px;
-}
-hr {
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-  height: 0;
-}
-pre {
-  overflow: auto;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-button,
-input,
-optgroup,
-select,
-textarea {
-  color: inherit;
-  font: inherit;
-  margin: 0;
-}
-button {
-  overflow: visible;
-}
-button,
-select {
-  text-transform: none;
-}
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button;
-  cursor: pointer;
-}
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  border: 0;
-  padding: 0;
-}
-input {
-  line-height: normal;
-}
-input[type="checkbox"],
-input[type="radio"] {
-  box-sizing: border-box;
-  padding: 0;
-}
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: textfield;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  box-sizing: content-box;
-}
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-fieldset {
-  border: 1px solid #c0c0c0;
-  margin: 0 2px;
-  padding: 0.35em 0.625em 0.75em;
-}
-legend {
-  border: 0;
-  padding: 0;
-}
-textarea {
-  overflow: auto;
-}
-optgroup {
-  font-weight: bold;
-}
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-td,
-th {
-  padding: 0;
-}
-@media print {
-  * {
-    text-shadow: none !important;
-    color: #000 !important;
-    background: transparent !important;
-    box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  a[href^="javascript:"]:after,
-  a[href^="#"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-  select {
-    background: #fff !important;
-  }
-  .navbar {
-    display: none;
-  }
-  .table td,
-  .table th {
-    background-color: #fff !important;
-  }
-  .btn > .caret,
-  .dropup > .btn > .caret {
-    border-top-color: #000 !important;
-  }
-  .label {
-    border: 1px solid #000;
-  }
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table-bordered th,
-  .table-bordered td {
-    border: 1px solid #ddd !important;
-  }
-}
-@font-face {
-  font-family: 'Glyphicons Halflings';
-  src: url('../fonts/glyphicons-halflings-regular.eot');
-  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
-}
-.glyphicon {
-  position: relative;
-  top: 1px;
-  display: inline-block;
-  font-family: 'Glyphicons Halflings';
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-.glyphicon-asterisk:before {
-  content: "\2a";
-}
-.glyphicon-plus:before {
-  content: "\2b";
-}
-.glyphicon-euro:before {
-  content: "\20ac";
-}
-.glyphicon-minus:before {
-  content: "\2212";
-}
-.glyphicon-cloud:before {
-  content: "\2601";
-}
-.glyphicon-envelope:before {
-  content: "\2709";
-}
-.glyphicon-pencil:before {
-  content: "\270f";
-}
-.glyphicon-glass:before {
-  content: "\e001";
-}
-.glyphicon-music:before {
-  content: "\e002";
-}
-.glyphicon-search:before {
-  content: "\e003";
-}
-.glyphicon-heart:before {
-  content: "\e005";
-}
-.glyphicon-star:before {
-  content: "\e006";
-}
-.glyphicon-star-empty:before {
-  content: "\e007";
-}
-.glyphicon-user:before {
-  content: "\e008";
-}
-.glyphicon-film:before {
-  content: "\e009";
-}
-.glyphicon-th-large:before {
-  content: "\e010";
-}
-.glyphicon-th:before {
-  content: "\e011";
-}
-.glyphicon-th-list:before {
-  content: "\e012";
-}
-.glyphicon-ok:before {
-  content: "\e013";
-}
-.glyphicon-remove:before {
-  content: "\e014";
-}
-.glyphicon-zoom-in:before {
-  content: "\e015";
-}
-.glyphicon-zoom-out:before {
-  content: "\e016";
-}
-.glyphicon-off:before {
-  content: "\e017";
-}
-.glyphicon-signal:before {
-  content: "\e018";
-}
-.glyphicon-cog:before {
-  content: "\e019";
-}
-.glyphicon-trash:before {
-  content: "\e020";
-}
-.glyphicon-home:before {
-  content: "\e021";
-}
-.glyphicon-file:before {
-  content: "\e022";
-}
-.glyphicon-time:before {
-  content: "\e023";
-}
-.glyphicon-road:before {
-  content: "\e024";
-}
-.glyphicon-download-alt:before {
-  content: "\e025";
-}
-.glyphicon-download:before {
-  content: "\e026";
-}
-.glyphicon-upload:before {
-  content: "\e027";
-}
-.glyphicon-inbox:before {
-  content: "\e028";
-}
-.glyphicon-play-circle:before {
-  content: "\e029";
-}
-.glyphicon-repeat:before {
-  content: "\e030";
-}
-.glyphicon-refresh:before {
-  content: "\e031";
-}
-.glyphicon-list-alt:before {
-  content: "\e032";
-}
-.glyphicon-lock:before {
-  content: "\e033";
-}
-.glyphicon-flag:before {
-  content: "\e034";
-}
-.glyphicon-headphones:before {
-  content: "\e035";
-}
-.glyphicon-volume-off:before {
-  content: "\e036";
-}
-.glyphicon-volume-down:before {
-  content: "\e037";
-}
-.glyphicon-volume-up:before {
-  content: "\e038";
-}
-.glyphicon-qrcode:before {
-  content: "\e039";
-}
-.glyphicon-barcode:before {
-  content: "\e040";
-}
-.glyphicon-tag:before {
-  content: "\e041";
-}
-.glyphicon-tags:before {
-  content: "\e042";
-}
-.glyphicon-book:before {
-  content: "\e043";
-}
-.glyphicon-bookmark:before {
-  content: "\e044";
-}
-.glyphicon-print:before {
-  content: "\e045";
-}
-.glyphicon-camera:before {
-  content: "\e046";
-}
-.glyphicon-font:before {
-  content: "\e047";
-}
-.glyphicon-bold:before {
-  content: "\e048";
-}
-.glyphicon-italic:before {
-  content: "\e049";
-}
-.glyphicon-text-height:before {
-  content: "\e050";
-}
-.glyphicon-text-width:before {
-  content: "\e051";
-}
-.glyphicon-align-left:before {
-  content: "\e052";
-}
-.glyphicon-align-center:before {
-  content: "\e053";
-}
-.glyphicon-align-right:before {
-  content: "\e054";
-}
-.glyphicon-align-justify:before {
-  content: "\e055";
-}
-.glyphicon-list:before {
-  content: "\e056";
-}
-.glyphicon-indent-left:before {
-  content: "\e057";
-}
-.glyphicon-indent-right:before {
-  content: "\e058";
-}
-.glyphicon-facetime-video:before {
-  content: "\e059";
-}
-.glyphicon-picture:before {
-  content: "\e060";
-}
-.glyphicon-map-marker:before {
-  content: "\e062";
-}
-.glyphicon-adjust:before {
-  content: "\e063";
-}
-.glyphicon-tint:before {
-  content: "\e064";
-}
-.glyphicon-edit:before {
-  content: "\e065";
-}
-.glyphicon-share:before {
-  content: "\e066";
-}
-.glyphicon-check:before {
-  content: "\e067";
-}
-.glyphicon-move:before {
-  content: "\e068";
-}
-.glyphicon-step-backward:before {
-  content: "\e069";
-}
-.glyphicon-fast-backward:before {
-  content: "\e070";
-}
-.glyphicon-backward:before {
-  content: "\e071";
-}
-.glyphicon-play:before {
-  content: "\e072";
-}
-.glyphicon-pause:before {
-  content: "\e073";
-}
-.glyphicon-stop:before {
-  content: "\e074";
-}
-.glyphicon-forward:before {
-  content: "\e075";
-}
-.glyphicon-fast-forward:before {
-  content: "\e076";
-}
-.glyphicon-step-forward:before {
-  content: "\e077";
-}
-.glyphicon-eject:before {
-  content: "\e078";
-}
-.glyphicon-chevron-left:before {
-  content: "\e079";
-}
-.glyphicon-chevron-right:before {
-  content: "\e080";
-}
-.glyphicon-plus-sign:before {
-  content: "\e081";
-}
-.glyphicon-minus-sign:before {
-  content: "\e082";
-}
-.glyphicon-remove-sign:before {
-  content: "\e083";
-}
-.glyphicon-ok-sign:before {
-  content: "\e084";
-}
-.glyphicon-question-sign:before {
-  content: "\e085";
-}
-.glyphicon-info-sign:before {
-  content: "\e086";
-}
-.glyphicon-screenshot:before {
-  content: "\e087";
-}
-.glyphicon-remove-circle:before {
-  content: "\e088";
-}
-.glyphicon-ok-circle:before {
-  content: "\e089";
-}
-.glyphicon-ban-circle:before {
-  content: "\e090";
-}
-.glyphicon-arrow-left:before {
-  content: "\e091";
-}
-.glyphicon-arrow-right:before {
-  content: "\e092";
-}
-.glyphicon-arrow-up:before {
-  content: "\e093";
-}
-.glyphicon-arrow-down:before {
-  content: "\e094";
-}
-.glyphicon-share-alt:before {
-  content: "\e095";
-}
-.glyphicon-resize-full:before {
-  content: "\e096";
-}
-.glyphicon-resize-small:before {
-  content: "\e097";
-}
-.glyphicon-exclamation-sign:before {
-  content: "\e101";
-}
-.glyphicon-gift:before {
-  content: "\e102";
-}
-.glyphicon-leaf:before {
-  content: "\e103";
-}
-.glyphicon-fire:before {
-  content: "\e104";
-}
-.glyphicon-eye-open:before {
-  content: "\e105";
-}
-.glyphicon-eye-close:before {
-  content: "\e106";
-}
-.glyphicon-warning-sign:before {
-  content: "\e107";
-}
-.glyphicon-plane:before {
-  content: "\e108";
-}
-.glyphicon-calendar:before {
-  content: "\e109";
-}
-.glyphicon-random:before {
-  content: "\e110";
-}
-.glyphicon-comment:before {
-  content: "\e111";
-}
-.glyphicon-magnet:before {
-  content: "\e112";
-}
-.glyphicon-chevron-up:before {
-  content: "\e113";
-}
-.glyphicon-chevron-down:before {
-  content: "\e114";
-}
-.glyphicon-retweet:before {
-  content: "\e115";
-}
-.glyphicon-shopping-cart:before {
-  content: "\e116";
-}
-.glyphicon-folder-close:before {
-  content: "\e117";
-}
-.glyphicon-folder-open:before {
-  content: "\e118";
-}
-.glyphicon-resize-vertical:before {
-  content: "\e119";
-}
-.glyphicon-resize-horizontal:before {
-  content: "\e120";
-}
-.glyphicon-hdd:before {
-  content: "\e121";
-}
-.glyphicon-bullhorn:before {
-  content: "\e122";
-}
-.glyphicon-bell:before {
-  content: "\e123";
-}
-.glyphicon-certificate:before {
-  content: "\e124";
-}
-.glyphicon-thumbs-up:before {
-  content: "\e125";
-}
-.glyphicon-thumbs-down:before {
-  content: "\e126";
-}
-.glyphicon-hand-right:before {
-  content: "\e127";
-}
-.glyphicon-hand-left:before {
-  content: "\e128";
-}
-.glyphicon-hand-up:before {
-  content: "\e129";
-}
-.glyphicon-hand-down:before {
-  content: "\e130";
-}
-.glyphicon-circle-arrow-right:before {
-  content: "\e131";
-}
-.glyphicon-circle-arrow-left:before {
-  content: "\e132";
-}
-.glyphicon-circle-arrow-up:before {
-  content: "\e133";
-}
-.glyphicon-circle-arrow-down:before {
-  content: "\e134";
-}
-.glyphicon-globe:before {
-  content: "\e135";
-}
-.glyphicon-wrench:before {
-  content: "\e136";
-}
-.glyphicon-tasks:before {
-  content: "\e137";
-}
-.glyphicon-filter:before {
-  content: "\e138";
-}
-.glyphicon-briefcase:before {
-  content: "\e139";
-}
-.glyphicon-fullscreen:before {
-  content: "\e140";
-}
-.glyphicon-dashboard:before {
-  content: "\e141";
-}
-.glyphicon-paperclip:before {
-  content: "\e142";
-}
-.glyphicon-heart-empty:before {
-  content: "\e143";
-}
-.glyphicon-link:before {
-  content: "\e144";
-}
-.glyphicon-phone:before {
-  content: "\e145";
-}
-.glyphicon-pushpin:before {
-  content: "\e146";
-}
-.glyphicon-usd:before {
-  content: "\e148";
-}
-.glyphicon-gbp:before {
-  content: "\e149";
-}
-.glyphicon-sort:before {
-  content: "\e150";
-}
-.glyphicon-sort-by-alphabet:before {
-  content: "\e151";
-}
-.glyphicon-sort-by-alphabet-alt:before {
-  content: "\e152";
-}
-.glyphicon-sort-by-order:before {
-  content: "\e153";
-}
-.glyphicon-sort-by-order-alt:before {
-  content: "\e154";
-}
-.glyphicon-sort-by-attributes:before {
-  content: "\e155";
-}
-.glyphicon-sort-by-attributes-alt:before {
-  content: "\e156";
-}
-.glyphicon-unchecked:before {
-  content: "\e157";
-}
-.glyphicon-expand:before {
-  content: "\e158";
-}
-.glyphicon-collapse-down:before {
-  content: "\e159";
-}
-.glyphicon-collapse-up:before {
-  content: "\e160";
-}
-.glyphicon-log-in:before {
-  content: "\e161";
-}
-.glyphicon-flash:before {
-  content: "\e162";
-}
-.glyphicon-log-out:before {
-  content: "\e163";
-}
-.glyphicon-new-window:before {
-  content: "\e164";
-}
-.glyphicon-record:before {
-  content: "\e165";
-}
-.glyphicon-save:before {
-  content: "\e166";
-}
-.glyphicon-open:before {
-  content: "\e167";
-}
-.glyphicon-saved:before {
-  content: "\e168";
-}
-.glyphicon-import:before {
-  content: "\e169";
-}
-.glyphicon-export:before {
-  content: "\e170";
-}
-.glyphicon-send:before {
-  content: "\e171";
-}
-.glyphicon-floppy-disk:before {
-  content: "\e172";
-}
-.glyphicon-floppy-saved:before {
-  content: "\e173";
-}
-.glyphicon-floppy-remove:before {
-  content: "\e174";
-}
-.glyphicon-floppy-save:before {
-  content: "\e175";
-}
-.glyphicon-floppy-open:before {
-  content: "\e176";
-}
-.glyphicon-credit-card:before {
-  content: "\e177";
-}
-.glyphicon-transfer:before {
-  content: "\e178";
-}
-.glyphicon-cutlery:before {
-  content: "\e179";
-}
-.glyphicon-header:before {
-  content: "\e180";
-}
-.glyphicon-compressed:before {
-  content: "\e181";
-}
-.glyphicon-earphone:before {
-  content: "\e182";
-}
-.glyphicon-phone-alt:before {
-  content: "\e183";
-}
-.glyphicon-tower:before {
-  content: "\e184";
-}
-.glyphicon-stats:before {
-  content: "\e185";
-}
-.glyphicon-sd-video:before {
-  content: "\e186";
-}
-.glyphicon-hd-video:before {
-  content: "\e187";
-}
-.glyphicon-subtitles:before {
-  content: "\e188";
-}
-.glyphicon-sound-stereo:before {
-  content: "\e189";
-}
-.glyphicon-sound-dolby:before {
-  content: "\e190";
-}
-.glyphicon-sound-5-1:before {
-  content: "\e191";
-}
-.glyphicon-sound-6-1:before {
-  content: "\e192";
-}
-.glyphicon-sound-7-1:before {
-  content: "\e193";
-}
-.glyphicon-copyright-mark:before {
-  content: "\e194";
-}
-.glyphicon-registration-mark:before {
-  content: "\e195";
-}
-.glyphicon-cloud-download:before {
-  content: "\e197";
-}
-.glyphicon-cloud-upload:before {
-  content: "\e198";
-}
-.glyphicon-tree-conifer:before {
-  content: "\e199";
-}
-.glyphicon-tree-deciduous:before {
-  content: "\e200";
-}
-* {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-*:before,
-*:after {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-html {
-  font-size: 10px;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-body {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 1.428571429;
-  color: #f1f1f1;
-  background-color: #f1f1f1;
-}
-input,
-button,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-a {
-  color: #5fa134;
-  text-decoration: none;
-}
-a:hover,
-a:focus {
-  color: #5fa134;
-  text-decoration: underline;
-}
-a:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-figure {
-  margin: 0;
-}
-img {
-  vertical-align: middle;
-}
-.img-responsive,
-.thumbnail > img,
-.thumbnail a > img,
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  display: block;
-  width: 100% \9;
-  max-width: 100%;
-  height: auto;
-}
-.img-rounded {
-  border-radius: 0;
-}
-.img-thumbnail {
-  padding: 4px;
-  line-height: 1.428571429;
-  background-color: #f1f1f1;
-  border: 1px solid #ddd;
-  border-radius: 0;
-  -webkit-transition: all .2s ease-in-out;
-  -o-transition: all .2s ease-in-out;
-  transition: all .2s ease-in-out;
-  display: inline-block;
-  width: 100% \9;
-  max-width: 100%;
-  height: auto;
-}
-.img-circle {
-  border-radius: 50%;
-}
-hr {
-  margin-top: 20px;
-  margin-bottom: 20px;
-  border: 0;
-  border-top: 1px solid #eeeeee;
-}
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  margin: -1px;
-  padding: 0;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  border: 0;
-}
-.sr-only-focusable:active,
-.sr-only-focusable:focus {
-  position: static;
-  width: auto;
-  height: auto;
-  margin: 0;
-  overflow: visible;
-  clip: auto;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
-  font-family: inherit;
-  font-weight: 500;
-  line-height: 1.1;
-  color: inherit;
-}
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small,
-.h1 small,
-.h2 small,
-.h3 small,
-.h4 small,
-.h5 small,
-.h6 small,
-h1 .small,
-h2 .small,
-h3 .small,
-h4 .small,
-h5 .small,
-h6 .small,
-.h1 .small,
-.h2 .small,
-.h3 .small,
-.h4 .small,
-.h5 .small,
-.h6 .small {
-  font-weight: normal;
-  line-height: 1;
-  color: #777777;
-}
-h1,
-.h1,
-h2,
-.h2,
-h3,
-.h3 {
-  margin-top: 20px;
-  margin-bottom: 10px;
-}
-h1 small,
-.h1 small,
-h2 small,
-.h2 small,
-h3 small,
-.h3 small,
-h1 .small,
-.h1 .small,
-h2 .small,
-.h2 .small,
-h3 .small,
-.h3 .small {
-  font-size: 65%;
-}
-h4,
-.h4,
-h5,
-.h5,
-h6,
-.h6 {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-h4 small,
-.h4 small,
-h5 small,
-.h5 small,
-h6 small,
-.h6 small,
-h4 .small,
-.h4 .small,
-h5 .small,
-.h5 .small,
-h6 .small,
-.h6 .small {
-  font-size: 75%;
-}
-h1,
-.h1 {
-  font-size: 36px;
-}
-h2,
-.h2 {
-  font-size: 30px;
-}
-h3,
-.h3 {
-  font-size: 24px;
-}
-h4,
-.h4 {
-  font-size: 18px;
-}
-h5,
-.h5 {
-  font-size: 14px;
-}
-h6,
-.h6 {
-  font-size: 12px;
-}
-p {
-  margin: 0 0 10px;
-}
-.lead {
-  margin-bottom: 20px;
-  font-size: 16px;
-  font-weight: 300;
-  line-height: 1.4;
-}
-@media (min-width: 768px) {
-  .lead {
-    font-size: 21px;
-  }
-}
-small,
-.small {
-  font-size: 85%;
-}
-cite {
-  font-style: normal;
-}
-mark,
-.mark {
-  background-color: #fcf8e3;
-  padding: .2em;
-}
-.text-left {
-  text-align: left;
-}
-.text-right {
-  text-align: right;
-}
-.text-center {
-  text-align: center;
-}
-.text-justify {
-  text-align: justify;
-}
-.text-nowrap {
-  white-space: nowrap;
-}
-.text-lowercase {
-  text-transform: lowercase;
-}
-.text-uppercase {
-  text-transform: uppercase;
-}
-.text-capitalize {
-  text-transform: capitalize;
-}
-.text-muted {
-  color: #777777;
-}
-.text-primary {
-  color: #428bca;
-}
-a.text-primary:hover {
-  color: #3071a9;
-}
-.text-success {
-  color: #3c763d;
-}
-a.text-success:hover {
-  color: #2b542c;
-}
-.text-info {
-  color: #31708f;
-}
-a.text-info:hover {
-  color: #245269;
-}
-.text-warning {
-  color: #8a6d3b;
-}
-a.text-warning:hover {
-  color: #66512c;
-}
-.text-danger {
-  color: #a94442;
-}
-a.text-danger:hover {
-  color: #843534;
-}
-.bg-primary {
-  color: #fff;
-  background-color: #428bca;
-}
-a.bg-primary:hover {
-  background-color: #3071a9;
-}
-.bg-success {
-  background-color: #dff0d8;
-}
-a.bg-success:hover {
-  background-color: #c1e2b3;
-}
-.bg-info {
-  background-color: #d9edf7;
-}
-a.bg-info:hover {
-  background-color: #afd9ee;
-}
-.bg-warning {
-  background-color: #fcf8e3;
-}
-a.bg-warning:hover {
-  background-color: #f7ecb5;
-}
-.bg-danger {
-  background-color: #f2dede;
-}
-a.bg-danger:hover {
-  background-color: #e4b9b9;
-}
-.page-header {
-  padding-bottom: 9px;
-  margin: 40px 0 20px;
-  border-bottom: 1px solid #eeeeee;
-}
-ul,
-ol {
-  margin-top: 0;
-  margin-bottom: 10px;
-}
-ul ul,
-ol ul,
-ul ol,
-ol ol {
-  margin-bottom: 0;
-}
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-.list-inline {
-  padding-left: 0;
-  list-style: none;
-  margin-left: -5px;
-}
-.list-inline > li {
-  display: inline-block;
-  padding-left: 5px;
-  padding-right: 5px;
-}
-dl {
-  margin-top: 0;
-  margin-bottom: 20px;
-}
-dt,
-dd {
-  line-height: 1.428571429;
-}
-dt {
-  font-weight: bold;
-}
-dd {
-  margin-left: 0;
-}
-@media (min-width: 768px) {
-  .dl-horizontal dt {
-    float: left;
-    width: 160px;
-    clear: left;
-    text-align: right;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
-  .dl-horizontal dd {
-    margin-left: 180px;
-  }
-}
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #777777;
-}
-.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-blockquote {
-  padding: 10px 20px;
-  margin: 0 0 20px;
-  font-size: 17.5px;
-  border-left: 5px solid #eeeeee;
-}
-blockquote p:last-child,
-blockquote ul:last-child,
-blockquote ol:last-child {
-  margin-bottom: 0;
-}
-blockquote footer,
-blockquote small,
-blockquote .small {
-  display: block;
-  font-size: 80%;
-  line-height: 1.428571429;
-  color: #777777;
-}
-blockquote footer:before,
-blockquote small:before,
-blockquote .small:before {
-  content: '\2014 \00A0';
-}
-.blockquote-reverse,
-blockquote.pull-right {
-  padding-right: 15px;
-  padding-left: 0;
-  border-right: 5px solid #eeeeee;
-  border-left: 0;
-  text-align: right;
-}
-.blockquote-reverse footer:before,
-blockquote.pull-right footer:before,
-.blockquote-reverse small:before,
-blockquote.pull-right small:before,
-.blockquote-reverse .small:before,
-blockquote.pull-right .small:before {
-  content: '';
-}
-.blockquote-reverse footer:after,
-blockquote.pull-right footer:after,
-.blockquote-reverse small:after,
-blockquote.pull-right small:after,
-.blockquote-reverse .small:after,
-blockquote.pull-right .small:after {
-  content: '\00A0 \2014';
-}
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-address {
-  margin-bottom: 20px;
-  font-style: normal;
-  line-height: 1.428571429;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-}
-code {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #c7254e;
-  background-color: #f9f2f4;
-  border-radius: 0;
-}
-kbd {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #fff;
-  background-color: #333;
-  border-radius: 0;
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-kbd kbd {
-  padding: 0;
-  font-size: 100%;
-  box-shadow: none;
-}
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 1.428571429;
-  word-break: break-all;
-  word-wrap: break-word;
-  color: #333333;
-  background-color: #f5f5f5;
-  border: 1px solid #ccc;
-  border-radius: 0;
-}
-pre code {
-  padding: 0;
-  font-size: inherit;
-  color: inherit;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border-radius: 0;
-}
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-.container {
-  margin-right: auto;
-  margin-left: auto;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-@media (min-width: 768px) {
-  .container {
-    width: 750px;
-  }
-}
-@media (min-width: 992px) {
-  .container {
-    width: 970px;
-  }
-}
-@media (min-width: 1200px) {
-  .container {
-    width: 1170px;
-  }
-}
-.container-fluid {
-  margin-right: auto;
-  margin-left: auto;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-.row {
-  margin-left: -15px;
-  margin-right: -15px;
-}
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
-  position: relative;
-  min-height: 1px;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
-  float: left;
-}
-.col-xs-12 {
-  width: 100%;
-}
-.col-xs-11 {
-  width: 91.66666666666666%;
-}
-.col-xs-10 {
-  width: 83.33333333333334%;
-}
-.col-xs-9 {
-  width: 75%;
-}
-.col-xs-8 {
-  width: 66.66666666666666%;
-}
-.col-xs-7 {
-  width: 58.333333333333336%;
-}
-.col-xs-6 {
-  width: 50%;
-}
-.col-xs-5 {
-  width: 41.66666666666667%;
-}
-.col-xs-4 {
-  width: 33.33333333333333%;
-}
-.col-xs-3 {
-  width: 25%;
-}
-.col-xs-2 {
-  width: 16.666666666666664%;
-}
-.col-xs-1 {
-  width: 8.333333333333332%;
-}
-.col-xs-pull-12 {
-  right: 100%;
-}
-.col-xs-pull-11 {
-  right: 91.66666666666666%;
-}
-.col-xs-pull-10 {
-  right: 83.33333333333334%;
-}
-.col-xs-pull-9 {
-  right: 75%;
-}
-.col-xs-pull-8 {
-  right: 66.66666666666666%;
-}
-.col-xs-pull-7 {
-  right: 58.333333333333336%;
-}
-.col-xs-pull-6 {
-  right: 50%;
-}
-.col-xs-pull-5 {
-  right: 41.66666666666667%;
-}
-.col-xs-pull-4 {
-  right: 33.33333333333333%;
-}
-.col-xs-pull-3 {
-  right: 25%;
-}
-.col-xs-pull-2 {
-  right: 16.666666666666664%;
-}
-.col-xs-pull-1 {
-  right: 8.333333333333332%;
-}
-.col-xs-pull-0 {
-  right: auto;
-}
-.col-xs-push-12 {
-  left: 100%;
-}
-.col-xs-push-11 {
-  left: 91.66666666666666%;
-}
-.col-xs-push-10 {
-  left: 83.33333333333334%;
-}
-.col-xs-push-9 {
-  left: 75%;
-}
-.col-xs-push-8 {
-  left: 66.66666666666666%;
-}
-.col-xs-push-7 {
-  left: 58.333333333333336%;
-}
-.col-xs-push-6 {
-  left: 50%;
-}
-.col-xs-push-5 {
-  left: 41.66666666666667%;
-}
-.col-xs-push-4 {
-  left: 33.33333333333333%;
-}
-.col-xs-push-3 {
-  left: 25%;
-}
-.col-xs-push-2 {
-  left: 16.666666666666664%;
-}
-.col-xs-push-1 {
-  left: 8.333333333333332%;
-}
-.col-xs-push-0 {
-  left: auto;
-}
-.col-xs-offset-12 {
-  margin-left: 100%;
-}
-.col-xs-offset-11 {
-  margin-left: 91.66666666666666%;
-}
-.col-xs-offset-10 {
-  margin-left: 83.33333333333334%;
-}
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-.col-xs-offset-8 {
-  margin-left: 66.66666666666666%;
-}
-.col-xs-offset-7 {
-  margin-left: 58.333333333333336%;
-}
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-.col-xs-offset-5 {
-  margin-left: 41.66666666666667%;
-}
-.col-xs-offset-4 {
-  margin-left: 33.33333333333333%;
-}
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-.col-xs-offset-2 {
-  margin-left: 16.666666666666664%;
-}
-.col-xs-offset-1 {
-  margin-left: 8.333333333333332%;
-}
-.col-xs-offset-0 {
-  margin-left: 0%;
-}
-@media (min-width: 768px) {
-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
-    float: left;
-  }
-  .col-sm-12 {
-    width: 100%;
-  }
-  .col-sm-11 {
-    width: 91.66666666666666%;
-  }
-  .col-sm-10 {
-    width: 83.33333333333334%;
-  }
-  .col-sm-9 {
-    width: 75%;
-  }
-  .col-sm-8 {
-    width: 66.66666666666666%;
-  }
-  .col-sm-7 {
-    width: 58.333333333333336%;
-  }
-  .col-sm-6 {
-    width: 50%;
-  }
-  .col-sm-5 {
-    width: 41.66666666666667%;
-  }
-  .col-sm-4 {
-    width: 33.33333333333333%;
-  }
-  .col-sm-3 {
-    width: 25%;
-  }
-  .col-sm-2 {
-    width: 16.666666666666664%;
-  }
-  .col-sm-1 {
-    width: 8.333333333333332%;
-  }
-  .col-sm-pull-12 {
-    right: 100%;
-  }
-  .col-sm-pull-11 {
-    right: 91.66666666666666%;
-  }
-  .col-sm-pull-10 {
-    right: 83.33333333333334%;
-  }
-  .col-sm-pull-9 {
-    right: 75%;
-  }
-  .col-sm-pull-8 {
-    right: 66.66666666666666%;
-  }
-  .col-sm-pull-7 {
-    right: 58.333333333333336%;
-  }
-  .col-sm-pull-6 {
-    right: 50%;
-  }
-  .col-sm-pull-5 {
-    right: 41.66666666666667%;
-  }
-  .col-sm-pull-4 {
-    right: 33.33333333333333%;
-  }
-  .col-sm-pull-3 {
-    right: 25%;
-  }
-  .col-sm-pull-2 {
-    right: 16.666666666666664%;
-  }
-  .col-sm-pull-1 {
-    right: 8.333333333333332%;
-  }
-  .col-sm-pull-0 {
-    right: auto;
-  }
-  .col-sm-push-12 {
-    left: 100%;
-  }
-  .col-sm-push-11 {
-    left: 91.66666666666666%;
-  }
-  .col-sm-push-10 {
-    left: 83.33333333333334%;
-  }
-  .col-sm-push-9 {
-    left: 75%;
-  }
-  .col-sm-push-8 {
-    left: 66.66666666666666%;
-  }
-  .col-sm-push-7 {
-    left: 58.333333333333336%;
-  }
-  .col-sm-push-6 {
-    left: 50%;
-  }
-  .col-sm-push-5 {
-    left: 41.66666666666667%;
-  }
-  .col-sm-push-4 {
-    left: 33.33333333333333%;
-  }
-  .col-sm-push-3 {
-    left: 25%;
-  }
-  .col-sm-push-2 {
-    left: 16.666666666666664%;
-  }
-  .col-sm-push-1 {
-    left: 8.333333333333332%;
-  }
-  .col-sm-push-0 {
-    left: auto;
-  }
-  .col-sm-offset-12 {
-    margin-left: 100%;
-  }
-  .col-sm-offset-11 {
-    margin-left: 91.66666666666666%;
-  }
-  .col-sm-offset-10 {
-    margin-left: 83.33333333333334%;
-  }
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-  .col-sm-offset-8 {
-    margin-left: 66.66666666666666%;
-  }
-  .col-sm-offset-7 {
-    margin-left: 58.333333333333336%;
-  }
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-  .col-sm-offset-5 {
-    margin-left: 41.66666666666667%;
-  }
-  .col-sm-offset-4 {
-    margin-left: 33.33333333333333%;
-  }
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-  .col-sm-offset-2 {
-    margin-left: 16.666666666666664%;
-  }
-  .col-sm-offset-1 {
-    margin-left: 8.333333333333332%;
-  }
-  .col-sm-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: 992px) {
-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
-    float: left;
-  }
-  .col-md-12 {
-    width: 100%;
-  }
-  .col-md-11 {
-    width: 91.66666666666666%;
-  }
-  .col-md-10 {
-    width: 83.33333333333334%;
-  }
-  .col-md-9 {
-    width: 75%;
-  }
-  .col-md-8 {
-    width: 66.66666666666666%;
-  }
-  .col-md-7 {
-    width: 58.333333333333336%;
-  }
-  .col-md-6 {
-    width: 50%;
-  }
-  .col-md-5 {
-    width: 41.66666666666667%;
-  }
-  .col-md-4 {
-    width: 33.33333333333333%;
-  }
-  .col-md-3 {
-    width: 25%;
-  }
-  .col-md-2 {
-    width: 16.666666666666664%;
-  }
-  .col-md-1 {
-    width: 8.333333333333332%;
-  }
-  .col-md-pull-12 {
-    right: 100%;
-  }
-  .col-md-pull-11 {
-    right: 91.66666666666666%;
-  }
-  .col-md-pull-10 {
-    right: 83.33333333333334%;
-  }
-  .col-md-pull-9 {
-    right: 75%;
-  }
-  .col-md-pull-8 {
-    right: 66.66666666666666%;
-  }
-  .col-md-pull-7 {
-    right: 58.333333333333336%;
-  }
-  .col-md-pull-6 {
-    right: 50%;
-  }
-  .col-md-pull-5 {
-    right: 41.66666666666667%;
-  }
-  .col-md-pull-4 {
-    right: 33.33333333333333%;
-  }
-  .col-md-pull-3 {
-    right: 25%;
-  }
-  .col-md-pull-2 {
-    right: 16.666666666666664%;
-  }
-  .col-md-pull-1 {
-    right: 8.333333333333332%;
-  }
-  .col-md-pull-0 {
-    right: auto;
-  }
-  .col-md-push-12 {
-    left: 100%;
-  }
-  .col-md-push-11 {
-    left: 91.66666666666666%;
-  }
-  .col-md-push-10 {
-    left: 83.33333333333334%;
-  }
-  .col-md-push-9 {
-    left: 75%;
-  }
-  .col-md-push-8 {
-    left: 66.66666666666666%;
-  }
-  .col-md-push-7 {
-    left: 58.333333333333336%;
-  }
-  .col-md-push-6 {
-    left: 50%;
-  }
-  .col-md-push-5 {
-    left: 41.66666666666667%;
-  }
-  .col-md-push-4 {
-    left: 33.33333333333333%;
-  }
-  .col-md-push-3 {
-    left: 25%;
-  }
-  .col-md-push-2 {
-    left: 16.666666666666664%;
-  }
-  .col-md-push-1 {
-    left: 8.333333333333332%;
-  }
-  .col-md-push-0 {
-    left: auto;
-  }
-  .col-md-offset-12 {
-    margin-left: 100%;
-  }
-  .col-md-offset-11 {
-    margin-left: 91.66666666666666%;
-  }
-  .col-md-offset-10 {
-    margin-left: 83.33333333333334%;
-  }
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-  .col-md-offset-8 {
-    margin-left: 66.66666666666666%;
-  }
-  .col-md-offset-7 {
-    margin-left: 58.333333333333336%;
-  }
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-  .col-md-offset-5 {
-    margin-left: 41.66666666666667%;
-  }
-  .col-md-offset-4 {
-    margin-left: 33.33333333333333%;
-  }
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-  .col-md-offset-2 {
-    margin-left: 16.666666666666664%;
-  }
-  .col-md-offset-1 {
-    margin-left: 8.333333333333332%;
-  }
-  .col-md-offset-0 {
-    margin-left: 0%;
-  }
-}
-@media (min-width: 1200px) {
-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
-    float: left;
-  }
-  .col-lg-12 {
-    width: 100%;
-  }
-  .col-lg-11 {
-    width: 91.66666666666666%;
-  }
-  .col-lg-10 {
-    width: 83.33333333333334%;
-  }
-  .col-lg-9 {
-    width: 75%;
-  }
-  .col-lg-8 {
-    width: 66.66666666666666%;
-  }
-  .col-lg-7 {
-    width: 58.333333333333336%;
-  }
-  .col-lg-6 {
-    width: 50%;
-  }
-  .col-lg-5 {
-    width: 41.66666666666667%;
-  }
-  .col-lg-4 {
-    width: 33.33333333333333%;
-  }
-  .col-lg-3 {
-    width: 25%;
-  }
-  .col-lg-2 {
-    width: 16.666666666666664%;
-  }
-  .col-lg-1 {
-    width: 8.333333333333332%;
-  }
-  .col-lg-pull-12 {
-    right: 100%;
-  }
-  .col-lg-pull-11 {
-    right: 91.66666666666666%;
-  }
-  .col-lg-pull-10 {
-    right: 83.33333333333334%;
-  }
-  .col-lg-pull-9 {
-    right: 75%;
-  }
-  .col-lg-pull-8 {
-    right: 66.66666666666666%;
-  }
-  .col-lg-pull-7 {
-    right: 58.333333333333336%;
-  }
-  .col-lg-pull-6 {
-    right: 50%;
-  }
-  .col-lg-pull-5 {
-    right: 41.66666666666667%;
-  }
-  .col-lg-pull-4 {
-    right: 33.33333333333333%;
-  }
-  .col-lg-pull-3 {
-    right: 25%;
-  }
-  .col-lg-pull-2 {
-    right: 16.666666666666664%;
-  }
-  .col-lg-pull-1 {
-    right: 8.333333333333332%;
-  }
-  .col-lg-pull-0 {
-    right: auto;
-  }
-  .col-lg-push-12 {
-    left: 100%;
-  }
-  .col-lg-push-11 {
-    left: 91.66666666666666%;
-  }
-  .col-lg-push-10 {
-    left: 83.33333333333334%;
-  }
-  .col-lg-push-9 {
-    left: 75%;
-  }
-  .col-lg-push-8 {
-    left: 66.66666666666666%;
-  }
-  .col-lg-push-7 {
-    left: 58.333333333333336%;
-  }
-  .col-lg-push-6 {
-    left: 50%;
-  }
-  .col-lg-push-5 {
-    left: 41.66666666666667%;
-  }
-  .col-lg-push-4 {
-    left: 33.33333333333333%;
-  }
-  .col-lg-push-3 {
-    left: 25%;
-  }
-  .col-lg-push-2 {
-    left: 16.666666666666664%;
-  }
-  .col-lg-push-1 {
-    left: 8.333333333333332%;
-  }
-  .col-lg-push-0 {
-    left: auto;
-  }
-  .col-lg-offset-12 {
-    margin-left: 100%;
-  }
-  .col-lg-offset-11 {
-    margin-left: 91.66666666666666%;
-  }
-  .col-lg-offset-10 {
-    margin-left: 83.33333333333334%;
-  }
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-  .col-lg-offset-8 {
-    margin-left: 66.66666666666666%;
-  }
-  .col-lg-offset-7 {
-    margin-left: 58.333333333333336%;
-  }
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-  .col-lg-offset-5 {
-    margin-left: 41.66666666666667%;
-  }
-  .col-lg-offset-4 {
-    margin-left: 33.33333333333333%;
-  }
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-  .col-lg-offset-2 {
-    margin-left: 16.666666666666664%;
-  }
-  .col-lg-offset-1 {
-    margin-left: 8.333333333333332%;
-  }
-  .col-lg-offset-0 {
-    margin-left: 0%;
-  }
-}
-table {
-  background-color: transparent;
-}
-th {
-  text-align: left;
-}
-.table {
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 20px;
-}
-.table > thead > tr > th,
-.table > tbody > tr > th,
-.table > tfoot > tr > th,
-.table > thead > tr > td,
-.table > tbody > tr > td,
-.table > tfoot > tr > td {
-  padding: 8px;
-  line-height: 1.428571429;
-  vertical-align: top;
-  border-top: 1px solid #34302D;
-}
-.table > thead > tr > th {
-  vertical-align: bottom;
-  border-bottom: 2px solid #34302D;
-}
-.table > caption + thead > tr:first-child > th,
-.table > colgroup + thead > tr:first-child > th,
-.table > thead:first-child > tr:first-child > th,
-.table > caption + thead > tr:first-child > td,
-.table > colgroup + thead > tr:first-child > td,
-.table > thead:first-child > tr:first-child > td {
-  border-top: 0;
-}
-.table > tbody + tbody {
-  border-top: 2px solid #34302D;
-}
-.table .table {
-  background-color: #f1f1f1;
-}
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
-  padding: 5px;
-}
-.table-bordered {
-  border: 1px solid #34302D;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > tbody > tr > th,
-.table-bordered > tfoot > tr > th,
-.table-bordered > thead > tr > td,
-.table-bordered > tbody > tr > td,
-.table-bordered > tfoot > tr > td {
-  border: 1px solid #34302D;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
-  border-bottom-width: 2px;
-}
-.table-striped > tbody > tr:nth-child(odd) > td,
-.table-striped > tbody > tr:nth-child(odd) > th {
-  background-color: #f9f9f9;
-}
-.table-hover > tbody > tr:hover > td,
-.table-hover > tbody > tr:hover > th {
-  background-color: #f5f5f5;
-}
-table col[class*="col-"] {
-  position: static;
-  float: none;
-  display: table-column;
-}
-table td[class*="col-"],
-table th[class*="col-"] {
-  position: static;
-  float: none;
-  display: table-cell;
-}
-.table > thead > tr > td.active,
-.table > tbody > tr > td.active,
-.table > tfoot > tr > td.active,
-.table > thead > tr > th.active,
-.table > tbody > tr > th.active,
-.table > tfoot > tr > th.active,
-.table > thead > tr.active > td,
-.table > tbody > tr.active > td,
-.table > tfoot > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr.active > th,
-.table > tfoot > tr.active > th {
-  background-color: #f5f5f5;
-}
-.table-hover > tbody > tr > td.active:hover,
-.table-hover > tbody > tr > th.active:hover,
-.table-hover > tbody > tr.active:hover > td,
-.table-hover > tbody > tr:hover > .active,
-.table-hover > tbody > tr.active:hover > th {
-  background-color: #e8e8e8;
-}
-.table > thead > tr > td.success,
-.table > tbody > tr > td.success,
-.table > tfoot > tr > td.success,
-.table > thead > tr > th.success,
-.table > tbody > tr > th.success,
-.table > tfoot > tr > th.success,
-.table > thead > tr.success > td,
-.table > tbody > tr.success > td,
-.table > tfoot > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr.success > th,
-.table > tfoot > tr.success > th {
-  background-color: #dff0d8;
-}
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr:hover > .success,
-.table-hover > tbody > tr.success:hover > th {
-  background-color: #d0e9c6;
-}
-.table > thead > tr > td.info,
-.table > tbody > tr > td.info,
-.table > tfoot > tr > td.info,
-.table > thead > tr > th.info,
-.table > tbody > tr > th.info,
-.table > tfoot > tr > th.info,
-.table > thead > tr.info > td,
-.table > tbody > tr.info > td,
-.table > tfoot > tr.info > td,
-.table > thead > tr.info > th,
-.table > tbody > tr.info > th,
-.table > tfoot > tr.info > th {
-  background-color: #d9edf7;
-}
-.table-hover > tbody > tr > td.info:hover,
-.table-hover > tbody > tr > th.info:hover,
-.table-hover > tbody > tr.info:hover > td,
-.table-hover > tbody > tr:hover > .info,
-.table-hover > tbody > tr.info:hover > th {
-  background-color: #c4e3f3;
-}
-.table > thead > tr > td.warning,
-.table > tbody > tr > td.warning,
-.table > tfoot > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > tbody > tr > th.warning,
-.table > tfoot > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > tbody > tr.warning > td,
-.table > tfoot > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr.warning > th {
-  background-color: #fcf8e3;
-}
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr:hover > .warning,
-.table-hover > tbody > tr.warning:hover > th {
-  background-color: #faf2cc;
-}
-.table > thead > tr > td.danger,
-.table > tbody > tr > td.danger,
-.table > tfoot > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > tbody > tr > th.danger,
-.table > tfoot > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > tbody > tr.danger > td,
-.table > tfoot > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr.danger > th {
-  background-color: #f2dede;
-}
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr:hover > .danger,
-.table-hover > tbody > tr.danger:hover > th {
-  background-color: #ebcccc;
-}
-@media screen and (max-width: 767px) {
-  .table-responsive {
-    width: 100%;
-    margin-bottom: 15px;
-    overflow-y: hidden;
-    overflow-x: auto;
-    -ms-overflow-style: -ms-autohiding-scrollbar;
-    border: 1px solid #34302D;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive > .table {
-    margin-bottom: 0;
-  }
-  .table-responsive > .table > thead > tr > th,
-  .table-responsive > .table > tbody > tr > th,
-  .table-responsive > .table > tfoot > tr > th,
-  .table-responsive > .table > thead > tr > td,
-  .table-responsive > .table > tbody > tr > td,
-  .table-responsive > .table > tfoot > tr > td {
-    white-space: nowrap;
-  }
-  .table-responsive > .table-bordered {
-    border: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:first-child,
-  .table-responsive > .table-bordered > tbody > tr > th:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-  .table-responsive > .table-bordered > thead > tr > td:first-child,
-  .table-responsive > .table-bordered > tbody > tr > td:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
-    border-left: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:last-child,
-  .table-responsive > .table-bordered > tbody > tr > th:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-  .table-responsive > .table-bordered > thead > tr > td:last-child,
-  .table-responsive > .table-bordered > tbody > tr > td:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
-    border-right: 0;
-  }
-  .table-responsive > .table-bordered > tbody > tr:last-child > th,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
-  .table-responsive > .table-bordered > tbody > tr:last-child > td,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
-    border-bottom: 0;
-  }
-}
-fieldset {
-  padding: 0;
-  margin: 0;
-  border: 0;
-  min-width: 0;
-}
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: inherit;
-  color: #333333;
-  border: 0;
-  border-bottom: 1px solid #e5e5e5;
-}
-label {
-  display: inline-block;
-  max-width: 100%;
-  margin-bottom: 5px;
-  font-weight: bold;
-}
-input[type="search"] {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9;
-  line-height: normal;
-}
-input[type="file"] {
-  display: block;
-}
-input[type="range"] {
-  display: block;
-  width: 100%;
-}
-select[multiple],
-select[size] {
-  height: auto;
-}
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-output {
-  display: block;
-  padding-top: 7px;
-  font-size: 14px;
-  line-height: 1.428571429;
-  color: #555555;
-}
-.form-control {
-  display: block;
-  width: 100%;
-  height: 34px;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.428571429;
-  color: #555555;
-  background-color: #fff;
-  background-image: none;
-  border: 1px solid #ccc;
-  border-radius: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-}
-.form-control:focus {
-  border-color: #66afe9;
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
-}
-.form-control::-moz-placeholder {
-  color: #777777;
-  opacity: 1;
-}
-.form-control:-ms-input-placeholder {
-  color: #777777;
-}
-.form-control::-webkit-input-placeholder {
-  color: #777777;
-}
-.form-control[disabled],
-.form-control[readonly],
-fieldset[disabled] .form-control {
-  cursor: not-allowed;
-  background-color: #eeeeee;
-  opacity: 1;
-}
-textarea.form-control {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: none;
-}
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
-  line-height: 34px;
-  line-height: 1.428571429 \0;
-}
-input[type="date"].input-sm,
-input[type="time"].input-sm,
-input[type="datetime-local"].input-sm,
-input[type="month"].input-sm {
-  line-height: 30px;
-}
-input[type="date"].input-lg,
-input[type="time"].input-lg,
-input[type="datetime-local"].input-lg,
-input[type="month"].input-lg {
-  line-height: 46px;
-}
-.form-group {
-  margin-bottom: 15px;
-}
-.radio,
-.checkbox {
-  position: relative;
-  display: block;
-  min-height: 20px;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.radio label,
-.checkbox label {
-  padding-left: 20px;
-  margin-bottom: 0;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
-  position: absolute;
-  margin-left: -20px;
-  margin-top: 4px \9;
-}
-.radio + .radio,
-.checkbox + .checkbox {
-  margin-top: -5px;
-}
-.radio-inline,
-.checkbox-inline {
-  display: inline-block;
-  padding-left: 20px;
-  margin-bottom: 0;
-  vertical-align: middle;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
-  margin-top: 0;
-  margin-left: 10px;
-}
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"].disabled,
-input[type="checkbox"].disabled,
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"] {
-  cursor: not-allowed;
-}
-.radio-inline.disabled,
-.checkbox-inline.disabled,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox-inline {
-  cursor: not-allowed;
-}
-.radio.disabled label,
-.checkbox.disabled label,
-fieldset[disabled] .radio label,
-fieldset[disabled] .checkbox label {
-  cursor: not-allowed;
-}
-.form-control-static {
-  padding-top: 7px;
-  padding-bottom: 7px;
-  margin-bottom: 0;
-}
-.form-control-static.input-lg,
-.form-control-static.input-sm {
-  padding-left: 0;
-  padding-right: 0;
-}
-.input-sm,
-.form-horizontal .form-group-sm .form-control {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 0;
-}
-select.input-sm {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-sm,
-select[multiple].input-sm {
-  height: auto;
-}
-.input-lg,
-.form-horizontal .form-group-lg .form-control {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 0;
-}
-select.input-lg {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-lg,
-select[multiple].input-lg {
-  height: auto;
-}
-.has-feedback {
-  position: relative;
-}
-.has-feedback .form-control {
-  padding-right: 42.5px;
-}
-.form-control-feedback {
-  position: absolute;
-  top: 25px;
-  right: 0;
-  z-index: 2;
-  display: block;
-  width: 34px;
-  height: 34px;
-  line-height: 34px;
-  text-align: center;
-}
-.input-lg + .form-control-feedback {
-  width: 46px;
-  height: 46px;
-  line-height: 46px;
-}
-.input-sm + .form-control-feedback {
-  width: 30px;
-  height: 30px;
-  line-height: 30px;
-}
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline {
-  color: #3c763d;
-}
-.has-success .form-control {
-  border-color: #3c763d;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-success .form-control:focus {
-  border-color: #2b542c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
-}
-.has-success .input-group-addon {
-  color: #3c763d;
-  border-color: #3c763d;
-  background-color: #dff0d8;
-}
-.has-success .form-control-feedback {
-  color: #3c763d;
-}
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline {
-  color: #8a6d3b;
-}
-.has-warning .form-control {
-  border-color: #8a6d3b;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-warning .form-control:focus {
-  border-color: #66512c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
-}
-.has-warning .input-group-addon {
-  color: #8a6d3b;
-  border-color: #8a6d3b;
-  background-color: #fcf8e3;
-}
-.has-warning .form-control-feedback {
-  color: #8a6d3b;
-}
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline {
-  color: #a94442;
-}
-.has-error .form-control {
-  border-color: #a94442;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-error .form-control:focus {
-  border-color: #843534;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
-}
-.has-error .input-group-addon {
-  color: #a94442;
-  border-color: #a94442;
-  background-color: #f2dede;
-}
-.has-error .form-control-feedback {
-  color: #a94442;
-}
-.has-feedback label.sr-only ~ .form-control-feedback {
-  top: 0;
-}
-.help-block {
-  display: block;
-  margin-top: 5px;
-  margin-bottom: 10px;
-  color: #ffffff;
-}
-@media (min-width: 768px) {
-  .form-inline .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .form-inline .input-group {
-    display: inline-table;
-    vertical-align: middle;
-  }
-  .form-inline .input-group .input-group-addon,
-  .form-inline .input-group .input-group-btn,
-  .form-inline .input-group .form-control {
-    width: auto;
-  }
-  .form-inline .input-group > .form-control {
-    width: 100%;
-  }
-  .form-inline .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio,
-  .form-inline .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio label,
-  .form-inline .checkbox label {
-    padding-left: 0;
-  }
-  .form-inline .radio input[type="radio"],
-  .form-inline .checkbox input[type="checkbox"] {
-    position: relative;
-    margin-left: 0;
-  }
-  .form-inline .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
-  margin-top: 0;
-  margin-bottom: 0;
-  padding-top: 7px;
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox {
-  min-height: 27px;
-}
-.form-horizontal .form-group {
-  margin-left: -15px;
-  margin-right: -15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .control-label {
-    text-align: right;
-    margin-bottom: 0;
-    padding-top: 7px;
-  }
-}
-.form-horizontal .has-feedback .form-control-feedback {
-  top: 0;
-  right: 15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-lg .control-label {
-    padding-top: 14.3px;
-  }
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-sm .control-label {
-    padding-top: 6px;
-  }
-}
-.btn {
-  display: inline-block;
-  margin-bottom: 0;
-  font-weight: normal;
-  text-align: center;
-  vertical-align: middle;
-  cursor: pointer;
-  background-image: none;
-  border: 1px solid transparent;
-  white-space: nowrap;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.428571429;
-  border-radius: 0;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus {
-  outline: thin dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-.btn:hover,
-.btn:focus {
-  color: #f1f1f1;
-  text-decoration: none;
-}
-.btn:active,
-.btn.active {
-  outline: 0;
-  background-image: none;
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn.disabled,
-.btn[disabled],
-fieldset[disabled] .btn {
-  cursor: not-allowed;
-  pointer-events: none;
-  opacity: .65;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn-default {
-  color: #f1f1f1;
-  background-color: #34302D;
-  border-color: #6db33f;
-}
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  color: #f1f1f1;
-  background-color: #191715;
-  border-color: #51862f;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  background-image: none;
-}
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
-  background-color: #34302D;
-  border-color: #6db33f;
-}
-.btn-default .badge {
-  color: #34302D;
-  background-color: #f1f1f1;
-}
-.btn-primary {
-  color: #fff;
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  color: #fff;
-  background-color: #3071a9;
-  border-color: #285e8e;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  background-image: none;
-}
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.btn-primary .badge {
-  color: #428bca;
-  background-color: #fff;
-}
-.btn-success {
-  color: #fff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #398439;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  background-image: none;
-}
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success .badge {
-  color: #5cb85c;
-  background-color: #fff;
-}
-.btn-info {
-  color: #fff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #269abc;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  background-image: none;
-}
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info .badge {
-  color: #5bc0de;
-  background-color: #fff;
-}
-.btn-warning {
-  color: #fff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #d58512;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  background-image: none;
-}
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning .badge {
-  color: #f0ad4e;
-  background-color: #fff;
-}
-.btn-danger {
-  color: #fff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #ac2925;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  background-image: none;
-}
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger .badge {
-  color: #d9534f;
-  background-color: #fff;
-}
-.btn-link {
-  color: #5fa134;
-  font-weight: normal;
-  cursor: pointer;
-  border-radius: 0;
-}
-.btn-link,
-.btn-link:active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn-link,
-.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
-  border-color: transparent;
-}
-.btn-link:hover,
-.btn-link:focus {
-  color: #5fa134;
-  text-decoration: underline;
-  background-color: transparent;
-}
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
-  color: #777777;
-  text-decoration: none;
-}
-.btn-lg,
-.btn-group-lg > .btn {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 0;
-}
-.btn-sm,
-.btn-group-sm > .btn {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 0;
-}
-.btn-xs,
-.btn-group-xs > .btn {
-  padding: 1px 5px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 0;
-}
-.btn-block {
-  display: block;
-  width: 100%;
-}
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-.fade {
-  opacity: 0;
-  -webkit-transition: opacity .15s linear;
-  -o-transition: opacity .15s linear;
-  transition: opacity .15s linear;
-}
-.fade.in {
-  opacity: 1;
-}
-.collapse {
-  display: none;
-}
-.collapse.in {
-  display: block;
-}
-tr.collapse.in {
-  display: table-row;
-}
-tbody.collapse.in {
-  display: table-row-group;
-}
-.collapsing {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  -webkit-transition: height .35s ease;
-  -o-transition: height .35s ease;
-  transition: height .35s ease;
-}
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-left: 2px;
-  vertical-align: middle;
-  border-top: 4px solid;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.dropdown {
-  position: relative;
-}
-.dropdown-toggle:focus {
-  outline: 0;
-}
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0;
-  list-style: none;
-  font-size: 14px;
-  text-align: left;
-  background-color: #fff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  border-radius: 0;
-  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
-  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
-  background-clip: padding-box;
-}
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.dropdown-menu > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-  color: #333333;
-  white-space: nowrap;
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  text-decoration: none;
-  color: #262626;
-  background-color: #f5f5f5;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  color: #fff;
-  text-decoration: none;
-  outline: 0;
-  background-color: #428bca;
-}
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  color: #777777;
-}
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  text-decoration: none;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  cursor: not-allowed;
-}
-.open > .dropdown-menu {
-  display: block;
-}
-.open > a {
-  outline: 0;
-}
-.dropdown-menu-right {
-  left: auto;
-  right: 0;
-}
-.dropdown-menu-left {
-  left: 0;
-  right: auto;
-}
-.dropdown-header {
-  display: block;
-  padding: 3px 20px;
-  font-size: 12px;
-  line-height: 1.428571429;
-  color: #777777;
-  white-space: nowrap;
-}
-.dropdown-backdrop {
-  position: fixed;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  top: 0;
-  z-index: 990;
-}
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  border-top: 0;
-  border-bottom: 4px solid;
-  content: "";
-}
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 1px;
-}
-@media (min-width: 768px) {
-  .navbar-right .dropdown-menu {
-    left: auto;
-    right: 0;
-  }
-  .navbar-right .dropdown-menu-left {
-    left: 0;
-    right: auto;
-  }
-}
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-.btn-group > .btn,
-.btn-group-vertical > .btn {
-  position: relative;
-  float: left;
-}
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus,
-.btn-group > .btn:active,
-.btn-group-vertical > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn.active {
-  z-index: 2;
-}
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus {
-  outline: 0;
-}
-.btn-group .btn + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
-  margin-left: -1px;
-}
-.btn-toolbar {
-  margin-left: -5px;
-}
-.btn-toolbar .btn-group,
-.btn-toolbar .input-group {
-  float: left;
-}
-.btn-toolbar > .btn,
-.btn-toolbar > .btn-group,
-.btn-toolbar > .input-group {
-  margin-left: 5px;
-}
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
-  border-radius: 0;
-}
-.btn-group > .btn:first-child {
-  margin-left: 0;
-}
-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group > .btn-group {
-  float: left;
-}
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group > .btn-group:first-child > .btn:last-child,
-.btn-group > .btn-group:first-child > .dropdown-toggle {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group > .btn-group:last-child > .btn:first-child {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-.btn-group > .btn + .dropdown-toggle {
-  padding-left: 8px;
-  padding-right: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-left: 12px;
-  padding-right: 12px;
-}
-.btn-group.open .dropdown-toggle {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn-group.open .dropdown-toggle.btn-link {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.btn .caret {
-  margin-left: 0;
-}
-.btn-lg .caret {
-  border-width: 5px 5px 0;
-  border-bottom-width: 0;
-}
-.dropup .btn-lg .caret {
-  border-width: 0 5px 5px;
-}
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group,
-.btn-group-vertical > .btn-group > .btn {
-  display: block;
-  float: none;
-  width: 100%;
-  max-width: 100%;
-}
-.btn-group-vertical > .btn-group > .btn {
-  float: none;
-}
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.btn-group-vertical > .btn-group + .btn,
-.btn-group-vertical > .btn-group + .btn-group {
-  margin-top: -1px;
-  margin-left: 0;
-}
-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn:first-child:not(:last-child) {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:last-child:not(:first-child) {
-  border-bottom-left-radius: 0;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.btn-group-justified {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-  border-collapse: separate;
-}
-.btn-group-justified > .btn,
-.btn-group-justified > .btn-group {
-  float: none;
-  display: table-cell;
-  width: 1%;
-}
-.btn-group-justified > .btn-group .btn {
-  width: 100%;
-}
-.btn-group-justified > .btn-group .dropdown-menu {
-  left: auto;
-}
-[data-toggle="buttons"] > .btn > input[type="radio"],
-[data-toggle="buttons"] > .btn > input[type="checkbox"] {
-  position: absolute;
-  z-index: -1;
-  opacity: 0;
-  filter: alpha(opacity=0);
-}
-.input-group {
-  position: relative;
-  display: table;
-  border-collapse: separate;
-}
-.input-group[class*="col-"] {
-  float: none;
-  padding-left: 0;
-  padding-right: 0;
-}
-.input-group .form-control {
-  position: relative;
-  z-index: 2;
-  float: left;
-  width: 100%;
-  margin-bottom: 0;
-}
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 0;
-}
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn,
-select[multiple].input-group-lg > .form-control,
-select[multiple].input-group-lg > .input-group-addon,
-select[multiple].input-group-lg > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 0;
-}
-select.input-group-sm > .form-control,
-select.input-group-sm > .input-group-addon,
-select.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-group-sm > .form-control,
-textarea.input-group-sm > .input-group-addon,
-textarea.input-group-sm > .input-group-btn > .btn,
-select[multiple].input-group-sm > .form-control,
-select[multiple].input-group-sm > .input-group-addon,
-select[multiple].input-group-sm > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
-  display: table-cell;
-}
-.input-group-addon:not(:first-child):not(:last-child),
-.input-group-btn:not(:first-child):not(:last-child),
-.input-group .form-control:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.input-group-addon,
-.input-group-btn {
-  width: 1%;
-  white-space: nowrap;
-  vertical-align: middle;
-}
-.input-group-addon {
-  padding: 6px 12px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1;
-  color: #555555;
-  text-align: center;
-  background-color: #eeeeee;
-  border: 1px solid #ccc;
-  border-radius: 0;
-}
-.input-group-addon.input-sm {
-  padding: 5px 10px;
-  font-size: 12px;
-  border-radius: 0;
-}
-.input-group-addon.input-lg {
-  padding: 10px 16px;
-  font-size: 18px;
-  border-radius: 0;
-}
-.input-group-addon input[type="radio"],
-.input-group-addon input[type="checkbox"] {
-  margin-top: 0;
-}
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.input-group-addon:first-child {
-  border-right: 0;
-}
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.input-group-addon:last-child {
-  border-left: 0;
-}
-.input-group-btn {
-  position: relative;
-  font-size: 0;
-  white-space: nowrap;
-}
-.input-group-btn > .btn {
-  position: relative;
-}
-.input-group-btn > .btn + .btn {
-  margin-left: -1px;
-}
-.input-group-btn > .btn:hover,
-.input-group-btn > .btn:focus,
-.input-group-btn > .btn:active {
-  z-index: 2;
-}
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group {
-  margin-right: -1px;
-}
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group {
-  margin-left: -1px;
-}
-.nav {
-  margin-bottom: 0;
-  padding-left: 0;
-  list-style: none;
-}
-.nav > li {
-  position: relative;
-  display: block;
-}
-.nav > li > a {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-}
-.nav > li > a:hover,
-.nav > li > a:focus {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-.nav > li.disabled > a {
-  color: #777777;
-}
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
-  color: #777777;
-  text-decoration: none;
-  background-color: transparent;
-  cursor: not-allowed;
-}
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
-  background-color: #eeeeee;
-  border-color: #5fa134;
-}
-.nav .nav-divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.nav > li > a > img {
-  max-width: none;
-}
-.nav-tabs {
-  border-bottom: 1px solid #34302D;
-}
-.nav-tabs > li {
-  float: left;
-  margin-bottom: -1px;
-}
-.nav-tabs > li > a {
-  margin-right: 2px;
-  line-height: 1.428571429;
-  border: 1px solid transparent;
-  border-radius: 0 0 0 0;
-}
-.nav-tabs > li > a:hover {
-  border-color: #eeeeee #eeeeee #34302D;
-}
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
-  color: #f1f1f1;
-  background-color: #34302D;
-  border: 1px solid #34302D;
-  border-bottom-color: transparent;
-  cursor: default;
-}
-.nav-tabs.nav-justified {
-  width: 100%;
-  border-bottom: 0;
-}
-.nav-tabs.nav-justified > li {
-  float: none;
-}
-.nav-tabs.nav-justified > li > a {
-  text-align: center;
-  margin-bottom: 5px;
-}
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-tabs.nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs.nav-justified > li > a {
-  margin-right: 0;
-  border-radius: 0;
-}
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 0 0 0 0;
-  }
-  .nav-tabs.nav-justified > .active > a,
-  .nav-tabs.nav-justified > .active > a:hover,
-  .nav-tabs.nav-justified > .active > a:focus {
-    border-bottom-color: #f1f1f1;
-  }
-}
-.nav-pills > li {
-  float: left;
-}
-.nav-pills > li > a {
-  border-radius: 0;
-}
-.nav-pills > li + li {
-  margin-left: 2px;
-}
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
-  color: #fff;
-  background-color: #428bca;
-}
-.nav-stacked > li {
-  float: none;
-}
-.nav-stacked > li + li {
-  margin-top: 2px;
-  margin-left: 0;
-}
-.nav-justified {
-  width: 100%;
-}
-.nav-justified > li {
-  float: none;
-}
-.nav-justified > li > a {
-  text-align: center;
-  margin-bottom: 5px;
-}
-.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs-justified {
-  border-bottom: 0;
-}
-.nav-tabs-justified > li > a {
-  margin-right: 0;
-  border-radius: 0;
-}
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 0 0 0 0;
-  }
-  .nav-tabs-justified > .active > a,
-  .nav-tabs-justified > .active > a:hover,
-  .nav-tabs-justified > .active > a:focus {
-    border-bottom-color: #f1f1f1;
-  }
-}
-.tab-content > .tab-pane {
-  display: none;
-}
-.tab-content > .active {
-  display: block;
-}
-.nav-tabs .dropdown-menu {
-  margin-top: -1px;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.navbar {
-  position: relative;
-  min-height: 50px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-}
-@media (min-width: 768px) {
-  .navbar {
-    border-radius: 0;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-header {
-    float: left;
-  }
-}
-.navbar-collapse {
-  overflow-x: visible;
-  padding-right: 15px;
-  padding-left: 15px;
-  border-top: 1px solid transparent;
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-  -webkit-overflow-scrolling: touch;
-}
-.navbar-collapse.in {
-  overflow-y: auto;
-}
-@media (min-width: 768px) {
-  .navbar-collapse {
-    width: auto;
-    border-top: 0;
-    box-shadow: none;
-  }
-  .navbar-collapse.collapse {
-    display: block !important;
-    height: auto !important;
-    padding-bottom: 0;
-    overflow: visible !important;
-  }
-  .navbar-collapse.in {
-    overflow-y: visible;
-  }
-  .navbar-fixed-top .navbar-collapse,
-  .navbar-static-top .navbar-collapse,
-  .navbar-fixed-bottom .navbar-collapse {
-    padding-left: 0;
-    padding-right: 0;
-  }
-}
-.navbar-fixed-top .navbar-collapse,
-.navbar-fixed-bottom .navbar-collapse {
-  max-height: 340px;
-}
-@media (max-width: 480px) and (orientation: landscape) {
-  .navbar-fixed-top .navbar-collapse,
-  .navbar-fixed-bottom .navbar-collapse {
-    max-height: 200px;
-  }
-}
-.container > .navbar-header,
-.container-fluid > .navbar-header,
-.container > .navbar-collapse,
-.container-fluid > .navbar-collapse {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-@media (min-width: 768px) {
-  .container > .navbar-header,
-  .container-fluid > .navbar-header,
-  .container > .navbar-collapse,
-  .container-fluid > .navbar-collapse {
-    margin-right: 0;
-    margin-left: 0;
-  }
-}
-.navbar-static-top {
-  z-index: 1000;
-  border-width: 0 0 1px;
-}
-@media (min-width: 768px) {
-  .navbar-static-top {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-  -webkit-transform: translate3d(0, 0, 0);
-  transform: translate3d(0, 0, 0);
-}
-@media (min-width: 768px) {
-  .navbar-fixed-top,
-  .navbar-fixed-bottom {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top {
-  top: 0;
-  border-width: 0 0 1px;
-}
-.navbar-fixed-bottom {
-  bottom: 0;
-  margin-bottom: 0;
-  border-width: 1px 0 0;
-}
-.navbar-brand {
-  float: left;
-  padding: 15px 15px;
-  font-size: 18px;
-  line-height: 20px;
-  height: 50px;
-}
-.navbar-brand:hover,
-.navbar-brand:focus {
-  text-decoration: none;
-}
-@media (min-width: 768px) {
-  .navbar > .container .navbar-brand,
-  .navbar > .container-fluid .navbar-brand {
-    margin-left: -15px;
-  }
-}
-.navbar-toggle {
-  position: relative;
-  float: right;
-  margin-right: 15px;
-  padding: 9px 10px;
-  margin-top: 8px;
-  margin-bottom: 8px;
-  background-color: transparent;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 0;
-}
-.navbar-toggle:focus {
-  outline: 0;
-}
-.navbar-toggle .icon-bar {
-  display: block;
-  width: 22px;
-  height: 2px;
-  border-radius: 1px;
-}
-.navbar-toggle .icon-bar + .icon-bar {
-  margin-top: 4px;
-}
-@media (min-width: 768px) {
-  .navbar-toggle {
-    display: none;
-  }
-}
-.navbar-nav {
-  margin: 7.5px -15px;
-}
-.navbar-nav > li > a {
-  padding-top: 10px;
-  padding-bottom: 10px;
-  line-height: 20px;
-}
-@media (max-width: 767px) {
-  .navbar-nav .open .dropdown-menu {
-    position: static;
-    float: none;
-    width: auto;
-    margin-top: 0;
-    background-color: transparent;
-    border: 0;
-    box-shadow: none;
-  }
-  .navbar-nav .open .dropdown-menu > li > a,
-  .navbar-nav .open .dropdown-menu .dropdown-header {
-    padding: 5px 15px 5px 25px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a {
-    line-height: 20px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-nav .open .dropdown-menu > li > a:focus {
-    background-image: none;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-nav {
-    float: left;
-    margin: 0;
-  }
-  .navbar-nav > li {
-    float: left;
-  }
-  .navbar-nav > li > a {
-    padding-top: 15px;
-    padding-bottom: 15px;
-  }
-  .navbar-nav.navbar-right:last-child {
-    margin-right: -15px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-left {
-    float: left !important;
-  }
-  .navbar-right {
-    float: right !important;
-  }
-}
-.navbar-form {
-  margin-left: -15px;
-  margin-right: -15px;
-  padding: 10px 15px;
-  border-top: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-@media (min-width: 768px) {
-  .navbar-form .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .navbar-form .input-group {
-    display: inline-table;
-    vertical-align: middle;
-  }
-  .navbar-form .input-group .input-group-addon,
-  .navbar-form .input-group .input-group-btn,
-  .navbar-form .input-group .form-control {
-    width: auto;
-  }
-  .navbar-form .input-group > .form-control {
-    width: 100%;
-  }
-  .navbar-form .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio,
-  .navbar-form .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio label,
-  .navbar-form .checkbox label {
-    padding-left: 0;
-  }
-  .navbar-form .radio input[type="radio"],
-  .navbar-form .checkbox input[type="checkbox"] {
-    position: relative;
-    margin-left: 0;
-  }
-  .navbar-form .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-@media (max-width: 767px) {
-  .navbar-form .form-group {
-    margin-bottom: 5px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-form {
-    width: auto;
-    border: 0;
-    margin-left: 0;
-    margin-right: 0;
-    padding-top: 0;
-    padding-bottom: 0;
-    -webkit-box-shadow: none;
-    box-shadow: none;
-  }
-  .navbar-form.navbar-right:last-child {
-    margin-right: -15px;
-  }
-}
-.navbar-nav > li > .dropdown-menu {
-  margin-top: 0;
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.navbar-btn {
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-.navbar-btn.btn-sm {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.navbar-btn.btn-xs {
-  margin-top: 14px;
-  margin-bottom: 14px;
-}
-.navbar-text {
-  margin-top: 15px;
-  margin-bottom: 15px;
-}
-@media (min-width: 768px) {
-  .navbar-text {
-    float: left;
-    margin-left: 15px;
-    margin-right: 15px;
-  }
-  .navbar-text.navbar-right:last-child {
-    margin-right: 0;
-  }
-}
-.navbar-default {
-  background-color: #f8f8f8;
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-brand {
-  color: #f1f1f1;
-}
-.navbar-default .navbar-brand:hover,
-.navbar-default .navbar-brand:focus {
-  color: #d8d8d8;
-  background-color: transparent;
-}
-.navbar-default .navbar-text {
-  color: #777;
-}
-.navbar-default .navbar-nav > li > a {
-  color: #f1f1f1;
-}
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
-  color: #f1f1f1;
-  background-color: #6db33f;
-}
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
-  color: #f1f1f1;
-  background-color: #6db33f;
-}
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
-  color: #ccc;
-  background-color: transparent;
-}
-.navbar-default .navbar-toggle {
-  border-color: #ddd;
-}
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
-  background-color: transparent;
-}
-.navbar-default .navbar-toggle .icon-bar {
-  background-color: #f1f1f1;
-}
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .open > a:hover,
-.navbar-default .navbar-nav > .open > a:focus {
-  background-color: #6db33f;
-  color: #f1f1f1;
-}
-@media (max-width: 767px) {
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
-    color: #f1f1f1;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #f1f1f1;
-    background-color: #6db33f;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #f1f1f1;
-    background-color: #6db33f;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #ccc;
-    background-color: transparent;
-  }
-}
-.navbar-default .navbar-link {
-  color: #f1f1f1;
-}
-.navbar-default .navbar-link:hover {
-  color: #f1f1f1;
-}
-.navbar-default .btn-link {
-  color: #f1f1f1;
-}
-.navbar-default .btn-link:hover,
-.navbar-default .btn-link:focus {
-  color: #f1f1f1;
-}
-.navbar-default .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-default .btn-link:hover,
-.navbar-default .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-default .btn-link:focus {
-  color: #ccc;
-}
-.navbar-inverse {
-  background-color: #222;
-  border-color: #080808;
-}
-.navbar-inverse .navbar-brand {
-  color: #777777;
-}
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-text {
-  color: #777777;
-}
-.navbar-inverse .navbar-nav > li > a {
-  color: #777777;
-}
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
-  color: #fff;
-  background-color: #080808;
-}
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
-  color: #444;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
-  border-color: #333;
-}
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
-  background-color: #333;
-}
-.navbar-inverse .navbar-toggle .icon-bar {
-  background-color: #fff;
-}
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
-  border-color: #101010;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
-  background-color: #080808;
-  color: #fff;
-}
-@media (max-width: 767px) {
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
-    border-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
-    color: #777777;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #fff;
-    background-color: transparent;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #fff;
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #444;
-    background-color: transparent;
-  }
-}
-.navbar-inverse .navbar-link {
-  color: #777777;
-}
-.navbar-inverse .navbar-link:hover {
-  color: #fff;
-}
-.navbar-inverse .btn-link {
-  color: #777777;
-}
-.navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link:focus {
-  color: #fff;
-}
-.navbar-inverse .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-inverse .btn-link:focus {
-  color: #444;
-}
-.breadcrumb {
-  padding: 8px 15px;
-  margin-bottom: 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  border-radius: 0;
-}
-.breadcrumb > li {
-  display: inline-block;
-}
-.breadcrumb > li + li:before {
-  content: "/\00a0";
-  padding: 0 5px;
-  color: #ccc;
-}
-.breadcrumb > .active {
-  color: #777777;
-}
-.pagination {
-  display: inline-block;
-  padding-left: 0;
-  margin: 20px 0;
-  border-radius: 0;
-}
-.pagination > li {
-  display: inline;
-}
-.pagination > li > a,
-.pagination > li > span {
-  position: relative;
-  float: left;
-  padding: 6px 12px;
-  line-height: 1.428571429;
-  text-decoration: none;
-  color: #5fa134;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  margin-left: -1px;
-}
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
-  margin-left: 0;
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
-  color: #5fa134;
-  background-color: #eeeeee;
-  border-color: #ddd;
-}
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
-  z-index: 2;
-  color: #fff;
-  background-color: #428bca;
-  border-color: #428bca;
-  cursor: default;
-}
-.pagination > .disabled > span,
-.pagination > .disabled > span:hover,
-.pagination > .disabled > span:focus,
-.pagination > .disabled > a,
-.pagination > .disabled > a:hover,
-.pagination > .disabled > a:focus {
-  color: #777777;
-  background-color: #fff;
-  border-color: #ddd;
-  cursor: not-allowed;
-}
-.pagination-lg > li > a,
-.pagination-lg > li > span {
-  padding: 10px 16px;
-  font-size: 18px;
-}
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.pagination-sm > li > a,
-.pagination-sm > li > span {
-  padding: 5px 10px;
-  font-size: 12px;
-}
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
-  border-bottom-right-radius: 0;
-  border-top-right-radius: 0;
-}
-.pager {
-  padding-left: 0;
-  margin: 20px 0;
-  list-style: none;
-  text-align: center;
-}
-.pager li {
-  display: inline;
-}
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 15px;
-}
-.pager li > a:hover,
-.pager li > a:focus {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
-  color: #777777;
-  background-color: #fff;
-  cursor: not-allowed;
-}
-.label {
-  display: inline;
-  padding: .2em .6em .3em;
-  font-size: 75%;
-  font-weight: bold;
-  line-height: 1;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  border-radius: .25em;
-}
-a.label:hover,
-a.label:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-.label:empty {
-  display: none;
-}
-.btn .label {
-  position: relative;
-  top: -1px;
-}
-.label-default {
-  background-color: #777777;
-}
-.label-default[href]:hover,
-.label-default[href]:focus {
-  background-color: #5e5e5e;
-}
-.label-primary {
-  background-color: #428bca;
-}
-.label-primary[href]:hover,
-.label-primary[href]:focus {
-  background-color: #3071a9;
-}
-.label-success {
-  background-color: #5cb85c;
-}
-.label-success[href]:hover,
-.label-success[href]:focus {
-  background-color: #449d44;
-}
-.label-info {
-  background-color: #5bc0de;
-}
-.label-info[href]:hover,
-.label-info[href]:focus {
-  background-color: #31b0d5;
-}
-.label-warning {
-  background-color: #f0ad4e;
-}
-.label-warning[href]:hover,
-.label-warning[href]:focus {
-  background-color: #ec971f;
-}
-.label-danger {
-  background-color: #d9534f;
-}
-.label-danger[href]:hover,
-.label-danger[href]:focus {
-  background-color: #c9302c;
-}
-.badge {
-  display: inline-block;
-  min-width: 10px;
-  padding: 3px 7px;
-  font-size: 12px;
-  font-weight: bold;
-  color: #fff;
-  line-height: 1;
-  vertical-align: baseline;
-  white-space: nowrap;
-  text-align: center;
-  background-color: #777777;
-  border-radius: 10px;
-}
-.badge:empty {
-  display: none;
-}
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-.btn-xs .badge {
-  top: 0;
-  padding: 1px 5px;
-}
-a.badge:hover,
-a.badge:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-a.list-group-item.active > .badge,
-.nav-pills > .active > a > .badge {
-  color: #5fa134;
-  background-color: #fff;
-}
-.nav-pills > li > a > .badge {
-  margin-left: 3px;
-}
-.jumbotron {
-  padding: 30px;
-  margin-bottom: 30px;
-  color: inherit;
-  background-color: #eeeeee;
-}
-.jumbotron h1,
-.jumbotron .h1 {
-  color: inherit;
-}
-.jumbotron p {
-  margin-bottom: 15px;
-  font-size: 21px;
-  font-weight: 200;
-}
-.jumbotron > hr {
-  border-top-color: #d5d5d5;
-}
-.container .jumbotron {
-  border-radius: 0;
-}
-.jumbotron .container {
-  max-width: 100%;
-}
-@media screen and (min-width: 768px) {
-  .jumbotron {
-    padding-top: 48px;
-    padding-bottom: 48px;
-  }
-  .container .jumbotron {
-    padding-left: 60px;
-    padding-right: 60px;
-  }
-  .jumbotron h1,
-  .jumbotron .h1 {
-    font-size: 63px;
-  }
-}
-.thumbnail {
-  display: block;
-  padding: 4px;
-  margin-bottom: 20px;
-  line-height: 1.428571429;
-  background-color: #f1f1f1;
-  border: 1px solid #ddd;
-  border-radius: 0;
-  -webkit-transition: all .2s ease-in-out;
-  -o-transition: all .2s ease-in-out;
-  transition: all .2s ease-in-out;
-}
-.thumbnail > img,
-.thumbnail a > img {
-  margin-left: auto;
-  margin-right: auto;
-}
-a.thumbnail:hover,
-a.thumbnail:focus,
-a.thumbnail.active {
-  border-color: #5fa134;
-}
-.thumbnail .caption {
-  padding: 9px;
-  color: #f1f1f1;
-}
-.alert {
-  padding: 15px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-  border-radius: 0;
-}
-.alert h4 {
-  margin-top: 0;
-  color: inherit;
-}
-.alert .alert-link {
-  font-weight: bold;
-}
-.alert > p,
-.alert > ul {
-  margin-bottom: 0;
-}
-.alert > p + p {
-  margin-top: 5px;
-}
-.alert-dismissable,
-.alert-dismissible {
-  padding-right: 35px;
-}
-.alert-dismissable .close,
-.alert-dismissible .close {
-  position: relative;
-  top: -2px;
-  right: -21px;
-  color: inherit;
-}
-.alert-success {
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-  color: #3c763d;
-}
-.alert-success hr {
-  border-top-color: #c9e2b3;
-}
-.alert-success .alert-link {
-  color: #2b542c;
-}
-.alert-info {
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-  color: #31708f;
-}
-.alert-info hr {
-  border-top-color: #a6e1ec;
-}
-.alert-info .alert-link {
-  color: #245269;
-}
-.alert-warning {
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-  color: #8a6d3b;
-}
-.alert-warning hr {
-  border-top-color: #f7e1b5;
-}
-.alert-warning .alert-link {
-  color: #66512c;
-}
-.alert-danger {
-  background-color: #f2dede;
-  border-color: #ebccd1;
-  color: #a94442;
-}
-.alert-danger hr {
-  border-top-color: #e4b9c0;
-}
-.alert-danger .alert-link {
-  color: #843534;
-}
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-.progress {
-  overflow: hidden;
-  height: 20px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border-radius: 0;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-}
-.progress-bar {
-  float: left;
-  width: 0%;
-  height: 100%;
-  font-size: 12px;
-  line-height: 20px;
-  color: #fff;
-  text-align: center;
-  background-color: #428bca;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  -webkit-transition: width .6s ease;
-  -o-transition: width .6s ease;
-  transition: width .6s ease;
-}
-.progress-striped .progress-bar,
-.progress-bar-striped {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-size: 40px 40px;
-}
-.progress.active .progress-bar,
-.progress-bar.active {
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-  -o-animation: progress-bar-stripes 2s linear infinite;
-  animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-bar[aria-valuenow="1"],
-.progress-bar[aria-valuenow="2"] {
-  min-width: 30px;
-}
-.progress-bar[aria-valuenow="0"] {
-  color: #777777;
-  min-width: 30px;
-  background-color: transparent;
-  background-image: none;
-  box-shadow: none;
-}
-.progress-bar-success {
-  background-color: #5cb85c;
-}
-.progress-striped .progress-bar-success {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-info {
-  background-color: #5bc0de;
-}
-.progress-striped .progress-bar-info {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-warning {
-  background-color: #f0ad4e;
-}
-.progress-striped .progress-bar-warning {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-danger {
-  background-color: #d9534f;
-}
-.progress-striped .progress-bar-danger {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.media,
-.media-body {
-  overflow: hidden;
-  zoom: 1;
-}
-.media,
-.media .media {
-  margin-top: 15px;
-}
-.media:first-child {
-  margin-top: 0;
-}
-.media-object {
-  display: block;
-}
-.media-heading {
-  margin: 0 0 5px;
-}
-.media > .pull-left {
-  margin-right: 10px;
-}
-.media > .pull-right {
-  margin-left: 10px;
-}
-.media-list {
-  padding-left: 0;
-  list-style: none;
-}
-.list-group {
-  margin-bottom: 20px;
-  padding-left: 0;
-}
-.list-group-item {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-  margin-bottom: -1px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-.list-group-item:first-child {
-  border-top-right-radius: 0;
-  border-top-left-radius: 0;
-}
-.list-group-item:last-child {
-  margin-bottom: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.list-group-item > .badge {
-  float: right;
-}
-.list-group-item > .badge + .badge {
-  margin-right: 5px;
-}
-a.list-group-item {
-  color: #555;
-}
-a.list-group-item .list-group-item-heading {
-  color: #333;
-}
-a.list-group-item:hover,
-a.list-group-item:focus {
-  text-decoration: none;
-  color: #555;
-  background-color: #f5f5f5;
-}
-.list-group-item.disabled,
-.list-group-item.disabled:hover,
-.list-group-item.disabled:focus {
-  background-color: #eeeeee;
-  color: #777777;
-}
-.list-group-item.disabled .list-group-item-heading,
-.list-group-item.disabled:hover .list-group-item-heading,
-.list-group-item.disabled:focus .list-group-item-heading {
-  color: inherit;
-}
-.list-group-item.disabled .list-group-item-text,
-.list-group-item.disabled:hover .list-group-item-text,
-.list-group-item.disabled:focus .list-group-item-text {
-  color: #777777;
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  z-index: 2;
-  color: #fff;
-  background-color: #428bca;
-  border-color: #428bca;
-}
-.list-group-item.active .list-group-item-heading,
-.list-group-item.active:hover .list-group-item-heading,
-.list-group-item.active:focus .list-group-item-heading,
-.list-group-item.active .list-group-item-heading > small,
-.list-group-item.active:hover .list-group-item-heading > small,
-.list-group-item.active:focus .list-group-item-heading > small,
-.list-group-item.active .list-group-item-heading > .small,
-.list-group-item.active:hover .list-group-item-heading > .small,
-.list-group-item.active:focus .list-group-item-heading > .small {
-  color: inherit;
-}
-.list-group-item.active .list-group-item-text,
-.list-group-item.active:hover .list-group-item-text,
-.list-group-item.active:focus .list-group-item-text {
-  color: #e1edf7;
-}
-.list-group-item-success {
-  color: #3c763d;
-  background-color: #dff0d8;
-}
-a.list-group-item-success {
-  color: #3c763d;
-}
-a.list-group-item-success .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-success:hover,
-a.list-group-item-success:focus {
-  color: #3c763d;
-  background-color: #d0e9c6;
-}
-a.list-group-item-success.active,
-a.list-group-item-success.active:hover,
-a.list-group-item-success.active:focus {
-  color: #fff;
-  background-color: #3c763d;
-  border-color: #3c763d;
-}
-.list-group-item-info {
-  color: #31708f;
-  background-color: #d9edf7;
-}
-a.list-group-item-info {
-  color: #31708f;
-}
-a.list-group-item-info .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-info:hover,
-a.list-group-item-info:focus {
-  color: #31708f;
-  background-color: #c4e3f3;
-}
-a.list-group-item-info.active,
-a.list-group-item-info.active:hover,
-a.list-group-item-info.active:focus {
-  color: #fff;
-  background-color: #31708f;
-  border-color: #31708f;
-}
-.list-group-item-warning {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-}
-a.list-group-item-warning {
-  color: #8a6d3b;
-}
-a.list-group-item-warning .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-warning:hover,
-a.list-group-item-warning:focus {
-  color: #8a6d3b;
-  background-color: #faf2cc;
-}
-a.list-group-item-warning.active,
-a.list-group-item-warning.active:hover,
-a.list-group-item-warning.active:focus {
-  color: #fff;
-  background-color: #8a6d3b;
-  border-color: #8a6d3b;
-}
-.list-group-item-danger {
-  color: #a94442;
-  background-color: #f2dede;
-}
-a.list-group-item-danger {
-  color: #a94442;
-}
-a.list-group-item-danger .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-danger:hover,
-a.list-group-item-danger:focus {
-  color: #a94442;
-  background-color: #ebcccc;
-}
-a.list-group-item-danger.active,
-a.list-group-item-danger.active:hover,
-a.list-group-item-danger.active:focus {
-  color: #fff;
-  background-color: #a94442;
-  border-color: #a94442;
-}
-.list-group-item-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.list-group-item-text {
-  margin-bottom: 0;
-  line-height: 1.3;
-}
-.panel {
-  margin-bottom: 20px;
-  background-color: #fff;
-  border: 1px solid transparent;
-  border-radius: 0;
-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-.panel-body {
-  padding: 15px;
-}
-.panel-heading {
-  padding: 10px 15px;
-  border-bottom: 1px solid transparent;
-  border-top-right-radius: -1;
-  border-top-left-radius: -1;
-}
-.panel-heading > .dropdown .dropdown-toggle {
-  color: inherit;
-}
-.panel-title {
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: 16px;
-  color: inherit;
-}
-.panel-title > a {
-  color: inherit;
-}
-.panel-footer {
-  padding: 10px 15px;
-  background-color: #f5f5f5;
-  border-top: 1px solid #ddd;
-  border-bottom-right-radius: -1;
-  border-bottom-left-radius: -1;
-}
-.panel > .list-group {
-  margin-bottom: 0;
-}
-.panel > .list-group .list-group-item {
-  border-width: 1px 0;
-  border-radius: 0;
-}
-.panel > .list-group:first-child .list-group-item:first-child {
-  border-top: 0;
-  border-top-right-radius: -1;
-  border-top-left-radius: -1;
-}
-.panel > .list-group:last-child .list-group-item:last-child {
-  border-bottom: 0;
-  border-bottom-right-radius: -1;
-  border-bottom-left-radius: -1;
-}
-.panel-heading + .list-group .list-group-item:first-child {
-  border-top-width: 0;
-}
-.list-group + .panel-footer {
-  border-top-width: 0;
-}
-.panel > .table,
-.panel > .table-responsive > .table,
-.panel > .panel-collapse > .table {
-  margin-bottom: 0;
-}
-.panel > .table:first-child,
-.panel > .table-responsive:first-child > .table:first-child {
-  border-top-right-radius: -1;
-  border-top-left-radius: -1;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
-  border-top-left-radius: -1;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
-  border-top-right-radius: -1;
-}
-.panel > .table:last-child,
-.panel > .table-responsive:last-child > .table:last-child {
-  border-bottom-right-radius: -1;
-  border-bottom-left-radius: -1;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
-  border-bottom-left-radius: -1;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
-  border-bottom-right-radius: -1;
-}
-.panel > .panel-body + .table,
-.panel > .panel-body + .table-responsive {
-  border-top: 1px solid #34302D;
-}
-.panel > .table > tbody:first-child > tr:first-child th,
-.panel > .table > tbody:first-child > tr:first-child td {
-  border-top: 0;
-}
-.panel > .table-bordered,
-.panel > .table-responsive > .table-bordered {
-  border: 0;
-}
-.panel > .table-bordered > thead > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
-.panel > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-bordered > thead > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
-.panel > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-bordered > tfoot > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
-  border-left: 0;
-}
-.panel > .table-bordered > thead > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
-.panel > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-bordered > thead > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
-.panel > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-bordered > tfoot > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
-  border-right: 0;
-}
-.panel > .table-bordered > thead > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
-.panel > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-bordered > thead > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
-.panel > .table-bordered > tbody > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
-  border-bottom: 0;
-}
-.panel > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-bordered > tfoot > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
-  border-bottom: 0;
-}
-.panel > .table-responsive {
-  border: 0;
-  margin-bottom: 0;
-}
-.panel-group {
-  margin-bottom: 20px;
-}
-.panel-group .panel {
-  margin-bottom: 0;
-  border-radius: 0;
-}
-.panel-group .panel + .panel {
-  margin-top: 5px;
-}
-.panel-group .panel-heading {
-  border-bottom: 0;
-}
-.panel-group .panel-heading + .panel-collapse > .panel-body {
-  border-top: 1px solid #ddd;
-}
-.panel-group .panel-footer {
-  border-top: 0;
-}
-.panel-group .panel-footer + .panel-collapse .panel-body {
-  border-bottom: 1px solid #ddd;
-}
-.panel-default {
-  border-color: #ddd;
-}
-.panel-default > .panel-heading {
-  color: #333333;
-  background-color: #f5f5f5;
-  border-color: #ddd;
-}
-.panel-default > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ddd;
-}
-.panel-default > .panel-heading .badge {
-  color: #f5f5f5;
-  background-color: #333333;
-}
-.panel-default > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ddd;
-}
-.panel-primary {
-  border-color: #428bca;
-}
-.panel-primary > .panel-heading {
-  color: #fff;
-  background-color: #428bca;
-  border-color: #428bca;
-}
-.panel-primary > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #428bca;
-}
-.panel-primary > .panel-heading .badge {
-  color: #428bca;
-  background-color: #fff;
-}
-.panel-primary > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #428bca;
-}
-.panel-success {
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #d6e9c6;
-}
-.panel-success > .panel-heading .badge {
-  color: #dff0d8;
-  background-color: #3c763d;
-}
-.panel-success > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #d6e9c6;
-}
-.panel-info {
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading {
-  color: #31708f;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #bce8f1;
-}
-.panel-info > .panel-heading .badge {
-  color: #d9edf7;
-  background-color: #31708f;
-}
-.panel-info > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #bce8f1;
-}
-.panel-warning {
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #faebcc;
-}
-.panel-warning > .panel-heading .badge {
-  color: #fcf8e3;
-  background-color: #8a6d3b;
-}
-.panel-warning > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #faebcc;
-}
-.panel-danger {
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ebccd1;
-}
-.panel-danger > .panel-heading .badge {
-  color: #f2dede;
-  background-color: #a94442;
-}
-.panel-danger > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ebccd1;
-}
-.embed-responsive {
-  position: relative;
-  display: block;
-  height: 0;
-  padding: 0;
-  overflow: hidden;
-}
-.embed-responsive .embed-responsive-item,
-.embed-responsive iframe,
-.embed-responsive embed,
-.embed-responsive object {
-  position: absolute;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  height: 100%;
-  width: 100%;
-  border: 0;
-}
-.embed-responsive.embed-responsive-16by9 {
-  padding-bottom: 56.25%;
-}
-.embed-responsive.embed-responsive-4by3 {
-  padding-bottom: 75%;
-}
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border: 1px solid #e3e3e3;
-  border-radius: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, 0.15);
-}
-.well-lg {
-  padding: 24px;
-  border-radius: 0;
-}
-.well-sm {
-  padding: 9px;
-  border-radius: 0;
-}
-.close {
-  float: right;
-  font-size: 21px;
-  font-weight: bold;
-  line-height: 1;
-  color: #000;
-  text-shadow: 0 1px 0 #fff;
-  opacity: .2;
-  filter: alpha(opacity=20);
-}
-.close:hover,
-.close:focus {
-  color: #000;
-  text-decoration: none;
-  cursor: pointer;
-  opacity: .5;
-  filter: alpha(opacity=50);
-}
-button.close {
-  padding: 0;
-  cursor: pointer;
-  background: transparent;
-  border: 0;
-  -webkit-appearance: none;
-}
-.modal-open {
-  overflow: hidden;
-}
-.modal {
-  display: none;
-  overflow: hidden;
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1050;
-  -webkit-overflow-scrolling: touch;
-  outline: 0;
-}
-.modal.fade .modal-dialog {
-  -webkit-transform: translate3d(0, -25%, 0);
-  transform: translate3d(0, -25%, 0);
-  -webkit-transition: -webkit-transform 0.3s ease-out;
-  -moz-transition: -moz-transform 0.3s ease-out;
-  -o-transition: -o-transform 0.3s ease-out;
-  transition: transform 0.3s ease-out;
-}
-.modal.in .modal-dialog {
-  -webkit-transform: translate3d(0, 0, 0);
-  transform: translate3d(0, 0, 0);
-}
-.modal-open .modal {
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-.modal-dialog {
-  position: relative;
-  width: auto;
-  margin: 10px;
-}
-.modal-content {
-  position: relative;
-  background-color: #fff;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  border-radius: 0;
-  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
-  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
-  background-clip: padding-box;
-  outline: 0;
-}
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1040;
-  background-color: #000;
-}
-.modal-backdrop.fade {
-  opacity: 0;
-  filter: alpha(opacity=0);
-}
-.modal-backdrop.in {
-  opacity: .5;
-  filter: alpha(opacity=50);
-}
-.modal-header {
-  padding: 15px;
-  border-bottom: 1px solid #e5e5e5;
-  min-height: 16.428571429px;
-}
-.modal-header .close {
-  margin-top: -2px;
-}
-.modal-title {
-  margin: 0;
-  line-height: 1.428571429;
-}
-.modal-body {
-  position: relative;
-  padding: 15px;
-}
-.modal-footer {
-  padding: 15px;
-  text-align: right;
-  border-top: 1px solid #e5e5e5;
-}
-.modal-footer .btn + .btn {
-  margin-left: 5px;
-  margin-bottom: 0;
-}
-.modal-footer .btn-group .btn + .btn {
-  margin-left: -1px;
-}
-.modal-footer .btn-block + .btn-block {
-  margin-left: 0;
-}
-.modal-scrollbar-measure {
-  position: absolute;
-  top: -9999px;
-  width: 50px;
-  height: 50px;
-  overflow: scroll;
-}
-@media (min-width: 768px) {
-  .modal-dialog {
-    width: 600px;
-    margin: 30px auto;
-  }
-  .modal-content {
-    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-  }
-  .modal-sm {
-    width: 300px;
-  }
-}
-@media (min-width: 992px) {
-  .modal-lg {
-    width: 900px;
-  }
-}
-.tooltip {
-  position: absolute;
-  z-index: 1070;
-  display: block;
-  visibility: visible;
-  font-size: 12px;
-  line-height: 1.4;
-  opacity: 0;
-  filter: alpha(opacity=0);
-}
-.tooltip.in {
-  opacity: .9;
-  filter: alpha(opacity=90);
-}
-.tooltip.top {
-  margin-top: -3px;
-  padding: 5px 0;
-}
-.tooltip.right {
-  margin-left: 3px;
-  padding: 0 5px;
-}
-.tooltip.bottom {
-  margin-top: 3px;
-  padding: 5px 0;
-}
-.tooltip.left {
-  margin-left: -3px;
-  padding: 0 5px;
-}
-.tooltip-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: #fff;
-  text-align: center;
-  text-decoration: none;
-  background-color: #000;
-  border-radius: 0;
-}
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.tooltip.top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-left .tooltip-arrow {
-  bottom: 0;
-  left: 5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-right .tooltip-arrow {
-  bottom: 0;
-  right: 5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.right .tooltip-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-width: 5px 5px 5px 0;
-  border-right-color: #000;
-}
-.tooltip.left .tooltip-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-width: 5px 0 5px 5px;
-  border-left-color: #000;
-}
-.tooltip.bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-left .tooltip-arrow {
-  top: 0;
-  left: 5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-right .tooltip-arrow {
-  top: 0;
-  right: 5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1060;
-  display: none;
-  max-width: 276px;
-  padding: 1px;
-  text-align: left;
-  background-color: #fff;
-  background-clip: padding-box;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  border-radius: 0;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  white-space: normal;
-}
-.popover.top {
-  margin-top: -10px;
-}
-.popover.right {
-  margin-left: 10px;
-}
-.popover.bottom {
-  margin-top: 10px;
-}
-.popover.left {
-  margin-left: -10px;
-}
-.popover-title {
-  margin: 0;
-  padding: 8px 14px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 18px;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  border-radius: -1 -1 0 0;
-}
-.popover-content {
-  padding: 9px 14px;
-}
-.popover > .arrow,
-.popover > .arrow:after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.popover > .arrow {
-  border-width: 11px;
-}
-.popover > .arrow:after {
-  border-width: 10px;
-  content: "";
-}
-.popover.top > .arrow {
-  left: 50%;
-  margin-left: -11px;
-  border-bottom-width: 0;
-  border-top-color: #999999;
-  border-top-color: rgba(0, 0, 0, 0.25);
-  bottom: -11px;
-}
-.popover.top > .arrow:after {
-  content: " ";
-  bottom: 1px;
-  margin-left: -10px;
-  border-bottom-width: 0;
-  border-top-color: #fff;
-}
-.popover.right > .arrow {
-  top: 50%;
-  left: -11px;
-  margin-top: -11px;
-  border-left-width: 0;
-  border-right-color: #999999;
-  border-right-color: rgba(0, 0, 0, 0.25);
-}
-.popover.right > .arrow:after {
-  content: " ";
-  left: 1px;
-  bottom: -10px;
-  border-left-width: 0;
-  border-right-color: #fff;
-}
-.popover.bottom > .arrow {
-  left: 50%;
-  margin-left: -11px;
-  border-top-width: 0;
-  border-bottom-color: #999999;
-  border-bottom-color: rgba(0, 0, 0, 0.25);
-  top: -11px;
-}
-.popover.bottom > .arrow:after {
-  content: " ";
-  top: 1px;
-  margin-left: -10px;
-  border-top-width: 0;
-  border-bottom-color: #fff;
-}
-.popover.left > .arrow {
-  top: 50%;
-  right: -11px;
-  margin-top: -11px;
-  border-right-width: 0;
-  border-left-color: #999999;
-  border-left-color: rgba(0, 0, 0, 0.25);
-}
-.popover.left > .arrow:after {
-  content: " ";
-  right: 1px;
-  border-right-width: 0;
-  border-left-color: #fff;
-  bottom: -10px;
-}
-.carousel {
-  position: relative;
-}
-.carousel-inner {
-  position: relative;
-  overflow: hidden;
-  width: 100%;
-}
-.carousel-inner > .item {
-  display: none;
-  position: relative;
-  -webkit-transition: .6s ease-in-out left;
-  -o-transition: .6s ease-in-out left;
-  transition: .6s ease-in-out left;
-}
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  line-height: 1;
-}
-.carousel-inner > .active,
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  display: block;
-}
-.carousel-inner > .active {
-  left: 0;
-}
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  position: absolute;
-  top: 0;
-  width: 100%;
-}
-.carousel-inner > .next {
-  left: 100%;
-}
-.carousel-inner > .prev {
-  left: -100%;
-}
-.carousel-inner > .next.left,
-.carousel-inner > .prev.right {
-  left: 0;
-}
-.carousel-inner > .active.left {
-  left: -100%;
-}
-.carousel-inner > .active.right {
-  left: 100%;
-}
-.carousel-control {
-  position: absolute;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  width: 15%;
-  opacity: .5;
-  filter: alpha(opacity=50);
-  font-size: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
-}
-.carousel-control.left {
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
-  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
-  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
-}
-.carousel-control.right {
-  left: auto;
-  right: 0;
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
-  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
-  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
-}
-.carousel-control:hover,
-.carousel-control:focus {
-  outline: 0;
-  color: #fff;
-  text-decoration: none;
-  opacity: .9;
-  filter: alpha(opacity=90);
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-left,
-.carousel-control .glyphicon-chevron-right {
-  position: absolute;
-  top: 50%;
-  z-index: 5;
-  display: inline-block;
-}
-.carousel-control .icon-prev,
-.carousel-control .glyphicon-chevron-left {
-  left: 50%;
-  margin-left: -10px;
-}
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-right {
-  right: 50%;
-  margin-right: -10px;
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next {
-  width: 20px;
-  height: 20px;
-  margin-top: -10px;
-  font-family: serif;
-}
-.carousel-control .icon-prev:before {
-  content: '\2039';
-}
-.carousel-control .icon-next:before {
-  content: '\203a';
-}
-.carousel-indicators {
-  position: absolute;
-  bottom: 10px;
-  left: 50%;
-  z-index: 15;
-  width: 60%;
-  margin-left: -30%;
-  padding-left: 0;
-  list-style: none;
-  text-align: center;
-}
-.carousel-indicators li {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 1px;
-  text-indent: -999px;
-  border: 1px solid #fff;
-  border-radius: 10px;
-  cursor: pointer;
-  background-color: #000 \9;
-  background-color: rgba(0, 0, 0, 0);
-}
-.carousel-indicators .active {
-  margin: 0;
-  width: 12px;
-  height: 12px;
-  background-color: #fff;
-}
-.carousel-caption {
-  position: absolute;
-  left: 15%;
-  right: 15%;
-  bottom: 20px;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
-}
-.carousel-caption .btn {
-  text-shadow: none;
-}
-@media screen and (min-width: 768px) {
-  .carousel-control .glyphicon-chevron-left,
-  .carousel-control .glyphicon-chevron-right,
-  .carousel-control .icon-prev,
-  .carousel-control .icon-next {
-    width: 30px;
-    height: 30px;
-    margin-top: -15px;
-    font-size: 30px;
-  }
-  .carousel-control .glyphicon-chevron-left,
-  .carousel-control .icon-prev {
-    margin-left: -15px;
-  }
-  .carousel-control .glyphicon-chevron-right,
-  .carousel-control .icon-next {
-    margin-right: -15px;
-  }
-  .carousel-caption {
-    left: 20%;
-    right: 20%;
-    padding-bottom: 30px;
-  }
-  .carousel-indicators {
-    bottom: 20px;
-  }
-}
-.clearfix:before,
-.clearfix:after,
-.dl-horizontal dd:before,
-.dl-horizontal dd:after,
-.container:before,
-.container:after,
-.container-fluid:before,
-.container-fluid:after,
-.row:before,
-.row:after,
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after,
-.btn-toolbar:before,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after,
-.nav:before,
-.nav:after,
-.navbar:before,
-.navbar:after,
-.navbar-header:before,
-.navbar-header:after,
-.navbar-collapse:before,
-.navbar-collapse:after,
-.pager:before,
-.pager:after,
-.panel-body:before,
-.panel-body:after,
-.modal-footer:before,
-.modal-footer:after {
-  content: " ";
-  display: table;
-}
-.clearfix:after,
-.dl-horizontal dd:after,
-.container:after,
-.container-fluid:after,
-.row:after,
-.form-horizontal .form-group:after,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:after,
-.nav:after,
-.navbar:after,
-.navbar-header:after,
-.navbar-collapse:after,
-.pager:after,
-.panel-body:after,
-.modal-footer:after {
-  clear: both;
-}
-.center-block {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-.pull-right {
-  float: right !important;
-}
-.pull-left {
-  float: left !important;
-}
-.hide {
-  display: none !important;
-}
-.show {
-  display: block !important;
-}
-.invisible {
-  visibility: hidden;
-}
-.text-hide {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-.hidden {
-  display: none !important;
-  visibility: hidden !important;
-}
-.affix {
-  position: fixed;
-  -webkit-transform: translate3d(0, 0, 0);
-  transform: translate3d(0, 0, 0);
-}
-@-ms-viewport {
-  width: device-width;
-}
-.visible-xs,
-.visible-sm,
-.visible-md,
-.visible-lg {
-  display: none !important;
-}
-.visible-xs-block,
-.visible-xs-inline,
-.visible-xs-inline-block,
-.visible-sm-block,
-.visible-sm-inline,
-.visible-sm-inline-block,
-.visible-md-block,
-.visible-md-inline,
-.visible-md-inline-block,
-.visible-lg-block,
-.visible-lg-inline,
-.visible-lg-inline-block {
-  display: none !important;
-}
-@media (max-width: 767px) {
-  .visible-xs {
-    display: block !important;
-  }
-  table.visible-xs {
-    display: table;
-  }
-  tr.visible-xs {
-    display: table-row !important;
-  }
-  th.visible-xs,
-  td.visible-xs {
-    display: table-cell !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-block {
-    display: block !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-inline {
-    display: inline !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm {
-    display: block !important;
-  }
-  table.visible-sm {
-    display: table;
-  }
-  tr.visible-sm {
-    display: table-row !important;
-  }
-  th.visible-sm,
-  td.visible-sm {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-block {
-    display: block !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md {
-    display: block !important;
-  }
-  table.visible-md {
-    display: table;
-  }
-  tr.visible-md {
-    display: table-row !important;
-  }
-  th.visible-md,
-  td.visible-md {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-block {
-    display: block !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg {
-    display: block !important;
-  }
-  table.visible-lg {
-    display: table;
-  }
-  tr.visible-lg {
-    display: table-row !important;
-  }
-  th.visible-lg,
-  td.visible-lg {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-block {
-    display: block !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (max-width: 767px) {
-  .hidden-xs {
-    display: none !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .hidden-sm {
-    display: none !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .hidden-md {
-    display: none !important;
-  }
-}
-@media (min-width: 1200px) {
-  .hidden-lg {
-    display: none !important;
-  }
-}
-.visible-print {
-  display: none !important;
-}
-@media print {
-  .visible-print {
-    display: block !important;
-  }
-  table.visible-print {
-    display: table;
-  }
-  tr.visible-print {
-    display: table-row !important;
-  }
-  th.visible-print,
-  td.visible-print {
-    display: table-cell !important;
-  }
-}
-.visible-print-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-block {
-    display: block !important;
-  }
-}
-.visible-print-inline {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline {
-    display: inline !important;
-  }
-}
-.visible-print-inline-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline-block {
-    display: inline-block !important;
-  }
-}
-@media print {
-  .hidden-print {
-    display: none !important;
-  }
-}
-@font-face {
-  font-family: 'varela_roundregular';
-  src: url('../fonts/varela_round-webfont.eot');
-  src: url('../fonts/varela_round-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/varela_round-webfont.woff') format('woff'), url('../fonts/varela_round-webfont.ttf') format('truetype'), url('../fonts/varela_round-webfont.svg#varela_roundregular') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-@font-face {
-  font-family: 'montserratregular';
-  src: url('../fonts/montserrat-webfont.eot');
-  src: url('../fonts/montserrat-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/montserrat-webfont.woff') format('woff'), url('../fonts/montserrat-webfont.ttf') format('truetype'), url('../fonts/montserrat-webfont.svg#montserratregular') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-body,
-h1,
-h2,
-h3,
-p,
-input {
-  margin: 0;
-  font-weight: 400;
-  font-family: "varela_roundregular", sans-serif;
-  color: #34302d;
-}
-h1 {
-  font-size: 24px;
-  line-height: 30px;
-  font-family: "montserratregular", sans-serif;
-}
-h2 {
-  font-size: 18px;
-  font-weight: 700;
-  line-height: 24px;
-  margin-bottom: 10px;
-  font-family: "montserratregular", sans-serif;
-}
-h3 {
-  font-size: 16px;
-  line-height: 24px;
-  margin-bottom: 10px;
-  font-weight: 700;
-}
-strong {
-  font-weight: 700;
-  font-family: "montserratregular", sans-serif;
-}
-.navbar {
-  border-top: 4px solid #6db33f;
-  background-color: #34302d;
-  margin-bottom: 0px;
-  border-bottom: 0;
-  border-left: 0;
-  border-right: 0;
-}
-.navbar a.navbar-brand {
-  background: url("../images/jhipster-logo-eureka.png") -1px -1px no-repeat;
-  margin: 12px 0 6px;
-  width: 300px;
-  height: 46px;
-  display: inline-block;
-  text-decoration: none;
-  padding: 0;
-}
-.navbar a.navbar-brand span {
-  display: block;
-  width: 300px;
-  height: 46px;
-  background: url("../images/jhipster-logo-eureka.png") -1px -48px no-repeat;
-  opacity: 0;
-  -moz-transition: opacity 0.12s ease-in-out;
-  -webkit-transition: opacity 0.12s ease-in-out;
-  -o-transition: opacity 0.12s ease-in-out;
-}
-.navbar a:hover.navbar-brand span {
-  opacity: 1;
-}
-.navbar li > a,
-.navbar-text {
-  font-family: "montserratregular", sans-serif;
-  text-shadow: none;
-  font-size: 14px;
-  padding: 28px 20px;
-  transition: all 0.15s;
-  -webkit-transition: all 0.15s;
-  -moz-transition: all 0.15s;
-  -o-transition: all 0.15s;
-  -ms-transition: all 0.15s;
-}
-.navbar li > a {
-  text-transform: uppercase;
-}
-.navbar .navbar-text {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-.navbar li:hover > a {
-  color: #eeeeee;
-  background-color: #6db33f;
-}
-.navbar-toggle {
-  border-width: 0;
-}
-.navbar-toggle .icon-bar + .icon-bar {
-  margin-top: 3px;
-}
-.navbar-toggle .icon-bar {
-  width: 19px;
-  height: 3px;
-}
-@media (max-width: 768px) {
-  .navbar-toggle {
-    position: absolute;
-    z-index: 9999;
-    left: 0px;
-    top: 0px;
-  }
-  .navbar a.navbar-brand {
-    display: block;
-    margin: 0 auto 0 auto;
-    width: 200px;
-    height: 50px;
-    float: none;
-    background: url("../images/jhipster-logo-eureka-mobile.png") 0 center no-repeat;
-  }
-  .homepage-billboard .homepage-subtitle {
-    font-size: 21px;
-    line-height: 21px;
-  }
-  .navbar a.navbar-brand span {
-    display: none;
-  }
-  .navbar {
-    border-top-width: 0;
-  }
-  .xd-container {
-    margin-top: 20px;
-    margin-bottom: 30px;
-  }
-  .index-page--subtitle {
-    margin-top: 10px;
-    margin-bottom: 30px;
-  }
-}
-.table > thead > tr > th {
-  background-color: #3c3834;
-  color: #f1f1f1;
-}
-.table-filter {
-  background-color: #34302D;
-  padding: 9px 12px;
-}
-.nav > li > a {
-  color: #838789;
-}
-.btn-default {
-  border-width: 2px;
-  transition: border 0.15s;
-  -webkit-transition: border 0.15s;
-  -moz-transition: border 0.15s;
-  -o-transition: border 0.15s;
-  -ms-transition: border 0.15s;
-}
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
-  background-color: #34302D;
-  border-color: #34302D;
-}
-.container .text-muted {
-  margin: 20px 0;
-}
-code {
-  font-size: 80%;
-}
-.xd-container {
-  margin-top: 40px;
-  margin-bottom: 100px;
-}
-h1 {
-  margin-bottom: 15px;
-}
-.index-page--subtitle {
-  font-size: 16px;
-  line-height: 24px;
-  margin: 0 0 30px;
-}
-.form-horizontal button.btn-inverse {
-  margin-left: 32px;
-}
-#job-params-modal .modal-dialog {
-  width: 90%;
-  margin-left: auto;
-  margin-right: auto;
-}
-[ng-cloak].splash {
-  display: block !important;
-}
-[ng-cloak] {
-  display: none;
-}
-.splash {
-  background: #6db33f;
-  color: #34302D;
-  display: none;
-}
-.error-page {
-  margin-top: 100px;
-  text-align: center;
-}
-.error-page .error-title {
-  font-size: 24px;
-  line-height: 24px;
-  margin: 30px 0 0;
-}
-table td {
-  vertical-align: middle !important;
-}
-table td .progress {
-  margin-bottom: 0;
-}
-table td.action-column {
-  width: 1px;
-}
-.help-block {
-  color: #f1f1f1;
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka-mobile.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka-mobile.png
deleted file mode 100644
index fc59a236b11880018a423cab4f5fed1ef6cfa594..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka-mobile.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka.png
deleted file mode 100644
index 71565375c04e93a3902fcde3dc510b0ef20988bc..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/static/eureka/images/jhipster-logo-eureka.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/templates/error.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/templates/error.html
deleted file mode 100644
index 774b080d6c43bd05425807c9075c7f81611d54bf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/resources/templates/error.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://www.thymeleaf.org ">
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>Your request cannot be processed</title>
-    <style>
-        ::-moz-selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        ::selection {
-            background: #b3d4fc;
-            text-shadow: none;
-        }
-
-        html {
-            padding: 30px 10px;
-            font-size: 20px;
-            line-height: 1.4;
-            color: #737373;
-            background: #f0f0f0;
-            -webkit-text-size-adjust: 100%;
-            -ms-text-size-adjust: 100%;
-        }
-
-        html,
-        input {
-            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-        }
-
-        body {
-            max-width: 500px;
-            _width: 500px;
-            padding: 30px 20px 50px;
-            border: 1px solid #b3b3b3;
-            border-radius: 4px;
-            margin: 0 auto;
-            box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
-            background: #fcfcfc;
-        }
-
-        h1 {
-            margin: 0 10px;
-            font-size: 50px;
-            text-align: center;
-        }
-
-        h1 span {
-            color: #bbb;
-        }
-
-        h3 {
-            margin: 1.5em 0 0.5em;
-        }
-
-        p {
-            margin: 1em 0;
-        }
-
-        ul {
-            padding: 0 0 0 40px;
-            margin: 1em 0;
-        }
-
-        .container {
-            max-width: 380px;
-            _width: 380px;
-            margin: 0 auto;
-        }
-
-        /* google search */
-
-        #goog-fixurl ul {
-            list-style: none;
-            padding: 0;
-            margin: 0;
-        }
-
-        #goog-fixurl form {
-            margin: 0;
-        }
-
-        #goog-wm-qt,
-        #goog-wm-sb {
-            border: 1px solid #bbb;
-            font-size: 16px;
-            line-height: normal;
-            vertical-align: top;
-            color: #444;
-            border-radius: 2px;
-        }
-
-        #goog-wm-qt {
-            width: 220px;
-            height: 20px;
-            padding: 5px;
-            margin: 5px 10px 0 0;
-            box-shadow: inset 0 1px 1px #ccc;
-        }
-
-        #goog-wm-sb {
-            display: inline-block;
-            height: 32px;
-            padding: 0 10px;
-            margin: 5px 0 0;
-            white-space: nowrap;
-            cursor: pointer;
-            background-color: #f5f5f5;
-            background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -ms-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            background-image: -o-linear-gradient(rgba(255, 255, 255, 0), #f1f1f1);
-            -webkit-appearance: none;
-            -moz-appearance: none;
-            appearance: none;
-            *overflow: visible;
-            *display: inline;
-            *zoom: 1;
-        }
-
-        #goog-wm-sb:hover,
-        #goog-wm-sb:focus {
-            border-color: #aaa;
-            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
-            background-color: #f8f8f8;
-        }
-
-        #goog-wm-qt:hover,
-        #goog-wm-qt:focus {
-            border-color: #105cb6;
-            outline: 0;
-            color: #222;
-        }
-
-        input::-moz-focus-inner {
-            padding: 0;
-            border: 0;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <h1 th:text="#{error.title}">Your request cannot be processed <span>:(</span></h1>
-
-    <p th:text="#{error.subtitle}">Sorry, an error has occurred.</p>
-
-    <span th:text="#{error.status}">Status:</span>&nbsp;<span th:text="${error}"></span>&nbsp;(<span th:text="${error}"></span>)<br/>
-    <span th:if="${!#strings.isEmpty(message)}">
-        <span th:text="#{error.message}">Message:</span>&nbsp;<span th:text="${message}"></span><br/>
-    </span>
-
-    <script th:inline="text">
-        /*<![CDATA[*/
-        var GOOG_FIXURL_LANG = '[[${#locale.language}]]', GOOG_FIXURL_SITE = location.host;
-        /*]]>*/
-    </script>
-    <script src="https://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
-</div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/404.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/404.html
deleted file mode 100644
index 8d7925a892c6a7f695637b1a8c943bcd85b8bd27..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/404.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-    <meta charset="utf-8">
-    <title>Page Not Found</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <style>
-
-        * {
-            line-height: 1.2;
-            margin: 0;
-        }
-
-        html {
-            color: #888;
-            display: table;
-            font-family: sans-serif;
-            height: 100%;
-            text-align: center;
-            width: 100%;
-        }
-
-        body {
-            display: table-cell;
-            vertical-align: middle;
-            margin: 2em auto;
-        }
-
-        h1 {
-            color: #555;
-            font-size: 2em;
-            font-weight: 400;
-        }
-
-        p {
-            margin: 0 auto;
-            width: 280px;
-        }
-
-        @media only screen and (max-width: 280px) {
-
-            body, p {
-                width: 95%;
-            }
-
-            h1 {
-                font-size: 1.5em;
-                margin: 0 0 0.3em;
-            }
-
-        }
-
-    </style>
-</head>
-<body>
-    <h1>Page Not Found</h1>
-    <p>Sorry, but the page you were trying to view does not exist.</p>
-</body>
-</html>
-<!-- IE needs 512+ bytes: http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx -->
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.module.ts
deleted file mode 100644
index fe488b5e3dbff27f1dfd482bad6e2d1b01a1c103..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.module.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { JHipsterRegistrySharedModule } from '../shared';
-
-import {
-    adminState,
-    LogsComponent,
-    JhiMetricsMonitoringModalComponent,
-    JhiMetricsMonitoringComponent,
-    JhiHealthModalComponent,
-    JhiHealthCheckComponent,
-    JhiConfigurationComponent,
-    JhiConfigurationService,
-    JhiHealthService,
-    JhiMetricsService,
-    LogsService
-} from './';
-
-@NgModule({
-    imports: [
-        JHipsterRegistrySharedModule,
-        RouterModule.forRoot(adminState, { useHash: true })
-    ],
-    declarations: [
-        LogsComponent,
-        JhiConfigurationComponent,
-        JhiHealthCheckComponent,
-        JhiHealthModalComponent,
-        JhiMetricsMonitoringComponent,
-        JhiMetricsMonitoringModalComponent
-    ],
-    entryComponents: [
-        JhiHealthModalComponent,
-        JhiMetricsMonitoringModalComponent,
-    ],
-    providers: [
-        JhiConfigurationService,
-        JhiHealthService,
-        JhiMetricsService,
-        LogsService
-    ],
-    schemas: [CUSTOM_ELEMENTS_SCHEMA]
-})
-export class JHipsterRegistryAdminModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.route.ts
deleted file mode 100644
index 0b5757ad0db23378d2c5382bdb086a619f28a49d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/admin.route.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Routes } from '@angular/router';
-
-import {
-    configurationRoute,
-    healthRoute,
-    logsRoute,
-    metricsRoute
-} from './';
-
-import { UserRouteAccessService } from '../shared';
-
-const ADMIN_ROUTES = [
-    configurationRoute,
-    healthRoute,
-    logsRoute,
-    metricsRoute
-];
-
-export const adminState: Routes = [{
-    path: '',
-    data: {
-        authorities: ['ROLE_ADMIN']
-    },
-    canActivate: [UserRouteAccessService],
-    children: ADMIN_ROUTES
-}];
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.html
deleted file mode 100644
index aded02283e4eed69980ca459496fd4656d1d1127..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<div>
-    <h2>Configuration</h2>
-
-    <jhi-route-selector></jhi-route-selector>
-
-    <p><span>Filter (by prefix)</span> <input type="text" [(ngModel)]="filter" class="form-control"></p>
-    <label>Spring configuration</label>
-    <table class="table table-striped table-bordered table-responsive d-table" *ngIf="configuration">
-        <thead>
-        <tr>
-            <th class="w-40" (click)="orderProp = 'prefix'; reverse=!reverse"><span>Prefix</span></th>
-            <th class="w-60" (click)="orderProp = 'properties'; reverse=!reverse"><span>Properties</span></th>
-        </tr>
-        </thead>
-        <tbody>
-        <tr *ngFor="let entry of (configuration | pureFilter:filter:'prefix' | orderBy:orderProp:reverse)">
-            <td><span>{{entry.prefix}}</span></td>
-            <td>
-                <div class="row" *ngFor="let key of keys(entry.properties)">
-                    <div class="col-md-4">{{key}}</div>
-                    <div class="col-md-8">
-                        <span class="float-right badge badge-default break">{{entry.properties[key] | json}}</span>
-                    </div>
-                </div>
-            </td>
-        </tr>
-        </tbody>
-    </table>
-    <div *ngIf="allConfiguration">
-        <div *ngFor="let key of keys(allConfiguration)">
-            <label><span>{{key}}</span></label>
-            <table class="table table-sm table-striped table-bordered table-responsive d-table">
-                <thead>
-                <tr>
-                    <th class="w-40">Property</th>
-                    <th class="w-60">Value</th>
-                </tr>
-                </thead>
-                <tbody>
-                <tr *ngFor="let item of allConfiguration[key]">
-                    <td class="break">{{item.key}}</td>
-                    <td class="break">
-                        <span class="float-right badge badge-default break">{{item.val}}</span>
-                    </td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.ts
deleted file mode 100644
index fad687254f961fd73e2a3148ae93b22a927e5c04..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.component.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-
-import { JhiConfigurationService } from './configuration.service';
-import { JhiRoutesService, Route } from '../../shared';
-
-@Component({
-    selector: 'jhi-configuration',
-    templateUrl: './configuration.component.html'
-})
-export class JhiConfigurationComponent implements OnInit, OnDestroy {
-    allConfiguration: any = null;
-    configuration: any = null;
-    configKeys: any[];
-    filter: string;
-    orderProp: string;
-    reverse: boolean;
-
-    activeRoute: Route;
-    subscription: Subscription;
-    updatingConfig: boolean;
-
-    constructor(
-        private configurationService: JhiConfigurationService,
-        private routesService: JhiRoutesService
-    ) {
-        this.configKeys = [];
-        this.filter = '';
-        this.orderProp = 'prefix';
-        this.reverse = false;
-    }
-
-    keys(dict): Array<string> {
-        return (dict === undefined) ? [] : Object.keys(dict);
-    }
-
-    ngOnInit() {
-        this.subscription = this.routesService.routeChanged$.subscribe((route) => {
-            this.activeRoute = route;
-            this.displayActiveRouteConfig();
-        });
-    }
-
-    displayActiveRouteConfig() {
-        this.updatingConfig = true;
-        if (this.activeRoute && this.activeRoute.status !== 'DOWN') {
-            this.configurationService.getInstanceConfigs(this.activeRoute).subscribe((configuration) => {
-                this.configuration = configuration;
-                this.updatingConfig = false;
-                for (const config of configuration) {
-                    if (config.properties !== undefined) {
-                        this.configKeys.push(Object.keys(config.properties));
-                    }
-                }
-            }, (error) => {
-                this.updatingConfig = false;
-                this.routesService.routeDown(this.activeRoute);
-            });
-
-            this.configurationService.getInstanceEnv(this.activeRoute).subscribe((configuration) => {
-                this.allConfiguration = configuration;
-            });
-        } else {
-            this.routesService.routeDown(this.activeRoute);
-        }
-    }
-
-    ngOnDestroy() {
-        // prevent memory leak when component destroyed
-        this.subscription.unsubscribe();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.route.ts
deleted file mode 100644
index 44a32a1fda0ae296fc08b14f50865fafc1b9483d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiConfigurationComponent } from './configuration.component';
-
-export const configurationRoute: Route = {
-    path: 'jhi-configuration',
-    component: JhiConfigurationComponent,
-    data: {
-        pageTitle: 'Cloud configuration'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.service.ts
deleted file mode 100644
index 3fee37bb637b7e19df68c10e7bda29d39913842a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/configuration/configuration.service.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-import { Route } from '../../shared';
-
-@Injectable()
-export class JhiConfigurationService {
-
-    constructor(private http: Http) {
-    }
-
-    getConfigs(prefix: String = ''): Observable<any> {
-        return this.http.get(prefix + 'management/configprops').map((res: Response) => {
-            const properties: any[] = [];
-            const propertiesObject = res.json();
-
-            for (const key in propertiesObject) {
-                if (propertiesObject.hasOwnProperty(key)) {
-                    properties.push(propertiesObject[key]);
-                }
-            }
-
-            return properties.sort((propertyA, propertyB) => {
-                return (propertyA.prefix === propertyB.prefix) ? 0 :
-                    (propertyA.prefix < propertyB.prefix) ? -1 : 1;
-            });
-        });
-    }
-
-    getInstanceConfigs(instance: Route): Observable<any> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.getConfigs(instance.prefix + '/');
-        }
-        return this.getConfigs();
-    }
-
-    getEnv(prefix: String = ''): Observable<any> {
-        return this.http.get(prefix + 'management/env').map((res: Response) => {
-            const properties: any = {};
-            const propertiesObject = res.json();
-
-            for (const key in propertiesObject) {
-                if (propertiesObject.hasOwnProperty(key)) {
-                    const valsObject = propertiesObject[key];
-                    const vals: any[] = [];
-
-                    for (const valKey in valsObject) {
-                        if (valsObject.hasOwnProperty(valKey)) {
-                            vals.push({key: valKey, val: valsObject[valKey]});
-                        }
-                    }
-                    properties[key] = vals;
-                }
-            }
-
-            return properties;
-        });
-    }
-
-    getInstanceEnv(instance: Route): Observable<any> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.getEnv(instance.prefix + '/');
-        }
-        return this.getEnv();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.html
deleted file mode 100644
index 7338a9786704643274ce061c4edcf88e263b4af5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<div class="modal-header">
-    <h4 class="modal-title" id="showHealthLabel">
-        <span class="text-capitalize">{{ baseName(currentHealth.name) }}</span>
-        {{subSystemName(currentHealth.name)}}
-    </h4>
-    <button type="button" class="close" (click)="activeModal.dismiss('closed')">&times;</button>
-</div>
-<div class="modal-body">
-    <div *ngIf="currentHealth.details">
-        <h4>Properties</h4>
-        <div class="table-responsive">
-            <table class="table table-striped">
-                <thead>
-                    <tr>
-                        <th class="w-40 text-left">Name</th>
-                        <th class="w-60 text-left">Value</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr *ngFor="let entry of currentHealth.details | keys">
-                        <td class="w-40 text-left">{{entry.key}}</td>
-                        <td class="w-60 text-left">{{readableValue(entry.value)}}</td>
-                    </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-    <div *ngIf="currentHealth.error">
-        <h4>Error</h4>
-        <pre>{{currentHealth.error}}</pre>
-    </div>
-</div>
-<div class="modal-footer">
-    <button data-dismiss="modal" class="btn btn-secondary float-xs-left" type="button" (click)="activeModal.dismiss('closed')">Done</button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.ts
deleted file mode 100644
index 734472f504f02c5abcbd566417915e26ecfa67aa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health-modal.component.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
-
-import { JhiHealthService } from './health.service';
-
-@Component({
-    selector: 'jhi-health-modal',
-    templateUrl: './health-modal.component.html'
-})
-export class JhiHealthModalComponent {
-
-    currentHealth: any;
-
-    constructor(private healthService: JhiHealthService, public activeModal: NgbActiveModal) {}
-
-    baseName(name) {
-        return this.healthService.getBaseName(name);
-    }
-
-    subSystemName(name) {
-        return this.healthService.getSubSystemName(name);
-    }
-
-    readableValue(value: number) {
-        if (this.currentHealth.name !== 'diskSpace') {
-            return value.toString();
-        }
-
-        // Should display storage space in an human readable unit
-        const val = value / 1073741824;
-        if (val > 1) { // Value
-            return val.toFixed(2) + ' GB';
-        } else {
-            return (value / 1048576).toFixed(2) + ' MB';
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.html
deleted file mode 100644
index f636fa5f17fa72b9ad8382e104f15e3b6f6b5783..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<div>
-    <h2>Health Checks</h2>
-
-    <jhi-route-selector></jhi-route-selector>
-
-    <div class="table-responsive">
-        <table id="healthCheck" class="table table-striped">
-            <thead>
-                <tr>
-                    <th>Service Name</th>
-                    <th class="text-center">Status</th>
-                    <th class="text-center">Details</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr *ngFor="let health of healthData">
-                    <td><span class="text-capitalize">{{ baseName(health.name) }}</span> {{subSystemName(health.name)}}</td>
-                    <td class="text-center">
-                        <span class="badge badge-pill font-weight-normal" [ngClass]="getBadgeClass(health.status)">
-                            {{health.status}}
-                        </span>
-                    </td>
-                    <td class="text-center">
-                        <a class="hand" (click)="showHealth(health)" *ngIf="health.details || health.error">
-                            <i class="fa fa-eye"></i>
-                        </a>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.ts
deleted file mode 100644
index aab644334fee234af5253f3c9dbaa5f2c6ecd37f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.component.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
-
-import { JhiHealthService } from './health.service';
-import { JhiHealthModalComponent } from './health-modal.component';
-
-import { JhiRoutesService, Route } from '../../shared';
-
-@Component({
-    selector: 'jhi-health',
-    templateUrl: './health.component.html'
-})
-export class JhiHealthCheckComponent implements OnInit, OnDestroy {
-    healthData: any;
-    updatingHealth: boolean;
-    activeRoute: Route;
-    subscription: Subscription;
-
-    constructor(
-        private modalService: NgbModal,
-        private healthService: JhiHealthService,
-        private routesService: JhiRoutesService
-    ) {}
-
-    ngOnInit() {
-        this.subscription = this.routesService.routeChanged$.subscribe((route) => {
-            this.activeRoute = route;
-            this.displayActiveRouteHealth();
-        });
-    }
-
-    displayActiveRouteHealth() {
-        this.updatingHealth = true;
-        if (this.activeRoute && this.activeRoute.status !== 'DOWN') {
-            this.healthService.checkInstanceHealth(this.activeRoute).subscribe((health) => {
-                this.healthData = this.healthService.transformHealthData(health);
-                this.updatingHealth = false;
-            }, (error) => {
-                if (error.status === 503 || error.status === 500 || error.status === 404) {
-                    this.healthData = this.healthService.transformHealthData(error.json());
-                    this.updatingHealth = false;
-                    if (error.status === 500 || error.status === 404) {
-                        this.routesService.routeDown(this.activeRoute);
-                    }
-                }
-            });
-        } else {
-            this.routesService.routeDown(this.activeRoute);
-        }
-    }
-
-    // user click
-    showHealth(health: any) {
-        const modalRef  = this.modalService.open(JhiHealthModalComponent);
-        modalRef.componentInstance.currentHealth = health;
-        modalRef.result.then((result) => {
-            // Left blank intentionally, nothing to do here
-        }, (reason) => {
-            // Left blank intentionally, nothing to do here
-        });
-    }
-
-    baseName(name: string) {
-        return this.healthService.getBaseName(name);
-    }
-
-    // user click
-    getBadgeClass(statusState) {
-        if (!statusState || statusState !== 'UP') {
-            return 'badge-danger';
-        } else {
-            return 'badge-success';
-        }
-    }
-
-    subSystemName(name: string) {
-        return this.healthService.getSubSystemName(name);
-    }
-
-    ngOnDestroy() {
-        // prevent memory leak when component destroyed
-        this.subscription.unsubscribe();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.route.ts
deleted file mode 100644
index 0b6777565110971328ca7f9cce057f82ac64cb9c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiHealthCheckComponent } from './health.component';
-
-export const healthRoute: Route = {
-    path: 'jhi-health',
-    component: JhiHealthCheckComponent,
-    data: {
-        pageTitle: 'Health Checks'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.service.ts
deleted file mode 100644
index 50cdd578eb998d1e1b0a9ff5cc250800fba914d8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/health/health.service.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-import { Route } from '../../shared';
-
-@Injectable()
-export class JhiHealthService {
-
-    separator: string;
-
-    constructor(private http: Http) {
-        this.separator = '.';
-    }
-
-    // get the Registry's health
-    checkHealth(): Observable<any> {
-        return this.http.get('management/health').map((res: Response) => res.json());
-    }
-
-    // get the instance's health
-    checkInstanceHealth(instance: Route): Observable<any> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.http.get((instance.prefix + '/management/health')).map((res: Response) => res.json());
-        }
-        return this.checkHealth();
-    }
-
-    transformHealthData(data): any {
-        const response = [];
-        this.flattenHealthData(response, null, data);
-        return response;
-    }
-
-    getBaseName(name): string {
-        if (name) {
-            const split = name.split('.');
-            return split[0];
-        }
-    }
-
-    getSubSystemName(name): string {
-        if (name) {
-            const split = name.split('.');
-            split.splice(0, 1);
-            const remainder = split.join('.');
-            return remainder ? ' - ' + remainder : '';
-        }
-    }
-
-    /* private methods */
-    private addHealthObject(result, isLeaf, healthObject, name): any {
-        const healthData: any = {
-            name
-        };
-
-        const details = {};
-        let hasDetails = false;
-
-        for (const key in healthObject) {
-            if (healthObject.hasOwnProperty(key)) {
-                const value = healthObject[key];
-                if (key === 'status' || key === 'error') {
-                    healthData[key] = value;
-                } else {
-                    if (!this.isHealthObject(value)) {
-                        details[key] = value;
-                        hasDetails = true;
-                    }
-                }
-            }
-        }
-
-        // Add the details
-        if (hasDetails) {
-            healthData.details = details;
-        }
-
-        // Only add nodes if they provide additional information
-        if (isLeaf || hasDetails || healthData.error) {
-            result.push(healthData);
-        }
-        return healthData;
-    }
-
-    private flattenHealthData(result, path, data): any {
-        for (const key in data) {
-            if (data.hasOwnProperty(key)) {
-                const value = data[key];
-                if (this.isHealthObject(value)) {
-                    if (this.hasSubSystem(value)) {
-                        this.addHealthObject(result, false, value, this.getModuleName(path, key));
-                        this.flattenHealthData(result, this.getModuleName(path, key), value);
-                    } else {
-                        this.addHealthObject(result, true, value, this.getModuleName(path, key));
-                    }
-                }
-            }
-        }
-        return result;
-    }
-
-    private getModuleName(path, name): string {
-        let result;
-        if (path && name) {
-            result = path + this.separator + name;
-        }  else if (path) {
-            result = path;
-        } else if (name) {
-            result = name;
-        } else {
-            result = '';
-        }
-        return result;
-    }
-
-    private hasSubSystem(healthObject): boolean {
-        let result = false;
-
-        for (const key in healthObject) {
-            if (healthObject.hasOwnProperty(key)) {
-                const value = healthObject[key];
-                if (value && value.status) {
-                    result = true;
-                }
-            }
-        }
-        return result;
-    }
-
-    private isHealthObject(healthObject): boolean {
-        let result = false;
-
-        for (const key in healthObject) {
-            if (healthObject.hasOwnProperty(key)) {
-                if (key === 'status') {
-                    result = true;
-                }
-            }
-        }
-        return result;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/index.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/index.ts
deleted file mode 100644
index 1ed2ba69b28c85fc1c9b38c45f1a460926ff9575..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/index.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-export * from './configuration/configuration.component';
-export * from './configuration/configuration.service';
-export * from './configuration/configuration.route';
-export * from './health/health.component';
-export * from './health/health-modal.component';
-export * from './health/health.service';
-export * from './health/health.route';
-export * from './logs/logs.component';
-export * from './logs/logs.service';
-export * from './logs/logs.route';
-export * from './logs/log.model';
-export * from './metrics/metrics.component';
-export * from './metrics/metrics-modal.component';
-export * from './metrics/metrics.service';
-export * from './metrics/metrics.route';
-export * from './admin.route';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/log.model.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/log.model.ts
deleted file mode 100644
index 79cbd34808845b7e69603dea5dfe516c27c5bb03..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/log.model.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export class Log {
-    constructor(
-        public name: string,
-        public level: string
-    ) { }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.html
deleted file mode 100644
index 385472a6ab268818d9219d8d318fd7de59c0544c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<div class="table-responsive" *ngIf="loggers">
-    <h2>Logs</h2>
-
-    <jhi-route-selector></jhi-route-selector>
-
-    <p>There are {{ loggers.length }} loggers.</p>
-
-    <span>Filter</span> <input type="text" [(ngModel)]="filter" class="form-control">
-    <table class="table table-condensed table-striped table-bordered">
-        <thead>
-        <tr title="click to order">
-            <th (click)="orderProp = 'name'; reverse=!reverse"><span>Name</span></th>
-            <th (click)="orderProp = 'level'; reverse=!reverse"><span>Level</span></th>
-        </tr>
-        </thead>
-
-        <tr *ngFor="let logger of (loggers | pureFilter:filter:'name' | orderBy:orderProp:reverse)">
-            <td><small>{{logger.name | slice:0:140}}</small></td>
-            <td>
-                <button (click)="changeLevel(logger.name, 'TRACE')" [ngClass]="(logger.level=='TRACE') ? 'btn-primary' : 'btn-secondary'" class="btn btn-sm">TRACE</button>
-                <button (click)="changeLevel(logger.name, 'DEBUG')" [ngClass]="(logger.level=='DEBUG') ? 'btn-success' : 'btn-secondary'" class="btn btn-sm">DEBUG</button>
-                <button (click)="changeLevel(logger.name, 'INFO')" [ngClass]="(logger.level=='INFO') ? 'btn-info' : 'btn-secondary'" class="btn btn-sm">INFO</button>
-                <button (click)="changeLevel(logger.name, 'WARN')" [ngClass]="(logger.level=='WARN') ? 'btn-warning' : 'btn-secondary'" class="btn btn-sm">WARN</button>
-                <button (click)="changeLevel(logger.name, 'ERROR')" [ngClass]="(logger.level=='ERROR') ? 'btn-danger' : 'btn-secondary'" class="btn btn-sm">ERROR</button>
-            </td>
-        </tr>
-    </table>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.ts
deleted file mode 100644
index 76a00ad006e409a33eea16c78e2cd02e60b6e053..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.component.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-
-import { Log } from './log.model';
-import { LogsService } from './logs.service';
-
-import { JhiRoutesService, Route } from '../../shared';
-
-@Component({
-    selector: 'jhi-logs',
-    templateUrl: './logs.component.html'
-})
-export class LogsComponent implements OnInit, OnDestroy {
-
-    loggers: Log[];
-    updatingLogs: boolean;
-    filter: string;
-    orderProp: string;
-    reverse: boolean;
-
-    activeRoute: Route;
-    subscription: Subscription;
-
-    constructor(
-        private logsService: LogsService,
-        private routesService: JhiRoutesService
-    ) {
-        this.filter = '';
-        this.orderProp = 'name';
-        this.reverse = false;
-    }
-
-    ngOnInit() {
-        this.loggers = [];
-        this.subscription = this.routesService.routeChanged$.subscribe((route) => {
-            this.activeRoute = route;
-            this.displayActiveRouteLogs();
-        });
-    }
-
-    changeLevel(name: string, level: string) {
-        const log = new Log(name, level);
-        if (this.activeRoute && this.activeRoute.status !== 'DOWN') {
-            this.logsService.changeInstanceLevel(this.activeRoute, log).subscribe(() => {
-                this.logsService.findInstanceAll(this.activeRoute).subscribe((loggers) => this.loggers = loggers);
-            });
-        }
-    }
-
-    displayActiveRouteLogs() {
-        this.updatingLogs = true;
-        if (this.activeRoute && this.activeRoute.status !== 'DOWN') {
-            this.logsService.findInstanceAll(this.activeRoute).subscribe((loggers) => {
-                this.loggers = loggers;
-                this.updatingLogs = false;
-            }, (error) => {
-                if (error.status === 503 || error.status === 500 || error.status === 404) {
-                    this.updatingLogs = false;
-                    if (error.status === 500 || error.status === 404) {
-                        this.routesService.routeDown(this.activeRoute);
-                    }
-                }
-            });
-        } else {
-            this.routesService.routeDown(this.activeRoute);
-        }
-    }
-
-    ngOnDestroy() {
-        // prevent memory leak when component destroyed
-        this.subscription.unsubscribe();
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.route.ts
deleted file mode 100644
index cfa87715d8160981d52265b3bc639e13330ecce2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { LogsComponent } from './logs.component';
-
-export const logsRoute: Route = {
-    path: 'logs',
-    component: LogsComponent,
-    data: {
-        pageTitle: 'Logs'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.service.ts
deleted file mode 100644
index 360c9dea47f7d2721ba7d035f04c113389b4b1f1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/logs/logs.service.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-import { Log } from './log.model';
-import { Route } from '../../shared';
-
-@Injectable()
-export class LogsService {
-    constructor(private http: Http) { }
-
-    changeLevel(log: Log): Observable<Response> {
-        return this.http.put('management/logs', log);
-    }
-
-    changeInstanceLevel(instance: Route, log: Log): Observable<Response> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.http.put(instance.prefix + '/management/logs', log);
-        }
-        return this.changeLevel(log);
-    }
-
-    findAll(): Observable<Log[]> {
-        return this.http.get('management/logs').map((res: Response) => res.json());
-    }
-
-    findInstanceAll(instance: Route): Observable<Log[]> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.http.get((instance.prefix + '/management/logs')).map((res: Response) => res.json());
-        }
-        return this.findAll();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.html
deleted file mode 100644
index 0df438c1daf91fe42bed60f316ebef2a284491d4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!-- Modal used to display the threads dump -->
-<div class="modal-header">
-    <h4 class="modal-title">Threads dump</h4>
-    <button type="button" class="close" (click)="activeModal.dismiss('closed')">&times;</button>
-</div>
-<div class="modal-body">
-    <span class="badge badge-primary" (click)="threadDumpFilter = {}">All&nbsp;<span class="badge badge-pill badge-default">{{threadDumpAll}}</span></span>&nbsp;
-    <span class="badge badge-success" (click)="threadDumpFilter = {threadState: 'RUNNABLE'}">Runnable&nbsp;<span class="badge badge-pill badge-default">{{threadDumpRunnable}}</span></span>&nbsp;
-    <span class="badge badge-info" (click)="threadDumpFilter = {threadState: 'WAITING'}">Waiting&nbsp;<span class="badge badge-pill badge-default">{{threadDumpWaiting}}</span></span>&nbsp;
-    <span class="badge badge-warning" (click)="threadDumpFilter = {threadState: 'TIMED_WAITING'}">Timed Waiting&nbsp;<span class="badge badge-pill badge-default">{{threadDumpTimedWaiting}}</span></span>&nbsp;
-    <span class="badge badge-danger" (click)="threadDumpFilter = {threadState: 'BLOCKED'}">Blocked&nbsp;<span class="badge badge-pill badge-default">{{threadDumpBlocked}}</span></span>&nbsp;
-    <div class="mt-2">&nbsp;</div>
-    Filter
-    <input type="text" [(ngModel)]="threadDumpFilter" class="form-control">
-    <div class="pad" *ngFor="let entry of threadDump | pureFilter:threadDumpFilter:'lockName' | keys">
-        <h6>
-            <span class="badge" [ngClass]="getBadgeClass(entry.value.threadState)">{{entry.value.threadState}}</span>&nbsp;{{entry.value.threadName}} (ID {{entry.value.threadId}})
-            <a (click)="entry.show = !entry.show" href="javascript:void(0);">
-               <span [hidden]="entry.show">Show StackTrace</span>
-               <span [hidden]="!entry.show">Hide StackTrace</span>
-            </a>
-        </h6>
-        <div class="card" [hidden]="!entry.show">
-            <div class="card-block">
-                <div *ngFor="let st of entry.value.stackTrace | keys" class="break">
-                    <samp>{{st.value.className}}.{{st.value.methodName}}(<code>{{st.value.fileName}}:{{st.value.lineNumber}}</code>)</samp>
-                    <span class="mt-1"></span>
-                </div>
-            </div>
-        </div>
-        <table class="table table-sm table-responsive">
-            <thead>
-                <tr>
-                    <th class="text-right">Blocked Time</th>
-                    <th class="text-right">Blocked Count</th>
-                    <th class="text-right">Waited Time</th>
-                    <th class="text-right">Waited Count</th>
-                    <th>Lock Name</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr>
-                    <td>{{entry.value.blockedTime}}</td>
-                    <td>{{entry.value.blockedCount}}</td>
-                    <td>{{entry.value.waitedTime}}</td>
-                    <td>{{entry.value.waitedCount}}</td>
-                    <td><code>{{entry.value.lockName}}</code></td>
-                </tr>
-            </tbody>
-        </table>
-
-    </div>
-</div>
-<div class="modal-footer">
-    <button type="button" class="btn btn-secondary pull-left" data-dismiss="modal" (click)="activeModal.dismiss('closed')">Done</button>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.ts
deleted file mode 100644
index c0f041826390b03f75aaae076c92d18513930e2c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics-modal.component.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
-
-@Component({
-    selector: 'jhi-metrics-modal',
-    templateUrl: './metrics-modal.component.html'
-})
-export class JhiMetricsMonitoringModalComponent implements OnInit {
-
-    threadDumpFilter: any;
-    threadDump: any;
-    threadDumpAll = 0;
-    threadDumpBlocked = 0;
-    threadDumpRunnable = 0;
-    threadDumpTimedWaiting = 0;
-    threadDumpWaiting = 0;
-
-    constructor(public activeModal: NgbActiveModal) {}
-
-    ngOnInit() {
-        this.threadDump.forEach((value) => {
-            if (value.threadState === 'RUNNABLE') {
-                this.threadDumpRunnable += 1;
-            } else if (value.threadState === 'WAITING') {
-                this.threadDumpWaiting += 1;
-            } else if (value.threadState === 'TIMED_WAITING') {
-                this.threadDumpTimedWaiting += 1;
-            } else if (value.threadState === 'BLOCKED') {
-                this.threadDumpBlocked += 1;
-            }
-        });
-
-        this.threadDumpAll = this.threadDumpRunnable + this.threadDumpWaiting +
-            this.threadDumpTimedWaiting + this.threadDumpBlocked;
-    }
-
-    getBadgeClass(threadState) {
-        if (threadState === 'RUNNABLE') {
-            return 'badge-success';
-        } else if (threadState === 'WAITING') {
-            return 'badge-info';
-        } else if (threadState === 'TIMED_WAITING') {
-            return 'badge-warning';
-        } else if (threadState === 'BLOCKED') {
-            return 'badge-danger';
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.html
deleted file mode 100644
index 092e50dac90975a165134be5d754948fa060ddaa..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.html
+++ /dev/null
@@ -1,213 +0,0 @@
-<div>
-    <h2>Application Metrics</h2>
-    <jhi-route-selector></jhi-route-selector>
-
-    <h3>JVM Metrics</h3>
-    <div class="row" *ngIf="metrics && metrics.gauges">
-        <div class="col-md-4">
-            <b>Memory</b>
-            <p><span>Total Memory</span> ({{metrics.gauges['jvm.memory.total.used'].value / 1000000 | number:'1.0-0'}}M / {{metrics.gauges['jvm.memory.total.max'].value / 1000000 | number:'1.0-0'}}M)</p>
-            <ngb-progressbar type="success" [max]="metrics.gauges['jvm.memory.total.max'].value" [value]="metrics.gauges['jvm.memory.total.used'].value" [striped]="true" [animated]="true">
-                <span>{{metrics.gauges['jvm.memory.total.used'].value * 100 / metrics.gauges['jvm.memory.total.max'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-            <p><span>Heap Memory</span> ({{metrics.gauges['jvm.memory.heap.used'].value / 1000000 | number:'1.0-0'}}M / {{metrics.gauges['jvm.memory.heap.max'].value / 1000000 | number:'1.0-0'}}M)</p>
-            <ngb-progressbar [max]="metrics.gauges['jvm.memory.heap.max'].value" [value]="metrics.gauges['jvm.memory.heap.used'].value" [striped]="true" [animated]="true" type="success">
-                <span>{{metrics.gauges['jvm.memory.heap.used'].value * 100 / metrics.gauges['jvm.memory.heap.max'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-            <p><span>Non-Heap Memory</span> ({{metrics.gauges['jvm.memory.non-heap.used'].value / 1000000 | number:'1.0-0'}}M / {{metrics.gauges['jvm.memory.non-heap.committed'].value / 1000000 | number:'1.0-0'}}M)</p>
-            <ngb-progressbar [max]="metrics.gauges['jvm.memory.non-heap.committed'].value" [value]="metrics.gauges['jvm.memory.non-heap.used'].value" [striped]="true" [animated]="true" type="success">
-                <span>{{metrics.gauges['jvm.memory.non-heap.used'].value * 100 / metrics.gauges['jvm.memory.non-heap.committed'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-        </div>
-        <div class="col-md-4" *ngIf="metrics.gauges">
-            <b>Threads</b> (Total: {{metrics.gauges['jvm.threads.count'].value}}) <a class="hand" (click)="refreshThreadDumpData()" data-toggle="modal" data-target="#threadDump"><i class="fa fa-eye"></i></a>
-            <p><span>Runnable</span> {{metrics.gauges['jvm.threads.runnable.count'].value}}</p>
-            <ngb-progressbar [value]="metrics.gauges['jvm.threads.runnable.count'].value" [max]="metrics.gauges['jvm.threads.count'].value" [striped]="true" [animated]="true" type="success">
-                <span>{{metrics.gauges['jvm.threads.runnable.count'].value * 100 / metrics.gauges['jvm.threads.count'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-            <p><span>Timed Waiting</span> ({{metrics.gauges['jvm.threads.timed_waiting.count'].value}})</p>
-            <ngb-progressbar [value]="metrics.gauges['jvm.threads.timed_waiting.count'].value" [max]="metrics.gauges['jvm.threads.count'].value" [striped]="true" [animated]="true" type="warning">
-                <span>{{metrics.gauges['jvm.threads.timed_waiting.count'].value * 100 / metrics.gauges['jvm.threads.count'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-            <p><span>Waiting</span> ({{metrics.gauges['jvm.threads.waiting.count'].value}})</p>
-            <ngb-progressbar [value]="metrics.gauges['jvm.threads.waiting.count'].value" [max]="metrics.gauges['jvm.threads.count'].value" [striped]="true" [animated]="true" type="warning">
-                <span>{{metrics.gauges['jvm.threads.waiting.count'].value * 100 / metrics.gauges['jvm.threads.count'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-            <p><span>Blocked</span> ({{metrics.gauges['jvm.threads.blocked.count'].value}})</p>
-            <ngb-progressbar [value]="metrics.gauges['jvm.threads.blocked.count'].value" [max]="metrics.gauges['jvm.threads.count'].value" [striped]="true" [animated]="true" type="success">
-                <span>{{metrics.gauges['jvm.threads.blocked.count'].value * 100 / metrics.gauges['jvm.threads.count'].value  | number:'1.0-0'}}%</span>
-            </ngb-progressbar>
-        </div>
-        <div class="col-md-4">
-            <b>Garbage collections</b>
-            <div class="row" *ngIf="metrics.gauges['jvm.garbage.PS-MarkSweep.count']">
-                <div class="col-md-9">Mark Sweep count</div>
-                <div class="col-md-3 text-right">{{metrics.gauges['jvm.garbage.PS-MarkSweep.count'].value}}</div>
-            </div>
-            <div class="row" *ngIf="metrics.gauges['jvm.garbage.PS-MarkSweep.time']">
-                <div class="col-md-9">Mark Sweep time</div>
-                <div class="col-md-3 text-right">{{metrics.gauges['jvm.garbage.PS-MarkSweep.time'].value}}ms</div>
-            </div>
-            <div class="row" *ngIf="metrics.gauges['jvm.garbage.PS-Scavenge.count']">
-                <div class="col-md-9">Scavenge count</div>
-                <div class="col-md-3 text-right">{{metrics.gauges['jvm.garbage.PS-Scavenge.count'].value}}</div>
-            </div>
-            <div class="row" *ngIf="metrics.gauges['jvm.garbage.PS-Scavenge.time']">
-                <div class="col-md-9">Scavenge time</div>
-                <div class="col-md-3 text-right">{{metrics.gauges['jvm.garbage.PS-Scavenge.time'].value}}ms</div>
-            </div>
-        </div>
-    </div>
-    <div class="well well-lg" *ngIf="updatingMetrics && !metrics">Updating...</div>
-
-    <h3>HTTP requests (events per second)</h3>
-    <p *ngIf="metrics && metrics.counters">
-        <span>Active requests</span> <b>{{metrics.counters['com.codahale.metrics.servlet.InstrumentedFilter.activeRequests'].count | number:'1.0-0'}}</b> - <span>Total requests</span> <b>{{metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count | number:'1.0-0'}}</b>
-    </p>
-    <div class="table-responsive">
-        <table class="table table-striped" *ngIf="metrics && metrics.timers && metrics.meters">
-            <thead>
-            <tr>
-                <th>Code</th>
-                <th>Count</th>
-                <th class="text-right">Mean</th>
-                <th class="text-right"><span>Average</span> (1 min)</th>
-                <th class="text-right"><span>Average</span> (5 min)</th>
-                <th class="text-right"><span>Average</span> (15 min)</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr>
-                <td>OK</td>
-                <td>
-                    <ngb-progressbar [max]="metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" [value]="metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].count" [striped]="true" [animated]="true" type="success">
-                        <span>{{metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].count}}</span>
-                    </ngb-progressbar>
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].mean_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m1_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m5_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.ok'].m15_rate) | number:'1.0-2'}}
-                </td>
-            </tr>
-            <tr>
-                <td>Not Found</td>
-                <td>
-                    <ngb-progressbar [max]="metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" [value]="metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].count" [striped]="true" [animated]="true" type="success">
-                        <span>{{metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].count}}</span>
-                    </ngb-progressbar>
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].mean_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m1_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m5_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.notFound'].m15_rate) | number:'1.0-2'}}
-                </td>
-            </tr>
-            <tr>
-                <td>Server error</td>
-                <td>
-                    <ngb-progressbar [max]="metrics.timers['com.codahale.metrics.servlet.InstrumentedFilter.requests'].count" [value]="metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].count" [striped]="true" [animated]="true" type="success">
-                        <span>{{metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].count}}</span>
-                    </ngb-progressbar>
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].mean_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m1_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m5_rate) | number:'1.0-2'}}
-                </td>
-                <td class="text-right">
-                    {{filterNaN(metrics.meters['com.codahale.metrics.servlet.InstrumentedFilter.responseCodes.serverError'].m15_rate) | number:'1.0-2'}}
-                </td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <h3>Services statistics (time in millisecond)</h3>
-    <div class="table-responsive">
-        <table class="table table-striped" *ngIf="servicesStats">
-            <thead>
-            <tr>
-                <th>Service name</th>
-                <th class="text-right">Count</th>
-                <th class="text-right">Mean</th>
-                <th class="text-right">Min</th>
-                <th class="text-right">p50</th>
-                <th class="text-right">p75</th>
-                <th class="text-right">p95</th>
-                <th class="text-right">p99</th>
-                <th class="text-right">Max</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr *ngFor="let entry of servicesStats | keys">
-                <td>{{entry.key}}</td>
-                <td class="text-right">{{entry.value.count}}</td>
-                <td class="text-right">{{entry.value.mean * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.min * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.p50 * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.p75 * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.p95 * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.p99 * 1000 | number:'1.0-0'}}</td>
-                <td class="text-right">{{entry.value.max * 1000 | number:'1.0-0'}}</td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
-
-    <h3 *ngIf="metrics && metrics.gauges && metrics.gauges['HikariPool-1.pool.TotalConnections'] && metrics.gauges['HikariPool-1.pool.TotalConnections'].value > 0">DataSource statistics (time in millisecond)</h3>
-    <div class="table-responsive" *ngIf="metrics.gauges && metrics.gauges['HikariPool-1.pool.TotalConnections'] && metrics.gauges['HikariPool-1.pool.TotalConnections'].value > 0">
-        <table class="table table-striped">
-            <thead>
-                <tr>
-                    <th><span>Usage</span> ({{metrics.gauges['HikariPool-1.pool.ActiveConnections'].value}} / {{metrics.gauges['HikariPool-1.pool.TotalConnections'].value}})</th>
-                    <th class="text-right">Count</th>
-                    <th class="text-right">Mean</th>
-                    <th class="text-right">Min</th>
-                    <th class="text-right">p50</th>
-                    <th class="text-right">p75</th>
-                    <th class="text-right">p95</th>
-                    <th class="text-right">p99</th>
-                    <th class="text-right">Max</th>
-                </tr>
-            </thead>
-            <tbody>
-                <tr *ngIf="metrics.histograms">
-                    <td>
-                        <div class="progress progress-striped">
-                            <ngb-progressbar [max]="metrics.gauges['HikariPool-1.pool.TotalConnections'].value" [value]="metrics.gauges['HikariPool-1.pool.ActiveConnections'].value" [striped]="true" [animated]="true" type="success">
-                                <span>{{metrics.gauges['HikariPool-1.pool.ActiveConnections'].value * 100 / metrics.gauges['HikariPool-1.pool.TotalConnections'].value  | number:'1.0-0'}}%</span>
-                            </ngb-progressbar>
-                        </div>
-                    </td>
-                    <td class="text-right">{{metrics.histograms['HikariPool-1.pool.Usage'].count}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].mean) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].min) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].p50) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].p75) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].p95) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].p99) | number:'1.0-2'}}</td>
-                    <td class="text-right">{{filterNaN(metrics.histograms['HikariPool-1.pool.Usage'].max) | number:'1.0-2'}}</td>
-                </tr>
-            </tbody>
-        </table>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.ts
deleted file mode 100644
index 084ee304c9055726f932a5d02d603239042ed339..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.component.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
-
-import { JhiMetricsMonitoringModalComponent } from './metrics-modal.component';
-import { JhiMetricsService } from './metrics.service';
-import { JhiRoutesService, Route } from '../../shared';
-
-@Component({
-    selector: 'jhi-metrics',
-    templateUrl: './metrics.component.html',
-})
-export class JhiMetricsMonitoringComponent implements OnInit {
-    metrics: any = {};
-    cachesStats: any = {};
-    servicesStats: any = {};
-    updatingMetrics = true;
-    JCACHE_KEY: string;
-
-    activeRoute: Route;
-    subscription: Subscription;
-
-    constructor(
-        private modalService: NgbModal,
-        private metricsService: JhiMetricsService,
-        private routesService: JhiRoutesService
-    ) {
-        this.JCACHE_KEY = 'jcache.statistics';
-    }
-
-    ngOnInit() {
-        this.subscription = this.routesService.routeChanged$.subscribe((route) => {
-            this.activeRoute = route;
-            this.displayActiveRouteMetrics();
-        });
-    }
-
-    refresh() {
-        this.routesService.reloadRoutes();
-    }
-
-    displayActiveRouteMetrics() {
-        this.updatingMetrics = true;
-        if (this.activeRoute && this.activeRoute.status !== 'DOWN') {
-            this.metricsService.getInstanceMetrics(this.activeRoute).subscribe((metrics) => {
-                this.metrics = metrics;
-                this.updatingMetrics = false;
-                this.servicesStats = {};
-                this.cachesStats = {};
-                Object.keys(metrics.timers).forEach((key) => {
-                    const value = metrics.timers[key];
-                    if (key.indexOf('web.rest') !== -1 || key.indexOf('service') !== -1) {
-                        this.servicesStats[key] = value;
-                    }
-                });
-                Object.keys(metrics.gauges).forEach((key) => {
-                    if (key.indexOf('jcache.statistics') !== -1) {
-                        const value = metrics.gauges[key].value;
-                        // remove gets or puts
-                        const index = key.lastIndexOf('.');
-                        const newKey = key.substr(0, index);
-
-                        // Keep the name of the domain
-                        this.cachesStats[newKey] = {
-                            'name': this.JCACHE_KEY.length,
-                            'value': value
-                        };
-                    }
-                });
-            }, (error) => {
-                if (error.status === 503 || error.status === 500 || error.status === 404) {
-                    if (error.status === 500 || error.status === 404) {
-                        this.routesService.routeDown(this.activeRoute);
-                    }
-                }
-            });
-        } else {
-            this.routesService.routeDown(this.activeRoute);
-        }
-    }
-
-    refreshThreadDumpData() {
-        this.metricsService.instanceThreadDump(this.activeRoute).subscribe((data) => {
-            const modalRef = this.modalService.open(JhiMetricsMonitoringModalComponent, {size: 'lg'});
-            modalRef.componentInstance.threadDump = data;
-            modalRef.result.then((result) => {
-                // Left blank intentionally, nothing to do here
-            }, (reason) => {
-                // Left blank intentionally, nothing to do here
-            });
-        });
-    }
-
-    filterNaN(input) {
-        if (isNaN(input)) {
-            return 0;
-        }
-        return input;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.route.ts
deleted file mode 100644
index abc18b8254053a3e5a59995eb6d65612a5726d37..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiMetricsMonitoringComponent } from './metrics.component';
-
-export const metricsRoute: Route = {
-    path: 'jhi-metrics',
-    component: JhiMetricsMonitoringComponent,
-    data: {
-        pageTitle: 'Application Metrics'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.service.ts
deleted file mode 100644
index 8affa33850caa96edfa221d11e39f439deeda2c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/admin/metrics/metrics.service.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-import { Route } from '../../shared';
-
-@Injectable()
-export class JhiMetricsService {
-
-    constructor(private http: Http) {}
-
-    // get the Registry's metrics
-    getMetrics(): Observable<any> {
-        return this.http.get('management/metrics').map((res: Response) => res.json());
-    }
-
-    // get the instance's metrics
-    getInstanceMetrics(instance: Route): Observable<any> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.http.get((instance.prefix + '/management/metrics')).map((res: Response) => res.json());
-        }
-        return this.getMetrics();
-    }
-
-    threadDump(): Observable<any> {
-        return this.http.get('management/dump').map((res: Response) => res.json());
-    }
-
-    instanceThreadDump(instance: Route): Observable<any> {
-        if (instance && instance.prefix && instance.prefix.length > 0) {
-            return this.http.get((instance.prefix + '/management/dump')).map((res: Response) => res.json());
-        }
-        return this.threadDump();
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.constants.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.constants.ts
deleted file mode 100644
index 70798c1625555d0f92cc84b38a09b4e6d8a807cd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.constants.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// DO NOT EDIT THIS FILE, EDIT THE WEBPACK COMMON CONFIG INSTEAD, WHICH WILL MODIFY THIS FILE
- /* tslint:disable */
-let _VERSION = '0.0.0'; // This value will be overwritten by webpack
-let _DEBUG_INFO_ENABLED = true; // This value will be overwritten by webpack
-/* @toreplace VERSION */
-/* @toreplace DEBUG_INFO_ENABLED */
-/* tslint:enable */
-export const VERSION = _VERSION;
-export const DEBUG_INFO_ENABLED = _DEBUG_INFO_ENABLED;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.main.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.main.ts
deleted file mode 100644
index a454618ebd3c56e1283d28bc0770922020c3f158..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.main.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
-import { ProdConfig } from './blocks/config/prod.config';
-import { JHipsterRegistryAppModule } from './app.module';
-
-ProdConfig();
-
-if (module['hot']) {
-    module['hot'].accept();
-}
-
-platformBrowserDynamic().bootstrapModule(JHipsterRegistryAppModule);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.module.ts
deleted file mode 100644
index f13a066dc53fdf52a6239b420e566de1d8cc857a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.module.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import './vendor.ts';
-
-import { NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { Ng2Webstorage } from 'ng2-webstorage';
-
-import { JHipsterRegistrySharedModule, UserRouteAccessService } from './shared';
-import { JHipsterRegistryHomeModule } from './home/home.module';
-import { JHipsterRegistryAdminModule } from './admin/admin.module';
-import { JHipsterRegistryModule } from './registry/registry.module';
-
-import { customHttpProvider } from './blocks/interceptor/http.provider';
-import { PaginationConfig } from './blocks/config/uib-pagination.config';
-
-import {
-    JhiMainComponent,
-    LayoutRoutingModule,
-    NavbarComponent,
-    FooterComponent,
-    ProfileService,
-    PageRibbonComponent,
-    ErrorComponent
-} from './layouts';
-
-@NgModule({
-    imports: [
-        BrowserModule,
-        LayoutRoutingModule,
-        Ng2Webstorage.forRoot({ prefix: 'jhi', separator: '-'}),
-        JHipsterRegistrySharedModule,
-        JHipsterRegistryHomeModule,
-        JHipsterRegistryAdminModule,
-        JHipsterRegistryModule
-    ],
-    declarations: [
-        JhiMainComponent,
-        NavbarComponent,
-        ErrorComponent,
-        PageRibbonComponent,
-        FooterComponent
-    ],
-    providers: [
-        ProfileService,
-        customHttpProvider(),
-        PaginationConfig,
-        UserRouteAccessService
-    ],
-    bootstrap: [ JhiMainComponent ]
-})
-export class JHipsterRegistryAppModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.route.ts
deleted file mode 100644
index 9bb94f9fc29b7c935e95357670aa2841b19cb5f6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/app.route.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Route } from '@angular/router';
-
-import { NavbarComponent } from './layouts';
-
-export const navbarRoute: Route = {
-    path: '',
-    component: NavbarComponent,
-    outlet: 'navbar'
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/prod.config.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/prod.config.ts
deleted file mode 100644
index cc0050de2790f08522a0f4faac4cf48fa08716f9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/prod.config.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { enableProdMode } from '@angular/core';
-import { DEBUG_INFO_ENABLED } from '../../app.constants';
-
-export function ProdConfig() {
-    // disable debug data on prod profile to improve performance
-    if (!DEBUG_INFO_ENABLED) {
-        enableProdMode();
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/uib-pagination.config.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/uib-pagination.config.ts
deleted file mode 100644
index 245e1f6bf141e598b1339a1aada1430c15ba8809..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/config/uib-pagination.config.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { ITEMS_PER_PAGE } from '../../shared';
-import { Injectable } from '@angular/core';
-import { NgbPaginationConfig} from '@ng-bootstrap/ng-bootstrap';
-
-@Injectable()
-export class PaginationConfig {
-    constructor(private config: NgbPaginationConfig) {
-        config.boundaryLinks = true;
-        config.maxSize = 5;
-        config.pageSize = ITEMS_PER_PAGE;
-        config.size = 'sm';
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.ts
deleted file mode 100644
index 3860303135915be4535a3592908258c44cdffddc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth-expired.interceptor.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { HttpInterceptor } from 'ng-jhipster';
-import { RequestOptionsArgs, Response } from '@angular/http';
-import { Observable } from 'rxjs/Observable';
-import { Injector } from '@angular/core';
-import { LoginService } from '../../shared/login/login.service';
-
-export class AuthExpiredInterceptor extends HttpInterceptor {
-
-    constructor(private injector: Injector) {
-        super();
-    }
-
-    requestIntercept(options?: RequestOptionsArgs): RequestOptionsArgs {
-        return options;
-    }
-
-    responseIntercept(observable: Observable<Response>): Observable<Response> {
-        return <Observable<Response>> observable.catch((error, source) => {
-            if (error.status === 401) {
-                const loginService: LoginService = this.injector.get(LoginService);
-                loginService.logout();
-            }
-            return Observable.throw(error);
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth.interceptor.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth.interceptor.ts
deleted file mode 100644
index 4127da14f4194d5bcae8c7b13b08f3d53f0e465a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/auth.interceptor.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Observable } from 'rxjs/Observable';
-import { RequestOptionsArgs, Response } from '@angular/http';
-import { LocalStorageService, SessionStorageService } from 'ng2-webstorage';
-import { HttpInterceptor } from 'ng-jhipster';
-
-export class AuthInterceptor extends HttpInterceptor {
-
-    constructor(
-        private localStorage: LocalStorageService,
-        private sessionStorage: SessionStorageService
-    ) {
-        super();
-    }
-
-    requestIntercept(options?: RequestOptionsArgs): RequestOptionsArgs {
-        const token = this.localStorage.retrieve('authenticationToken') || this.sessionStorage.retrieve('authenticationToken');
-        if (!!token) {
-            options.headers.append('Authorization', 'Bearer ' + token);
-        }
-        return options;
-    }
-
-    responseIntercept(observable: Observable<Response>): Observable<Response> {
-        return observable; // by pass
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.ts
deleted file mode 100644
index 3e9ed85a597c03a70bbf267a7223b201cde512dc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/errorhandler.interceptor.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { HttpInterceptor, EventManager } from 'ng-jhipster';
-import { RequestOptionsArgs, Response } from '@angular/http';
-import { Observable } from 'rxjs/Observable';
-
-export class ErrorHandlerInterceptor extends HttpInterceptor {
-
-    constructor(private eventManager: EventManager) {
-        super();
-    }
-
-    requestIntercept(options?: RequestOptionsArgs): RequestOptionsArgs {
-        return options;
-    }
-
-    responseIntercept(observable: Observable<Response>): Observable<Response> {
-        return <Observable<Response>> observable.catch((error) => {
-            if (!(error.status === 401 && (error.text() === '' ||
-                (error.json().path && error.json().path.indexOf('/api/account') === 0 )))) {
-                this.eventManager.broadcast( {name: 'jHipsterRegistryApp.httpError', content: error});
-            }
-            return Observable.throw(error);
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/http.provider.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/http.provider.ts
deleted file mode 100644
index a9689662a3557e3a8101c990b436e7e7bb829458..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/http.provider.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Injector } from '@angular/core';
-import { Http, XHRBackend, RequestOptions } from '@angular/http';
-import { EventManager, InterceptableHttp } from 'ng-jhipster';
-
-import { AuthInterceptor } from './auth.interceptor';
-import { LocalStorageService, SessionStorageService } from 'ng2-webstorage';
-import { AuthExpiredInterceptor } from './auth-expired.interceptor';
-import { ErrorHandlerInterceptor } from './errorhandler.interceptor';
-import { NotificationInterceptor } from './notification.interceptor';
-
-export function interceptableFactory(
-    backend: XHRBackend,
-    defaultOptions: RequestOptions,
-    localStorage: LocalStorageService,
-    sessionStorage: SessionStorageService,
-    injector: Injector,
-    eventManager: EventManager
-) {
-    return new InterceptableHttp(
-        backend,
-        defaultOptions,
-        [
-            new AuthInterceptor(localStorage, sessionStorage),
-            new AuthExpiredInterceptor(injector),
-            // Other interceptors can be added here
-            new ErrorHandlerInterceptor(eventManager),
-            new NotificationInterceptor()
-        ]
-    );
-};
-
-export function customHttpProvider() {
-    return {
-        provide: Http,
-        useFactory: interceptableFactory,
-        deps: [
-            XHRBackend,
-            RequestOptions,
-            LocalStorageService,
-            SessionStorageService,
-            Injector,
-            EventManager
-        ]
-    };
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/notification.interceptor.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/notification.interceptor.ts
deleted file mode 100644
index 73c56a707f6ee54cbdf61d6ffb3df133afd539b6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/blocks/interceptor/notification.interceptor.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { HttpInterceptor } from 'ng-jhipster';
-import { RequestOptionsArgs, Response } from '@angular/http';
-import { Observable } from 'rxjs/Observable';
-
-export class NotificationInterceptor extends HttpInterceptor {
-
-    constructor() {
-        super();
-    }
-
-    requestIntercept(options?: RequestOptionsArgs): RequestOptionsArgs {
-        return options;
-    }
-
-    responseIntercept(observable: Observable<Response>): Observable<Response> {
-        return <Observable<Response>> observable.catch((error) => {
-            const arr = Array.from(error.headers._headers);
-            const headers = [];
-            let i;
-            for (i = 0; i < arr.length; i++) {
-                if (arr[i][0].endsWith('app-alert') || arr[i][0].endsWith('app-params')) {
-                    headers.push(arr[i][0]);
-                }
-            }
-            headers.sort();
-            const alertKey = headers.length >= 1 ? error.headers.get(headers[0]) : null;
-            if (typeof alertKey === 'string') {
-                // AlertService.success(alertKey, { param: response.headers(headers[1])});
-            }
-            return Observable.throw(error);
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/eureka.status.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/eureka.status.service.ts
deleted file mode 100644
index 4d13fd001728772d7b9975f05ab1318bb4ddabf4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/eureka.status.service.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class EurekaStatusService {
-
-    constructor(private http: Http) { }
-
-    findAll(): Observable<any> {
-        return this.http.get('api/eureka/status').map((res: Response) => res.json());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.html
deleted file mode 100644
index 402dc2482e31cf740d3d688db416fe41334203b7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<div [ngSwitch]="isAuthenticated()">
-    <h1 class="text-center">JHipster Registry <small>{{version}}</small></h1>
-    <div class="row">
-        <div class="col-md-12 text-center">
-            <div class="alert alert-success" *ngSwitchCase="true">
-                <span *ngIf="account"> You are logged in as user "{{account.login}}". </span>
-            </div>
-
-            <div class="alert alert-warning" *ngSwitchCase="false">
-                <span>You are not authenticated.</span>
-                <a class="alert-link" (click)="login()">Please sign in</a>
-            </div>
-        </div>
-    </div>
-    <div class="row" *ngSwitchCase="true">
-        <div class="col-sm-12 col-md-6" *ngIf="status">
-            <div class="card card-outline-primary">
-                <div class="card-header card-primary">
-                    <h3 class="card-title">System Status</h3>
-                </div>
-                <div class="card-block">
-                    <table class="table">
-                        <tbody>
-                        <tr>
-                            <td>Environment</td>
-                            <td>{{status.environment}}</td>
-                        </tr>
-                        <tr>
-                            <td>Data Center</td>
-                            <td>{{status.datacenter}}</td>
-                        </tr>
-                        <tr>
-                            <td>Current Time</td>
-                            <td>{{status.currentTime}}</td>
-                        </tr>
-                        <tr>
-                            <td>System Uptime</td>
-                            <td>{{status.upTime}}</td>
-                        </tr>
-                        <tr>
-                            <td>Below Renew Threshold</td>
-                            <td>{{status.isBelowRenewThreshold}}</td>
-                        </tr>
-                        </tbody>
-                    </table>
-                </div>
-            </div>
-        </div>
-        <div class="col-sm-12 col-md-6" *ngIf="appInstances">
-            <div class="card card-outline-primary">
-                <div class="card-header card-primary">
-                    <h3 class="card-title">Instances Registered</h3>
-                </div>
-                <div class="card-block">
-                    <!--{vm.apps.applications}}-->
-                    <table class="table">
-                        <thead>
-                        <tr>
-                            <th>App</th>
-                            <th>Instance ID</th>
-                            <th>Status</th>
-                        </tr>
-                        </thead>
-                        <tbody>
-                        <tr *ngFor="let app of appInstances">
-                            <td>{{app.name}}</td>
-                            <td class="break">{{app.instanceId}}</td>
-                            <td class="text-center">
-                            <span class="badge badge-pill font-weight-normal" [ngClass]="getBadgeClass(app.status)">
-                                {{app.status}}
-                            </span>
-                            </td>
-                        </tr>
-                        </tbody>
-                    </table>
-                </div>
-            </div>
-        </div>
-    </div>
-    <div class="row" *ngSwitchCase="true">
-        <div class="col-sm-12 col-md-6" *ngIf="status">
-            <div class="card card-outline-primary">
-                <div class="card-header card-primary">
-                    <h3 class="card-title">General Info</h3>
-                </div>
-                <div class="card-block">
-                    <table class="table">
-                        <tbody>
-                        <tr>
-                            <td>Total Available Memory</td>
-                            <td>{{status.generalStats['total-avail-memory']}}</td>
-                        </tr>
-                        <tr>
-                            <td>Current Memory Usage</td>
-                            <td>{{status.generalStats['current-memory-usage']}}</td>
-                        </tr>
-                        <tr>
-                            <td>Number of CPU</td>
-                            <td>{{status.generalStats['num-of-cpus']}}</td>
-                        </tr>
-                        <tr>
-                            <td>Instance Ip Address</td>
-                            <td>{{status.instanceInfo.ipAddr}}</td>
-                        </tr>
-                        <tr>
-                            <td>Instance Status</td>
-                            <td>
-                                <span class="badge badge-pill font-weight-normal" [ngClass]="getBadgeClass(status.instanceInfo.status)">
-                                    {{status.instanceInfo.status}}
-                                </span>
-                            </td>
-                        </tr>
-                        </tbody>
-                    </table>
-                </div>
-            </div>
-        </div>
-        <div class="col-sm-12 col-md-6" *ngIf="healthData">
-            <div class="card card-outline-primary">
-                <div class="card-header card-primary">
-                    <h3 class="card-title">Health</h3>
-                </div>
-                <div class="card-block">
-                    <table id="healthCheck" class="table">
-                        <tbody>
-                        <tr *ngFor="let health of healthData">
-                            <td><span class="text-capitalize">{{baseName(health.name)}}</span> {{subSystemName(health.name)}}</td>
-                            <td class="text-center">
-                            <span class="badge badge-pill font-weight-normal" [ngClass]="getBadgeClass(health.status)">
-                                {{health.status}}
-                            </span>
-                            </td>
-                        </tr>
-                        </tbody>
-                    </table>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.ts
deleted file mode 100644
index c9c92d1a19d990559c1510b724b29acb920449fe..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.component.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
-import { EventManager } from 'ng-jhipster';
-
-import { Account, LoginModalService, Principal } from '../shared';
-import { JhiHealthService } from '../admin';
-import { JhiApplicationsService } from '../registry';
-
-import { VERSION } from '../app.constants';
-import { EurekaStatusService } from './eureka.status.service';
-
-@Component({
-    selector: 'jhi-home',
-    templateUrl: './home.component.html',
-    styleUrls: [
-        'home.scss'
-    ]
-})
-export class HomeComponent implements OnInit {
-    account: Account;
-    modalRef: NgbModalRef;
-    updatingHealth: boolean;
-    healthData: any;
-    appInstances: any;
-    status: any;
-    version: string;
-
-    constructor(private principal: Principal,
-                private loginModalService: LoginModalService,
-                private eventManager: EventManager,
-                private eurekaStatusService: EurekaStatusService,
-                private applicationsService: JhiApplicationsService,
-                private healthService: JhiHealthService) {
-        this.version = 'v' + VERSION;
-        this.appInstances = [];
-    }
-
-    ngOnInit() {
-        this.principal.identity().then((account) => {
-            this.account = account;
-            if (!account || !this.isAuthenticated()) {
-                this.login();
-            } else {
-                this.populateDashboard();
-            }
-        });
-
-        this.registerAuthenticationSuccess();
-    }
-
-    registerAuthenticationSuccess() {
-        this.eventManager.subscribe('authenticationSuccess', (message) => {
-            this.principal.identity().then((account) => {
-                this.account = account;
-                this.populateDashboard();
-            });
-        });
-    }
-
-    isAuthenticated() {
-        return this.principal.isAuthenticated();
-    }
-
-    login() {
-        this.modalRef = this.loginModalService.open();
-    }
-
-    populateDashboard() {
-        this.eurekaStatusService.findAll().subscribe((data) => {
-            this.status = data.status;
-        });
-
-        this.applicationsService.findAll().subscribe((data) => {
-            for (const app of data.applications) {
-                for (const inst of app.instances) {
-                    inst.name = app.name;
-                    this.appInstances.push(inst);
-                }
-            }
-        });
-
-        this.healthService.checkHealth().subscribe((response) => {
-            this.healthData = this.healthService.transformHealthData(response);
-            this.updatingHealth = false;
-        }, (response) => {
-            this.healthData = this.healthService.transformHealthData(response.data);
-            this.updatingHealth = false;
-        });
-    }
-
-    baseName(name: string) {
-        return this.healthService.getBaseName(name);
-    }
-
-    subSystemName(name: string) {
-        this.healthService.getSubSystemName(name);
-    }
-
-    getBadgeClass(statusState) {
-        if (statusState === 'UP') {
-            return 'badge-success';
-        } else {
-            return 'badge-danger';
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.module.ts
deleted file mode 100644
index 504b44127c7d1b644c52a6ea574dfe92550c932f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.module.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { JHipsterRegistrySharedModule } from '../shared';
-
-import { HOME_ROUTE, HomeComponent } from './';
-import { EurekaStatusService } from './eureka.status.service';
-import { JhiLoginModalComponent } from '../shared/login/login.component';
-
-@NgModule({
-    imports: [
-        JHipsterRegistrySharedModule,
-        RouterModule.forRoot([ HOME_ROUTE ], { useHash: true })
-    ],
-    declarations: [
-        HomeComponent,
-    ],
-    entryComponents: [
-        JhiLoginModalComponent
-    ],
-    providers: [
-        EurekaStatusService
-    ],
-    schemas: [CUSTOM_ELEMENTS_SCHEMA]
-})
-export class JHipsterRegistryHomeModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.route.ts
deleted file mode 100644
index b3fc6bad2a362debf7a4dcede3844e64ddf99003..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.route.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Route } from '@angular/router';
-
-import { UserRouteAccessService } from '../shared';
-import { HomeComponent } from './';
-
-export const HOME_ROUTE: Route = {
-    path: '',
-    component: HomeComponent,
-    data: {
-        authorities: [],
-        pageTitle: 'JHipster Registry'
-    },
-    canActivate: [UserRouteAccessService]
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.scss
deleted file mode 100644
index 53f035843a15ae2240d53813f13381a9d33b46d0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/home.scss
+++ /dev/null
@@ -1,41 +0,0 @@
-
-/* ==========================================================================
-Main page styles
-========================================================================== */
-
-.hipster {
-    display: inline-block;
-    width: 347px;
-    height: 497px;
-    background: url("../../content/images/hipster.png") no-repeat center top;
-    background-size: contain;
-}
-
-.card {
-    margin-top: 2%;
-    .card-title {
-        color: white;
-        margin-bottom: 0;
-        margin-top: 0;
-        font-size: 17px;
-    }
-}
-
-.table, .table tr, .table td, .table th {
-    border: none;
-}
-
-
-/* wait autoprefixer update to allow simple generation of high pixel density media query */
-@media
-only screen and (-webkit-min-device-pixel-ratio: 2),
-only screen and (   min--moz-device-pixel-ratio: 2),
-only screen and (     -o-min-device-pixel-ratio: 2/1),
-only screen and (        min-device-pixel-ratio: 2),
-only screen and (                min-resolution: 192dpi),
-only screen and (                min-resolution: 2dppx) {
-    .hipster {
-        background: url("../../content/images/hipster2x.png") no-repeat center top;
-        background-size: contain;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/index.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/index.ts
deleted file mode 100644
index c90e94f195b84d822e9e6226e4d6428f97a278fe..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/home/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export * from './home.component';
-export * from './eureka.status.service';
-export * from './home.route';
-export * from './home.module';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.html
deleted file mode 100644
index 9f71e5aa4eae1234932040a410b49b9da711e54e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<div>
-    <div class="row">
-        <div class="col-md-4">
-            <span class="hipster img-fluid img-rounded"></span>
-        </div>
-        <div class="col-md-8">
-            <h1>Error Page!</h1>
-
-            <div [hidden]="!errorMessage">
-                <div class="alert alert-danger">{{errorMessage}}
-                </div>
-            </div>
-            <div [hidden]="!error403" class="alert alert-danger">You are not authorized to access the page.
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.ts
deleted file mode 100644
index 6ba97eee19453371417cfb3377b01bb25988e2f9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.component.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
-    selector: 'jhi-error',
-    templateUrl: './error.component.html'
-})
-export class ErrorComponent implements OnInit {
-    errorMessage: string;
-    error403: boolean;
-
-    constructor(
-        ) {
-        }
-
-    ngOnInit() {
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.route.ts
deleted file mode 100644
index c07b0f5ea4706e45437ca2118858f20a13152b9f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/error/error.route.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Routes } from '@angular/router';
-
-import { UserRouteAccessService } from '../../shared';
-import { ErrorComponent } from './error.component';
-
-export const errorRoute: Routes = [
-    {
-        path: 'error',
-        component: ErrorComponent,
-        data: {
-            authorities: [],
-            pageTitle: 'Error page!'
-        },
-    },
-    {
-        path: 'accessdenied',
-        component: ErrorComponent,
-        data: {
-            authorities: [],
-            pageTitle: 'Error page!'
-        },
-    }
-];
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.html
deleted file mode 100644
index cbb7c22bb0638c9f0b56058e6d119e0676c8fa24..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="footer">
-    <p>JHipster Registry - <a href="https://jhipster.github.io/">jhipster.github.io</a></p>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.ts
deleted file mode 100644
index 37da8bca7544e989ca68411352b62ae48cea3e26..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/footer/footer.component.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
-    selector: 'jhi-footer',
-    templateUrl: './footer.component.html'
-})
-export class FooterComponent {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/index.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/index.ts
deleted file mode 100644
index 1109064496951d3f8bfe0574a62a1442f095e030..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export * from './error/error.component';
-export * from './error/error.route';
-export * from './main/main.component';
-export * from './footer/footer.component';
-export * from './navbar/navbar.component';
-export * from './profiles/page-ribbon.component';
-export * from './profiles/profile.service';
-export * from './profiles/profile-info.model';
-export * from './layout-routing.module';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/layout-routing.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/layout-routing.module.ts
deleted file mode 100644
index b49f6e2c9fd65a6010927222889a9a8ea85f321a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/layout-routing.module.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { navbarRoute } from '../app.route';
-import { errorRoute } from './';
-
-const LAYOUT_ROUTES = [
-    navbarRoute,
-    ...errorRoute
-];
-
-@NgModule({
-    imports: [
-        RouterModule.forRoot(LAYOUT_ROUTES, { useHash: true })
-    ],
-    exports: [
-        RouterModule
-    ]
-})
-export class LayoutRoutingModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.html
deleted file mode 100644
index 5bcd12ab0b84ad92717138a8ddc4ae83eb2ab8ee..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<jhi-page-ribbon></jhi-page-ribbon>
-<div>
-    <router-outlet name="navbar"></router-outlet>
-</div>
-<div class="container-fluid">
-    <div class="card jh-card">
-        <router-outlet></router-outlet>
-        <router-outlet name="popup"></router-outlet>
-    </div>
-    <jhi-footer></jhi-footer>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.ts
deleted file mode 100644
index 6a1fbb83bb72f5a136cbb1ee15c84f14f380543c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/main/main.component.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router, ActivatedRouteSnapshot, NavigationEnd, RoutesRecognized } from '@angular/router';
-
-import { Title } from '@angular/platform-browser';
-import { StateStorageService } from '../../shared';
-
-@Component({
-    selector: 'jhi-main',
-    templateUrl: './main.component.html'
-})
-export class JhiMainComponent implements OnInit {
-
-    constructor(
-        private titleService: Title,
-        private router: Router,
-        private $storageService: StateStorageService,
-    ) {}
-
-    private getPageTitle(routeSnapshot: ActivatedRouteSnapshot) {
-        let title: string = (routeSnapshot.data && routeSnapshot.data['pageTitle']) ? routeSnapshot.data['pageTitle'] : 'jHipsterRegistryApp';
-        if (routeSnapshot.firstChild) {
-            title = this.getPageTitle(routeSnapshot.firstChild) || title;
-        }
-        return title;
-    }
-
-    ngOnInit() {
-        this.router.events.subscribe((event) => {
-            if (event instanceof NavigationEnd) {
-                this.titleService.setTitle(this.getPageTitle(this.router.routerState.snapshot.root));
-            }
-            if (event instanceof RoutesRecognized) {
-                let params = {};
-                let destinationData = {};
-                let destinationName = '';
-                const destinationEvent = event.state.root.firstChild.children[0];
-                if (destinationEvent !== undefined) {
-                    params = destinationEvent.params;
-                    destinationData = destinationEvent.data;
-                    destinationName = destinationEvent.url[0].path;
-                }
-                const from = {name: this.router.url.slice(1)};
-                const destination = {name: destinationName, data: destinationData};
-                this.$storageService.storeDestinationState(destination, params, from);
-            }
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.html
deleted file mode 100644
index c74f6cf59a4e90c8278baaa49e0d7d3a03ed7131..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<nav class="navbar navbar-inverse navbar-toggleable-md jh-navbar">
-    <div class="jh-logo-container float-left">
-        <a class="jh-navbar-toggler hidden-lg-up float-right" href="javascript:void(0);" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation" (click)="toggleNavbar()">
-            <i class="fa fa-bars"></i>
-        </a>
-        <a class="navbar-brand logo float-left" routerLink="/" (click)="collapseNavbar()">
-            <span class="logo-img"></span>
-            <span class="navbar-title">Registry</span> <span class="navbar-version">{{version}}</span>
-        </a>
-    </div>
-    <div class="navbar-collapse collapse" id="navbarResponsive" [ngbCollapse]="isNavbarCollapsed" [ngSwitch]="isAuthenticated()">
-        <ul class="navbar-nav ml-auto">
-            <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">
-                <a class="nav-link" routerLink="/" (click)="collapseNavbar()">
-                    <i class="fa fa-home" aria-hidden="true"></i>
-                    <span>Home</span>
-                </a>
-            </li>
-            <!-- jhipster-needle-add-element-to-menu - JHipster will add new menu items here -->
-            <li *jhiHasAnyAuthority="'ROLE_ADMIN'" ngbDropdown class="nav-item dropdown pointer">
-                <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="eureka-menu">
-                    <span>
-                        <i class="fa fa-podcast" aria-hidden="true"></i>
-                        <span>Eureka</span>
-                        <b class="caret"></b>
-                    </span>
-                </a>
-                <ul class="dropdown-menu" ngbDropdownMenu>
-                    <li>
-                        <a class="dropdown-item" routerLinkActive="active" routerLink="applications" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-cloud" aria-hidden="true"></i>
-                            <span class="hidden-sm">Instances</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLinkActive="active" routerLink="history" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-hourglass" aria-hidden="true"></i>
-                            <span class="hidden-sm">History</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLinkActive="active" routerLink="replicas" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-cloud-download" aria-hidden="true"></i>
-                            <span class="hidden-sm">Replicas</span>
-                        </a>
-                    </li>
-                </ul>
-            </li>
-            <li *jhiHasAnyAuthority="'ROLE_ADMIN'" ngbDropdown class="nav-item dropdown pointer">
-                <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="configuration-menu">
-                    <span>
-                        <i class="fa fa-cogs" aria-hidden="true"></i>
-                        <span>Configuration</span>
-                        <b class="caret"></b>
-                    </span>
-                </a>
-                <ul class="dropdown-menu" ngbDropdownMenu>
-                    <li>
-                        <a class="dropdown-item" routerLinkActive="active" routerLink="config" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-leaf" aria-hidden="true"></i>
-                            <span class="hidden-sm">Cloud config</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLinkActive="active" routerLink="ssh" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-lock" aria-hidden="true"></i>
-                            <span class="hidden-sm">SSH</span>
-                        </a>
-                    </li>
-                </ul>
-            </li>
-            <li *jhiHasAnyAuthority="'ROLE_ADMIN'" ngbDropdown class="nav-item dropdown pointer">
-                <a class="nav-link dropdown-toggle" ngbDropdownToggle href="javascript:void(0);" id="admin-menu">
-                    <span>
-                        <i class="fa fa-user-plus" aria-hidden="true"></i>
-                        <span>Administration</span>
-                        <b class="caret"></b>
-                    </span>
-                </a>
-                <ul class="dropdown-menu" ngbDropdownMenu>
-                    <li>
-                        <a class="dropdown-item" routerLink="jhi-metrics" routerLinkActive="active" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-tachometer" aria-hidden="true"></i>
-                            <span>Metrics</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLink="jhi-health" routerLinkActive="active" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-heart" aria-hidden="true"></i>
-                            <span>Health</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLink="jhi-configuration" routerLinkActive="active" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-list" aria-hidden="true"></i>
-                            <span>Configuration</span>
-                        </a>
-                    </li>
-                    <li>
-                        <a class="dropdown-item" routerLink="logs" routerLinkActive="active" (click)="collapseNavbar()">
-                            <i class="fa fa-fw fa-tasks" aria-hidden="true"></i>
-                            <span>Logs</span>
-                        </a>
-                    </li>
-                    <!-- jhipster-needle-add-element-to-admin-menu - JHipster will add entities to the admin menu here -->
-                </ul>
-            </li>
-            <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">
-                <a class="nav-link" (click)="logout()" id="logout">
-                    <span class="fa fa-fw fa-sign-out"></span>
-                </a>
-            </li>
-        </ul>
-    </div>
-</nav>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.ts
deleted file mode 100644
index a12511681426f7f0e3550b0166478805191b4d46..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.component.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
-
-import { ProfileService } from '../profiles/profile.service';
-import { Principal, LoginModalService, LoginService } from '../../shared';
-
-import { VERSION, DEBUG_INFO_ENABLED } from '../../app.constants';
-
-@Component({
-    selector: 'jhi-navbar',
-    templateUrl: './navbar.component.html',
-    styleUrls: [
-        'navbar.scss'
-    ]
-})
-export class NavbarComponent implements OnInit {
-
-    inProduction: boolean;
-    isNavbarCollapsed: boolean;
-    languages: any[];
-    swaggerEnabled: boolean;
-    modalRef: NgbModalRef;
-    version: string;
-
-    constructor(
-        private loginService: LoginService,
-        private principal: Principal,
-        private loginModalService: LoginModalService,
-        private profileService: ProfileService,
-        private router: Router
-    ) {
-        this.version = DEBUG_INFO_ENABLED ? 'v' + VERSION : '';
-        this.isNavbarCollapsed = true;
-    }
-
-    ngOnInit() {
-        this.profileService.getProfileInfo().subscribe((profileInfo) => {
-            this.inProduction = profileInfo.inProduction;
-            this.swaggerEnabled = profileInfo.swaggerEnabled;
-        });
-    }
-
-    collapseNavbar() {
-        this.isNavbarCollapsed = true;
-    }
-
-    isAuthenticated() {
-        return this.principal.isAuthenticated();
-    }
-
-    login() {
-        this.modalRef = this.loginModalService.open();
-    }
-
-    logout() {
-        this.collapseNavbar();
-        this.loginService.logout();
-        this.router.navigate(['']);
-    }
-
-    toggleNavbar() {
-        this.isNavbarCollapsed = !this.isNavbarCollapsed;
-    }
-
-    getImageUrl() {
-        return this.isAuthenticated() ? this.principal.getImageUrl() : null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.scss
deleted file mode 100644
index d48d609543883e8de6807248437b57236a6de9b8..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/navbar/navbar.scss
+++ /dev/null
@@ -1,70 +0,0 @@
-
-/* ==========================================================================
-Navbar
-========================================================================== */
-.navbar-version {
-    font-size: 10px;
-    color: #ccc
-}
-
-.jh-navbar {
-    background-color: #353d47;
-    padding: .2em 1em;
-    .profile-image {
-        margin: -10px 0px;
-        height: 40px;
-        width: 40px;
-        border-radius: 50%;
-    }
-    .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover {
-        background-color: #353d47;
-    }
-    .dropdown-toggle::after {
-        margin-left: 0.15em;
-    }
-    ul.navbar-nav {
-        padding: 0.5em;
-        .nav-item {
-            margin-left: 1.5rem;
-        }
-    }
-    a.nav-link {
-        font-weight: 400;
-    }
-    .jh-navbar-toggler {
-        color: #ccc;
-        font-size: 1.5em;
-        padding: 10px;
-        &:hover {
-            color: #fff;
-        }
-    }
-}
-
-@media screen and (max-width: 992px) {
-    .jh-logo-container {
-        width: 100%;
-    }
-}
-
-.navbar-title {
-    display: inline-block;
-    vertical-align: middle;
-}
-
-/* ==========================================================================
-Logo styles
-========================================================================== */
-.navbar-brand {
-    &.logo {
-        padding: 5px 15px;
-        .logo-img {
-            height: 45px;
-            width: 70px;
-            display: inline-block;
-            vertical-align: middle;
-            background: url("../../../content/images/logo-jhipster.png") no-repeat center center;
-            background-size: contain;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts
deleted file mode 100644
index 6abef11fab3de408c600799a8bca3d41b2b55c62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { ProfileService } from './profile.service';
-import { ProfileInfo } from './profile-info.model';
-
-@Component({
-    selector: 'jhi-page-ribbon',
-    template: `<div class="ribbon" *ngIf="ribbonEnv"><a href="">{{ribbonEnv}}</a></div>`,
-    styleUrls: [
-        'page-ribbon.scss'
-    ]
-})
-export class PageRibbonComponent implements OnInit {
-
-    profileInfo: ProfileInfo;
-    ribbonEnv: string;
-
-    constructor(private profileService: ProfileService) {}
-
-    ngOnInit() {
-        this.profileService.getProfileInfo().subscribe((profileInfo) => {
-            this.profileInfo = profileInfo;
-            this.ribbonEnv = profileInfo.ribbonEnv;
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.scss
deleted file mode 100644
index 5efd11c03ea4dcab5edde61b0a823c5dee118372..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/page-ribbon.scss
+++ /dev/null
@@ -1,32 +0,0 @@
-
-/* ==========================================================================
-Developement Ribbon
-========================================================================== */
-.ribbon {
-    background-color: rgba(170, 0, 0, 0.5);
-    left: -3.5em;
-    moz-transform: rotate(-45deg);
-    ms-transform: rotate(-45deg);
-    o-transform: rotate(-45deg);
-    webkit-transform: rotate(-45deg);
-    transform: rotate(-45deg);
-    overflow: hidden;
-    position: absolute;
-    top: 40px;
-    white-space: nowrap;
-    width: 15em;
-    z-index: 9999;
-    pointer-events: none;
-    opacity: 0.75;
-    a {
-        color: #fff;
-        display: block;
-        font-weight: 400;
-        margin: 1px 0;
-        padding: 10px 50px;
-        text-align: center;
-        text-decoration: none;
-        text-shadow: 0 0 5px #444;
-        pointer-events: none;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile-info.model.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile-info.model.ts
deleted file mode 100644
index 7ed08cc92573699f29fe4bc674051cc8cff10907..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile-info.model.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export class ProfileInfo {
-    activeProfiles: string[];
-    ribbonEnv: string;
-    inProduction: boolean;
-    swaggerEnabled: boolean;
-    nativeSearchLocation?: string;
-    gitUri?: string;
-    gitSearchLocation?: string;
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile.service.ts
deleted file mode 100644
index 839bff3d0f38eab862d207ad9f23b9c0f15e6ce0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/layouts/profiles/profile.service.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-import { ProfileInfo } from './profile-info.model';
-
-@Injectable()
-export class ProfileService {
-
-    private profileInfoUrl = 'api/profile-info';
-
-    constructor(private http: Http) { }
-
-    getProfileInfo(): Observable<ProfileInfo> {
-        return this.http.get(this.profileInfoUrl)
-            .map((res: Response) => {
-                const data = res.json();
-                const pi = new ProfileInfo();
-                pi.activeProfiles = data.activeProfiles;
-                pi.ribbonEnv = data.ribbonEnv;
-                pi.inProduction = data.activeProfiles.indexOf('prod') !== -1;
-                pi.swaggerEnabled = data.activeProfiles.indexOf('swagger') !== -1;
-                return pi;
-            });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/polyfills.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/polyfills.ts
deleted file mode 100644
index 0771ba0b72ec3060015685484e51e2e11e72164e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/polyfills.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-/* tslint:disable */
-import 'reflect-metadata/Reflect';
-import 'zone.js/dist/zone';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.html
deleted file mode 100644
index a2b6fa44317d010be9711e291fac115a9ffaeef5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<div>
-    <div class="head">
-        <h2 class="d-inline-block">Application Instances</h2>
-        <jhi-refresh-selector class="float-right refresh-left-side"></jhi-refresh-selector>
-    </div>
-
-    <div class="apps col-md-5" *ngIf="data">
-        <ul class="list-group">
-            <li class="list-group-item {{app.active}}" *ngFor="let app of data.applications | orderBy:name" (click)="show(app.name)">
-                <span class="fa fa-alert" *ngIf="(app.instances | filter:{status:'UP'}).length < app.instances.length">&nbsp;</span> {{app.name}}
-                <span class="badge badge-pill font-weight-normal badge-info">{{(app.instances | filter:{status:'UP'}).length}} / {{app.instances.length}}</span>
-            </li>
-        </ul>
-    </div>
-    <div class="row" *ngIf="data">
-        <div id="instances" class="col-md-12">
-            <h3>Instances</h3>
-            <div class="table-responsive">
-                <table class="table table-striped table-bordered table-responsive d-table">
-                    <thead>
-                    <tr>
-                        <th class="w-50">ID</th>
-                        <th class="w-50">Status</th>
-                    </tr>
-                    </thead>
-                    <tbody>
-                        <tr *ngFor="let instance of instances">
-                            <td>
-                                <a href="{{instance.homePageUrl}}" target="_blank">{{instance.instanceId}}</a>
-                            </td>
-                            <td class="text-left">
-                                <span class="badge badge-pill font-weight-normal badge-success" [ngClass]="getBadgeClass(instance.status)">
-                                    {{instance.status}}
-                                </span>
-                                <span class="float-right" *ngFor="let entry of (instance.metadata | keys )">
-                                    <span class="badge badge-default font-weight-normal">
-                                        <span class="badge badge-pill badge-info font-weight-normal">{{entry.key}}</span>
-                                        {{entry.value}}
-                                    </span>
-                                </span>
-                            </td>
-                        </tr>
-                    </tbody>
-                </table>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.scss
deleted file mode 100644
index b3d517fe029e1651e7ac174f3a9d4828b2866448..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-/* ==========================================================================
-Applications page styles
-========================================================================== */
-
-.apps {
-    margin-bottom: 2%;
-    padding-left: 0;
-    span.badge { /* UP, DOWN, ... */
-        float: right;
-    }
-    li.list-group-item { /* apps names */
-        word-break: break-all;
-        display: block;
-    }
-}
-
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.ts
deleted file mode 100644
index 5e338f3e2c7e4097abca6473229266b533d72227..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.component.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/* tslint:disable:no-access-missing-member */
-// TODO lint disabled as the filter pipe used in template seems to trigger this
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { JhiApplicationsService } from './applications.service';
-import { JhiRefreshService } from '../../shared/refresh/refresh.service';
-import { Subscription } from 'rxjs/Subscription';
-
-@Component({
-    selector: 'jhi-applications',
-    templateUrl: './applications.component.html',
-    styleUrls: [
-        'applications.component.scss'
-    ]
-})
-export class JhiApplicationsComponent implements OnInit, OnDestroy {
-    application: any;
-    data: any;
-    instances: any;
-
-    refreshReloadSubscription: Subscription;
-    applicationsServiceSubscription: Subscription;
-
-    constructor(
-        private applicationsService: JhiApplicationsService,
-        private refreshService: JhiRefreshService
-    ) {}
-
-    ngOnInit() {
-        this.refreshReloadSubscription = this.refreshService.refreshReload$.subscribe((empty) => this.refresh());
-        this.refresh();
-    }
-
-    ngOnDestroy() {
-        this.refreshReloadSubscription.unsubscribe();
-        this.applicationsServiceSubscription.unsubscribe();
-    }
-
-    refresh() {
-        this.applicationsServiceSubscription = this.applicationsService.findAll().subscribe((data) => {
-            this.data = data;
-            if (data.applications.length > 0) {
-                this.show(data.applications[0].name);
-            }
-        });
-    }
-
-    show(app) {
-        this.application = app;
-        for (const application of this.data.applications) {
-            application.active = '';
-            if (application.name === this.application) {
-                this.instances = application.instances;
-                application.active = 'active';
-            }
-        }
-    }
-
-    getBadgeClass(statusState) {
-        if (statusState && statusState === 'UP') {
-            return 'badge-success';
-        } else {
-            return 'badge-danger';
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.route.ts
deleted file mode 100644
index 73cf32becd4d1e950114475cb28cb01be6860c38..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiApplicationsComponent } from './applications.component';
-
-export const applicationsRoute: Route = {
-    path: 'applications',
-    component: JhiApplicationsComponent,
-    data: {
-        pageTitle: 'Applications'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.service.ts
deleted file mode 100644
index 5f0d8bde2cb75dea73cf120b710d17fac5d1747b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/applications/applications.service.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class JhiApplicationsService {
-
-    constructor(private http: Http) { }
-
-    findAll(): Observable<any> {
-        return this.http.get('api/eureka/applications').map((res: Response) => res.json());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.html
deleted file mode 100644
index 60d3fd3bf8e15b0c411ebdda903a434121c89c86..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<div>
-    <div class="head">
-        <h2 class="d-inline-block">Spring Cloud Configuration</h2>
-        <jhi-refresh-selector class="float-right refresh-left-side"></jhi-refresh-selector>
-    </div>
-
-    <form #form="ngForm" (ngSubmit)="refresh()">
-        <div class="form-group">
-            <label for="application"><strong>Application</strong></label>
-           <select type="text" name="application" id="application" class="form-control" (click)="refresh()"
-                   required [(ngModel)]="application">
-                <option *ngFor="let app of applicationList" [value]="app">{{app}}</option>
-            </select>
-        </div>
-
-        <div class="form-group">
-            <label for="profile"><strong>Profile</strong></label>
-            <input type="text" class="form-control" id="profile" [(ngModel)]="profile" name="profile" required>
-        </div>
-
-        <div class="form-group" *ngIf="isNative">
-            <label for="label"><strong>Git Label: </strong></label>
-            <input type="text" class="form-control" id="label" name="label" [(ngModel)]="label" required>
-        </div>
-        <input type="submit" style="display: none;"> <!-- tips to submit without button -->
-    </form>
-
-    <div *ngIf="data">
-        <h3>Configuration</h3>
-        <pre class="code-block">{{data}}</pre>
-    </div>
-
-    <h3 class="head bottom">Configuration Source Information</h3>
-    <table class="table table-striped ">
-        <thead>
-        <tr>
-            <th>Type</th>
-            <th *ngIf="!isNative">Repository URI</th>
-            <th>Location</th>
-        </tr>
-        </thead>
-        <tbody>
-        <tr *ngIf="isNative">
-            <td>Native (Local Filesystem)</td>
-            <td>{{ nativeSearchLocation }}</td>
-        </tr>
-        <tr *ngIf="!isNative">
-            <td>Git</td>
-            <td>{{ gitUri }}</td>
-            <td>/{{ gitSearchLocation }}</td>
-        </tr>
-        </tbody>
-    </table>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.ts
deleted file mode 100644
index 11ab44b3a758b5fe8fc93b44bdeb192a87bba970..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.component.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { JhiConfigService } from './config.service';
-import { ProfileService } from '../../layouts/profiles/profile.service';
-import { JhiApplicationsService } from '../';
-import { JhiRefreshService } from '../../shared/refresh/refresh.service';
-import { Subscription } from 'rxjs/Subscription';
-
-@Component({
-    selector: 'jhi-config',
-    templateUrl: './config.component.html'
-})
-export class JhiConfigComponent implements OnInit, OnDestroy {
-    application: string;
-    profile: string;
-    label: string;
-    activeRegistryProfiles: any;
-    isNative: boolean;
-    nativeSearchLocation: string;
-    gitUri: string;
-    gitSearchLocation: string;
-    data: any;
-    applicationList: Array<string>;
-
-    refreshReloadSubscription: Subscription;
-
-    constructor(private configService: JhiConfigService,
-                private profileService: ProfileService,
-                private applicationsService: JhiApplicationsService,
-                private refreshService: JhiRefreshService
-    ) {
-        this.application = 'application';
-        this.profile = 'prod';
-        this.label = 'master';
-        this.activeRegistryProfiles = [];
-        this.isNative = true;
-        this.applicationList = ['application'];
-    }
-
-    ngOnInit() {
-        this.load();
-        this.refresh();
-    }
-
-    ngOnDestroy() {
-        this.refreshReloadSubscription.unsubscribe();
-    }
-
-    load() {
-        this.profileService.getProfileInfo().subscribe((response) => {
-            this.activeRegistryProfiles = response.activeProfiles;
-            this.isNative = this.activeRegistryProfiles.includes('native');
-            this.nativeSearchLocation = response.nativeSearchLocation;
-            this.gitUri = response.gitUri;
-            this.gitSearchLocation = response.gitSearchLocation;
-        });
-
-        this.refreshReloadSubscription = this.refreshService.refreshReload$.subscribe((empty) => this.refresh());
-    }
-
-    refresh() {
-        this.configService.getConfig(this.application, this.profile, this.label).subscribe((response) => {
-            this.data = response;
-        }, () => {
-            this.data = '';
-        });
-
-        this.applicationsService.findAll().subscribe((data) => {
-            if (data && data.applications) {
-                this.applicationList = ['application'];
-                data.applications.forEach((application) => {
-                    const instanceId = application.instances[0].instanceId;
-                    let applicationName;
-                    if (instanceId.indexOf(':') === -1) {
-                        applicationName = application.name.toLowerCase();
-                    } else {
-                        applicationName = instanceId.substr(0, instanceId.indexOf(':'));
-                    }
-                    this.applicationList.push(applicationName);
-                });
-            }
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.route.ts
deleted file mode 100644
index 72abf984f70281b36acc7354d59d23bd99ab6bf3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiConfigComponent } from './config.component';
-
-export const configRoute: Route = {
-    path: 'config',
-    component: JhiConfigComponent,
-    data: {
-        pageTitle: 'Configuration'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.service.ts
deleted file mode 100644
index 9f50bb54c20478879c7ea8b2ebaf01f936301d37..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/config/config.service.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class JhiConfigService {
-
-    constructor(private http: Http) {}
-
-    getConfig(application: string, profile: string, label: string): Observable<any> {
-        return this.http.get('config/' + label + '/' + application + '-' + profile + '.yml').map((response: Response) => {
-            return response.text();
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.html
deleted file mode 100644
index 6059568d31be47f1c8dc305f8257a9a8d59f561f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<div>
-    <div class="head">
-        <h2 class="d-inline-block">Instances history</h2>
-        <jhi-refresh-selector class="float-right refresh-left-side"></jhi-refresh-selector>
-    </div>
-
-    <div class="panel panel-default">
-        <div class="panel-body">
-            <ngb-tabset activeId="registered" (tabChange)="beforeChange($event)">
-                <ngb-tab id="registered" title="Last registered leases">
-                    <template ngbTabContent></template>
-                </ngb-tab>
-                <ngb-tab id="canceled" title="Last canceled leases">
-                    <template ngbTabContent></template>
-                </ngb-tab>
-            </ngb-tabset>
-            <div class="table-responsive">
-                <table class="table table-striped">
-                    <thead>
-                    <tr>
-                        <th>Time</th>
-                        <th>Instance</th>
-                    </tr>
-                    </thead>
-                    <tbody *ngIf="items">
-                    <tr *ngFor="let instance of (items | orderBy:'-key')">
-                        <td>
-                            {{instance.key | date:'medium'}}
-                        </td>
-                        <td>
-                            {{instance.value}}
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.ts
deleted file mode 100644
index 8fb6e29632590601091a3f17859155090633c701..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.component.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { NgbTabChangeEvent } from '@ng-bootstrap/ng-bootstrap';
-import { JhiHistoryService } from './history.service';
-import { JhiRefreshService } from '../../shared/refresh/refresh.service';
-import { Subscription } from 'rxjs/Subscription';
-
-@Component({
-    selector: 'jhi-history',
-    templateUrl: './history.component.html'
-})
-export class JhiHistoryComponent implements OnInit, OnDestroy {
-    items: any;
-    data: any;
-
-    refreshReloadSubscription: Subscription;
-
-    constructor(
-        private historyService: JhiHistoryService,
-        private refreshService: JhiRefreshService
-    ) {}
-
-    ngOnInit() {
-        this.refreshReloadSubscription = this.refreshService.refreshReload$.subscribe((empty) => this.refresh());
-        this.refresh();
-    }
-
-    ngOnDestroy() {
-        this.refreshReloadSubscription.unsubscribe();
-    }
-
-    refresh() {
-        this.historyService.findAll().subscribe((data) => {
-            this.data = data;
-            this.activate('registered');
-        });
-    }
-
-    activate(key: string) {
-        this.items = [];
-        const obj = this.data ? this.data[key] : null;
-        if (obj) {
-            for (const k of Object.keys(obj)) {
-                this.items.push({key: k, value: obj[k]});
-            }
-        }
-    }
-
-    beforeChange($event: NgbTabChangeEvent) {
-        this.activate($event.nextId);
-    };
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.route.ts
deleted file mode 100644
index a3f31e20d318b83eaca906a846b9c02163e7fb19..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiHistoryComponent } from './history.component';
-
-export const historyRoute: Route = {
-    path: 'history',
-    component: JhiHistoryComponent,
-    data: {
-        pageTitle: 'History'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.service.ts
deleted file mode 100644
index 4657493ce0ee0619e4207abd3ed1a1af7f2a0f83..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/history/history.service.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class JhiHistoryService {
-
-    constructor(private http: Http) {}
-
-    findAll(): Observable<any> {
-        return this.http.get('api/eureka/lastn').map((res: Response) => res.json());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/index.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/index.ts
deleted file mode 100644
index 846399623cbbbc45b43a365bcfcc694dec92be12..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/index.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-export * from './applications/applications.component';
-export * from './applications/applications.service';
-export * from './applications/applications.route';
-export * from './config/config.component';
-export * from './config/config.service';
-export * from './config/config.route';
-export * from './history/history.component';
-export * from './history/history.service';
-export * from './history/history.route';
-export * from './replicas/replicas.component';
-export * from './replicas/replicas.service';
-export * from './replicas/replicas.route';
-export * from './ssh/ssh.component';
-export * from './ssh/ssh.service';
-export * from './ssh/ssh.route';
-export * from './registry.route';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.module.ts
deleted file mode 100644
index 2066809abb8aadeccd4e07362323470bc95b20c4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.module.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { JHipsterRegistrySharedModule } from '../shared';
-
-import {
-    registryState,
-    JhiApplicationsComponent,
-    JhiConfigComponent,
-    JhiHistoryComponent,
-    JhiReplicasComponent,
-    JhiSSHComponent,
-    JhiApplicationsService,
-    JhiConfigService,
-    JhiHistoryService,
-    JhiReplicasService,
-    JhiSSHService
-} from './';
-
-@NgModule({
-    imports: [
-        JHipsterRegistrySharedModule,
-        RouterModule.forRoot(registryState, {useHash: true})
-    ],
-    declarations: [
-        JhiApplicationsComponent,
-        JhiConfigComponent,
-        JhiHistoryComponent,
-        JhiReplicasComponent,
-        JhiSSHComponent
-    ],
-    entryComponents: [],
-    providers: [
-        JhiApplicationsService,
-        JhiConfigService,
-        JhiHistoryService,
-        JhiReplicasService,
-        JhiSSHService
-    ],
-    schemas: [CUSTOM_ELEMENTS_SCHEMA]
-})
-export class JHipsterRegistryModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.route.ts
deleted file mode 100644
index afaeb51fd64342a6d69a430b9411c13a1dca6122..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/registry.route.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Routes } from '@angular/router';
-
-import { applicationsRoute, configRoute, historyRoute, replicasRoute, sshRoute } from './';
-
-import { UserRouteAccessService } from '../shared';
-
-const REGISTRY_ROUTES = [
-    applicationsRoute,
-    configRoute,
-    historyRoute,
-    replicasRoute,
-    sshRoute
-];
-
-export const registryState: Routes = [{
-    path: '',
-    data: {
-        authorities: ['ROLE_ADMIN']
-    },
-    canActivate: [UserRouteAccessService],
-    children: REGISTRY_ROUTES
-}];
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.html
deleted file mode 100644
index 103781a51333d8b96b65f9fe53213fdf0e94312e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<div>
-    <div class="head">
-        <h2 class="d-inline-block">Registry Replicas</h2>
-        <jhi-refresh-selector class="float-right refresh-left-side"></jhi-refresh-selector>
-    </div>
-
-    <div id="replicas" class="panel panel-default">
-        <div class="panel-body">
-            <div class="table-responsive">
-                <table class="table table-striped">
-                    <tbody>
-                    <tr *ngFor="let replica of replicas">
-                        <td>
-                            <a href="http://{{replica}}">{{replica}}</a>
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
-            </div>
-        </div>
-    </div>
-
-    <div class="text-center pad">
-        <a (click)="showMore = !showMore" class="btn btn-default">
-            <span class="fa fa-arrow-circle-down"></span>&nbsp;show more</a>
-    </div>
-    <div [ngbCollapse]="showMore">
-        <h3><span class="fa fa-info-circle"></span> Configuring replication</h3>
-        <p>
-            Here is the Spring Cloud Netflix official documentation for configuring replication:
-        </p>
-        <ul>
-            <li>
-                <a href="http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_standalone_mode" target="_blank">
-                    Standalone mode (no replication)
-                </a>
-            </li>
-            <li>
-                <a href="http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_peer_awareness" target="_blank">
-                    Peer aware mode (replication between peers)
-                </a>
-            </li>
-        </ul>
-        <h4>Standalone mode</h4>
-        <p>
-            By default, the JHipster Registry works in standalone mode: you will see one replica in this screen, which
-            the current standalone
-            registry: the address of the replica should be the same as the address of your server.
-        </p>
-        <h4>Peer aware mode</h4>
-        <p>
-            The JHipster Registry also works in "peer aware mode", and provides for this two pre-defined Spring
-            profiles, named "peer1" and "peer2".
-            Those profiles are mostly here as working examples, as you will probably want something different in
-            production.
-        </p>
-        <p>
-            Those profiles trigger some specific Spring Boot configurations, which are available in your registry's
-            <code>src/main/resources/config</code> folder.
-        </p>
-        <p>
-            Those profiles expect to have 2 different hosts, one for each replica: this is required by Eureka, which
-            expects to have replicas
-            on different servers. If you want to run this on your local machine, you need to point those 2 hostnames to
-            your local address, for
-            example on a Unix/MacOSX system, edit <code>/etc/hosts</code> to add those lines:
-        </p>
-        <pre class="code-block"># Eureka peers
-127.0.0.1	eureka-peer-1
-127.0.0.1	eureka-peer-2</pre>
-        <p>
-            Running a peer-aware development cluster is then just a matter of running:
-        </p>
-        <ul>
-            <li>
-                <code>./mvnw -Pdev,git,peer1</code>
-            </li>
-            <li>
-                <code>./mvnw -Pdev,git,peer2</code>
-            </li>
-        </ul>
-
-        <p>
-            Here is a sample working configuration for "peer1". Note that its "serviceUrl" points to "peer2":
-        </p>
-        <pre class="code-block">
-server:
-    port: 8761
-eureka:
-    instance:
-        hostname: eureka-peer-1
-    server:
-        enable-self-preservation: true
-        registry-sync-retry-wait-ms: 500
-        a-sgcache-expiry-timeout-ms: 60000
-        eviction-interval-timer-in-ms: 30000
-        peer-eureka-nodes-update-interval-ms: 30000
-        renewal-threshold-update-interval-ms: 15000
-    client:
-        fetch-registry: true
-        register-with-eureka: true
-        serviceUrl:
-            defaultZone: http://admin:admin@eureka-peer-2:8762/eureka/</pre>
-        <p>
-            Here is the same configuration for "peer2", which has a "serviceUrl" pointing to "peer1":
-        </p>
-        <pre class="code-block">
-server:
-    port: 8762
-eureka:
-    instance:
-        hostname: eureka-peer-2
-    server:
-        enable-self-preservation: true
-        registry-sync-retry-wait-ms: 500
-        a-sgcache-expiry-timeout-ms: 60000
-        eviction-interval-timer-in-ms: 30000
-        peer-eureka-nodes-update-interval-ms: 30000
-        renewal-threshold-update-interval-ms: 15000
-    client:
-        fetch-registry: true
-        register-with-eureka: true
-        serviceUrl:
-            defaultZone: http://admin:admin@eureka-peer-1:8761/eureka/</pre>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.scss
deleted file mode 100644
index 7c56da8c6aaa8ce2b1ae29093eef071b205ddac1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-/* ==========================================================================
-Replicas page styles
-========================================================================== */
-
-#replicas {
-    margin-top: 3%;
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.ts
deleted file mode 100644
index 38aa4ac4cb30d6b98d55db542331bdc0e24616c5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.component.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { JhiReplicasService } from './replicas.service';
-import { JhiRefreshService } from '../../shared/refresh/refresh.service';
-import { Subscription } from 'rxjs/Subscription';
-
-@Component({
-    selector: 'jhi-replicas',
-    templateUrl: './replicas.component.html',
-    styleUrls: [
-        'replicas.component.scss'
-    ]
-})
-export class JhiReplicasComponent implements OnInit, OnDestroy {
-    showMore: boolean;
-    replicas: any;
-
-    refreshReloadSubscription: Subscription;
-
-    constructor(private replicasService: JhiReplicasService,
-                private refreshService: JhiRefreshService
-    ) {
-        this.showMore = true;
-    }
-
-    ngOnInit() {
-        this.refreshReloadSubscription = this.refreshService.refreshReload$.subscribe((empty) => this.refresh());
-        this.refresh();
-    }
-
-    ngOnDestroy() {
-        this.refreshReloadSubscription.unsubscribe();
-    }
-
-    refresh() {
-        this.replicasService.findAll().subscribe((replicas) => {
-            this.replicas = replicas;
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.route.ts
deleted file mode 100644
index 7b7ae40050eb72b0bd0de0975319d6bbd2731d66..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiReplicasComponent } from './replicas.component';
-
-export const replicasRoute: Route = {
-    path: 'replicas',
-    component: JhiReplicasComponent,
-    data: {
-        pageTitle: 'Replicas'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.service.ts
deleted file mode 100644
index f88eb1fd4ab8944f65ccd383c8bcd6985b1b2b8c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/replicas/replicas.service.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class JhiReplicasService {
-
-    constructor(private http: Http) { }
-
-    findAll(): Observable<any> {
-        return this.http.get('api/eureka/replicas').map((res: Response) => res.json());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.html
deleted file mode 100644
index dce2d96357e33468b700d8b41721a0f57b2b993a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<div>
-    <h2>SSH Public Key</h2>
-
-    <p>
-        This is the SSH public key stored in this server's <code>&#126;/.ssh/id_rsa.pub</code>
-    </p>
-    <p>
-        This key should be used to grant access for this server to the Git repository which holds the Spring Cloud Configuration files.
-    </p>
-
-    <h3>Your SSH public key</h3>
-
-    <pre>{{data}}</pre>
-    <hr>
-    <div class="text-center pad" >
-        <a (click)="showMore = !showMore" class="btn btn-default">
-            <span class="fa fa-arrow-circle-down"></span>&nbsp;show more</a>
-    </div>
-	<div [ngbCollapse]="showMore">
-        <h3><span class="fa fa-info-circle"></span> Using SSH with Docker</h3>
-        <p>
-            Here are detailed instruction when using the JHipster Registry Docker image, available at
-            <a href="https://hub.docker.com/r/jhipster/jhipster-registry/" target="_blank">jhipster/jhipster-registry/</a>.
-        </p>
-
-        <ul>
-            <li>Log in inside the container: <code>docker exec -it &lt;containerIdOrName&gt; sh</code></li>
-            <li>Generate an SSH key: <code>ssh-keygen</code></li>
-            <li>Copy the public key in <code>/root/.ssh/id_rsa.pub</code> to the remote Git repository you want to access
-                (in Github, go to your settings/SSH keys)</li>
-            <li>Test inside your container that the SSH connection is working:
-                <ul>
-                    <li>Log in to your Git provider using your ssh key: <code>ssh -T git@github.com</code></li>
-                    <li>When asked to to add the Git repository host to the list of known hosts, reply <b>yes</b></li>
-                </ul>
-            </li>
-            <li>Restart the registry without removing the container, it should be able to read a Git repo secured by SSH</li>
-        </ul>
-
-        <p>
-        In order not to lose our setup every time you recreate or update the container, you can mount the
-        <code>/root/.ssh/</code> folder to a Docker volume.
-        </p>
-
-        <p>To setup your own git repo, edit the GIT_URI environment variable passed to your container, for example using Docker Compose:</p>
-        <pre class="code-block">
-    version: '2'
-      services:
-        jhipster-registry:
-          container_name: jhipster-registry
-          image: jhipster/jhipster-registry
-      volumes:
-        - ./ssh/:/root/.ssh/
-      environment:
-        - SPRING_PROFILES_ACTIVE=prod
-        - GIT_URI=git@github.com:jhipster/jhipster-registry.git
-        - GIT_SEARCH_PATHS=central-config
-      ports:
-        - 8761:8761
-        </pre>
-	</div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.ts
deleted file mode 100644
index 9e31a570cf68a408c7013f3c4b7781ef4bf40f7e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.component.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { JhiSSHService } from './ssh.service';
-
-@Component({
-    selector: 'jhi-applications',
-    templateUrl: './ssh.component.html',
-})
-export class JhiSSHComponent implements OnInit {
-    data: any;
-    showMore: boolean;
-
-    constructor(private sshService: JhiSSHService) {
-        this.showMore = true;
-    }
-
-    ngOnInit() {
-        this.sshService.getSshPublicKey().subscribe((response) => {
-            this.data = response;
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.route.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.route.ts
deleted file mode 100644
index d57a509a32ddb7d62f8300d9441a15ad6f7fb011..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.route.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Route } from '@angular/router';
-
-import { JhiSSHComponent } from './ssh.component';
-
-export const sshRoute: Route = {
-    path: 'ssh',
-    component: JhiSSHComponent,
-    data: {
-        pageTitle: 'SSH public key'
-    }
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.service.ts
deleted file mode 100644
index 90f248ad1b95078702e25df79230e4bc146e0fbd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/registry/ssh/ssh.service.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class JhiSSHService {
-
-    constructor(private http: Http) {}
-
-    getSshPublicKey(): Observable<any> {
-        return this.http.get('api/ssh/public_key').map((response: Response) => {
-            return response.text();
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert-error.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert-error.component.ts
deleted file mode 100644
index 5ceccb0e05396c6defc317bdef8fb8d51a79cb83..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert-error.component.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { Component, OnDestroy } from '@angular/core';
-import { EventManager, AlertService } from 'ng-jhipster';
-import { Subscription } from 'rxjs/Rx';
-
-@Component({
-    selector: 'jhi-alert-error',
-    template: `
-        <div class="alerts" role="alert">
-            <div *ngFor="let alert of alerts"  [ngClass]="{\'alert.position\': true, \'toast\': alert.toast}">
-                <ngb-alert type="{{alert.type}}" close="alert.close(alerts)"><pre [innerHTML]="alert.msg"></pre></ngb-alert>
-            </div>
-        </div>`
-})
-export class JhiAlertErrorComponent implements OnDestroy {
-
-    alerts: any[];
-    cleanHttpErrorListener: Subscription;
-
-    constructor(private alertService: AlertService, private eventManager: EventManager) {
-        this.alerts = [];
-
-        this.cleanHttpErrorListener = eventManager.subscribe('jHipsterRegistryApp.httpError', (response) => {
-            let i;
-            const httpResponse = response.content;
-            switch (httpResponse.status) {
-                // connection refused, server not reachable
-                case 0:
-                    this.addErrorAlert('Server not reachable', 'error.server.not.reachable');
-                    break;
-
-                case 400:
-                    const arr = Array.from(httpResponse.headers._headers);
-                    const headers = [];
-                    for (i = 0; i < arr.length; i++) {
-                        if (arr[i][0].endsWith('app-error') || arr[i][0].endsWith('app-params')) {
-                            headers.push(arr[i][0]);
-                        }
-                    }
-                    headers.sort();
-                    let errorHeader = null;
-                    let entityKey = null;
-                    if (headers.length > 1) {
-                        errorHeader = httpResponse.headers.get(headers[0]);
-                        entityKey = httpResponse.headers.get(headers[1]);
-                    }
-                    if (errorHeader) {
-                        const entityName = entityKey;
-                        this.addErrorAlert(errorHeader, errorHeader, { entityName });
-                    } else if (httpResponse.text() !== '' && httpResponse.json() && httpResponse.json().fieldErrors) {
-                        const fieldErrors = httpResponse.json().fieldErrors;
-                        for (i = 0; i < fieldErrors.length; i++) {
-                            const fieldError = fieldErrors[i];
-                            // convert 'something[14].other[4].id' to 'something[].other[].id' so translations can be written to it
-                            const convertedField = fieldError.field.replace(/\[\d*\]/g, '[]');
-                            const fieldName = convertedField.charAt(0).toUpperCase() +
-                                convertedField.slice(1);
-                            this.addErrorAlert(
-                                'Field ' + fieldName + ' cannot be empty', 'error.' + fieldError.message, { fieldName });
-                        }
-                    } else if (httpResponse.text() !== '' && httpResponse.json() && httpResponse.json().message) {
-                        this.addErrorAlert(httpResponse.json().message, httpResponse.json().message, httpResponse.json().params);
-                    } else {
-                        this.addErrorAlert(httpResponse.text());
-                    }
-                    break;
-
-                case 404:
-                    this.addErrorAlert('Not found', 'error.url.not.found');
-                    break;
-
-                default:
-                    if (httpResponse.text() !== '' && httpResponse.json() && httpResponse.json().message) {
-                        this.addErrorAlert(httpResponse.json().message);
-                    } else {
-                        this.addErrorAlert(httpResponse.text());
-                    }
-            }
-        });
-    }
-
-    ngOnDestroy() {
-        if (this.cleanHttpErrorListener !== undefined && this.cleanHttpErrorListener !== null) {
-            this.eventManager.destroy(this.cleanHttpErrorListener);
-            this.alerts = [];
-        }
-    }
-
-    addErrorAlert(message, key?, data?) {
-        this.alerts.push(
-            this.alertService.addAlert(
-                {
-                    type: 'danger',
-                    msg: message,
-                    timeout: 5000,
-                    toast: this.alertService.isToast(),
-                    scoped: true
-                },
-                this.alerts
-            )
-        );
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert.component.ts
deleted file mode 100644
index b8aa418ac581005d3fbe6a1c7ca703f6e875c45e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/alert/alert.component.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { AlertService } from 'ng-jhipster';
-
-@Component({
-    selector: 'jhi-alert',
-    template: `
-        <div class="alerts" role="alert">
-            <div *ngFor="let alert of alerts" [ngClass]="{\'alert.position\': true, \'toast\': alert.toast}">
-                <ngb-alert [type]="alert.type" (close)="alert.close(alerts)"><pre [innerHTML]="alert.msg"></pre></ngb-alert>
-            </div>
-        </div>`
-})
-export class JhiAlertComponent implements OnInit, OnDestroy {
-    alerts: any[];
-
-    constructor(private alertService: AlertService) { }
-
-    ngOnInit() {
-        this.alerts = this.alertService.get();
-    }
-
-    ngOnDestroy() {
-        this.alerts = [];
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/account.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/account.service.ts
deleted file mode 100644
index 6d21943d497f9e16d5916307e7c871056c272cce..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/account.service.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-@Injectable()
-export class AccountService  {
-    constructor(private http: Http) { }
-
-    get(): Observable<any> {
-        return this.http.get('api/account').map((res: Response) => res.json());
-    }
-
-    save(account: any): Observable<Response> {
-        return this.http.post('api/account', account);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/auth-jwt.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/auth-jwt.service.ts
deleted file mode 100644
index 8e93176e48b31500fd4232f7cc60de33201413f0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/auth-jwt.service.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response, Headers, URLSearchParams } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-import { LocalStorageService, SessionStorageService } from 'ng2-webstorage';
-
-@Injectable()
-export class AuthServerProvider {
-    constructor(
-        private http: Http,
-        private $localStorage: LocalStorageService,
-        private $sessionStorage: SessionStorageService
-    ) {}
-
-    getToken() {
-        return this.$localStorage.retrieve('authenticationToken') || this.$sessionStorage.retrieve('authenticationToken');
-    }
-
-    login(credentials): Observable<any> {
-
-        const data = {
-            username: credentials.username,
-            password: credentials.password,
-            rememberMe: credentials.rememberMe
-        };
-        return this.http.post('api/authenticate', data).map(authenticateSuccess.bind(this));
-
-        function authenticateSuccess(resp) {
-            const bearerToken = resp.headers.get('Authorization');
-            if (bearerToken && bearerToken.slice(0, 7) === 'Bearer ') {
-                const jwt = bearerToken.slice(7, bearerToken.length);
-                this.storeAuthenticationToken(jwt, credentials.rememberMe);
-                return jwt;
-            }
-        }
-    }
-
-    loginWithToken(jwt, rememberMe) {
-        if (jwt) {
-            this.storeAuthenticationToken(jwt, rememberMe);
-            return Promise.resolve(jwt);
-        } else {
-            return Promise.reject('auth-jwt-service Promise reject'); // Put appropriate error message here
-        }
-    }
-
-    storeAuthenticationToken(jwt, rememberMe) {
-        if (rememberMe) {
-            this.$localStorage.store('authenticationToken', jwt);
-        } else {
-            this.$sessionStorage.store('authenticationToken', jwt);
-        }
-    }
-
-    logout(): Observable<any> {
-        return new Observable((observer) => {
-            this.$localStorage.clear('authenticationToken');
-            this.$sessionStorage.clear('authenticationToken');
-            observer.complete();
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/csrf.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/csrf.service.ts
deleted file mode 100644
index 6f1064112a483d1efe65800cce9f329f9e8896cc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/csrf.service.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Injectable } from '@angular/core';
-import { CookieService } from 'angular2-cookie/core';
-
-@Injectable()
-export class CSRFService {
-
-    constructor(private cookieService: CookieService) {}
-
-    getCSRF(name?: string) {
-        name = `${name ? name : 'XSRF-TOKEN'}`;
-        return this.cookieService.get(name);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/has-any-authority.directive.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/has-any-authority.directive.ts
deleted file mode 100644
index 52d1fafaf6d537b12ecb8377b59b0158767128df..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/has-any-authority.directive.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
-import { Principal } from './principal.service';
-
-/**
- * @whatItDoes Conditionally includes an HTML element if current user has any
- * of the authorities passed as the `expression`.
- *
- * @howToUse
- * ```
- *     <some-element *jhiHasAnyAuthority="'ROLE_ADMIN'">...</some-element>
- *
- *     <some-element *jhiHasAnyAuthority="['ROLE_ADMIN', 'ROLE_USER']">...</some-element>
- * ```
- */
-@Directive({
-    selector: '[jhiHasAnyAuthority]'
-})
-export class HasAnyAuthorityDirective {
-
-    private authorities: string[];
-
-    constructor(private principal: Principal, private templateRef: TemplateRef<any>, private viewContainerRef: ViewContainerRef) {
-    }
-
-    @Input()
-    set jhiHasAnyAuthority(value: string|string[]) {
-        this.authorities = typeof value === 'string' ? [ <string> value ] : <string[]> value;
-        this.updateView();
-        // Get notified each time authentication state changes.
-        this.principal.getAuthenticationState().subscribe((identity) => this.updateView());
-    }
-
-    private updateView(): void {
-        this.principal.hasAnyAuthority(this.authorities).then((result) => {
-            this.viewContainerRef.clear();
-            if (result) {
-                this.viewContainerRef.createEmbeddedView(this.templateRef);
-            }
-        });
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/principal.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/principal.service.ts
deleted file mode 100644
index 79c4af6f40d1fdb456f87db64b8db6a7eac2a076..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/principal.service.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Observable } from 'rxjs/Observable';
-import { Subject } from 'rxjs/Subject';
-import { AccountService } from './account.service';
-
-@Injectable()
-export class Principal {
-    private userIdentity: any;
-    private authenticated = false;
-    private authenticationState = new Subject<any>();
-
-    constructor(
-        private account: AccountService
-    ) {}
-
-    authenticate(identity) {
-        this.userIdentity = identity;
-        this.authenticated = identity !== null;
-        this.authenticationState.next(this.userIdentity);
-    }
-
-    hasAnyAuthority(authorities: string[]): Promise<boolean> {
-        return Promise.resolve(this.hasAnyAuthorityDirect(authorities));
-    }
-
-    hasAnyAuthorityDirect(authorities: string[]): boolean {
-        if (!this.authenticated || !this.userIdentity || !this.userIdentity.authorities) {
-            return false;
-        }
-
-        for (let i = 0; i < authorities.length; i++) {
-            if (this.userIdentity.authorities.indexOf(authorities[i]) !== -1) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    hasAuthority(authority: string): Promise<boolean> {
-        if (!this.authenticated) {
-           return Promise.resolve(false);
-        }
-
-        return this.identity().then((id) => {
-            return Promise.resolve(id.authorities && id.authorities.indexOf(authority) !== -1);
-        }, () => {
-            return Promise.resolve(false);
-        });
-    }
-
-    identity(force?: boolean): Promise<any> {
-        if (force === true) {
-            this.userIdentity = undefined;
-        }
-
-        // check and see if we have retrieved the userIdentity data from the server.
-        // if we have, reuse it by immediately resolving
-        if (this.userIdentity) {
-            return Promise.resolve(this.userIdentity);
-        }
-
-        // retrieve the userIdentity data from the server, update the identity object, and then resolve.
-        return this.account.get().toPromise().then((account) => {
-            if (account) {
-                this.userIdentity = account;
-                this.authenticated = true;
-            } else {
-                this.userIdentity = null;
-                this.authenticated = false;
-            }
-            this.authenticationState.next(this.userIdentity);
-            return this.userIdentity;
-        }).catch((err) => {
-            this.userIdentity = null;
-            this.authenticated = false;
-            this.authenticationState.next(this.userIdentity);
-            return null;
-        });
-    }
-
-    isAuthenticated(): boolean {
-        return this.authenticated;
-    }
-
-    isIdentityResolved(): boolean {
-        return this.userIdentity !== undefined;
-    }
-
-    getAuthenticationState(): Observable<any> {
-        return this.authenticationState.asObservable();
-    }
-
-    getImageUrl(): String {
-        return this.isIdentityResolved() ? this.userIdentity.imageUrl : null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/state-storage.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/state-storage.service.ts
deleted file mode 100644
index 5453232909f703bb97deb44b6a688b88bd990554..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/state-storage.service.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Injectable } from '@angular/core';
-import { SessionStorageService } from 'ng2-webstorage';
-
-@Injectable()
-export class StateStorageService {
-    constructor(
-        private $sessionStorage: SessionStorageService
-    ) {}
-
-    getPreviousState() {
-        return this.$sessionStorage.retrieve('previousState');
-    }
-
-    resetPreviousState() {
-        this.$sessionStorage.clear('previousState');
-    }
-
-    storePreviousState(previousStateName, previousStateParams) {
-        const previousState = { 'name': previousStateName, 'params': previousStateParams };
-        this.$sessionStorage.store('previousState', previousState);
-    }
-
-    getDestinationState() {
-        return this.$sessionStorage.retrieve('destinationState');
-    }
-
-    storeUrl(url: string) {
-        this.$sessionStorage.store('previousUrl', url);
-    }
-
-    getUrl() {
-        return this.$sessionStorage.retrieve('previousUrl');
-    }
-
-    storeDestinationState(destinationState, destinationStateParams, fromState) {
-        const destinationInfo = {
-            'destination': {
-                'name': destinationState.name,
-                'data': destinationState.data,
-            },
-            'params': destinationStateParams,
-            'from': {
-                'name': fromState.name,
-            }
-        };
-        this.$sessionStorage.store('destinationState', destinationInfo);
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/user-route-access-service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/user-route-access-service.ts
deleted file mode 100644
index c50ce9fd4a834b8b1f94a62c187ac5501557db6a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/auth/user-route-access-service.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Injectable } from '@angular/core';
-import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
-
-import { Principal } from '../';
-import { LoginModalService } from '../login/login-modal.service';
-import { StateStorageService } from './state-storage.service';
-
-@Injectable()
-export class UserRouteAccessService implements CanActivate {
-
-    constructor(private router: Router,
-                private loginModalService: LoginModalService,
-                private principal: Principal,
-                private stateStorageService: StateStorageService) {
-    }
-
-    canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | Promise<boolean> {
-
-        const authorities = route.data['authorities'];
-        if (!authorities || authorities.length === 0) {
-            return true;
-        }
-
-        return this.checkLogin(authorities, state.url);
-    }
-
-    checkLogin(authorities: string[], url: string): Promise<boolean> {
-        const principal = this.principal;
-        return Promise.resolve(principal.identity().then((account) => {
-
-            if (account && principal.hasAnyAuthorityDirect(authorities)) {
-                return true;
-            }
-
-            this.stateStorageService.storeUrl(url);
-            this.router.navigate(['accessdenied']).then(() => {
-                // only show the login dialog, if the user hasn't logged in yet
-                if (!account) {
-                    this.loginModalService.open();
-                }
-            });
-            return false;
-        }));
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/constants/pagination.constants.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/constants/pagination.constants.ts
deleted file mode 100644
index a148d4579ba322f3a95a0af2a5d080c6b246efee..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/constants/pagination.constants.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const ITEMS_PER_PAGE = 20;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/index.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/index.ts
deleted file mode 100644
index e4a69dde5e4816f8d3b876c3ca78e6fb655dc967..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/index.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export * from './constants/pagination.constants';
-export * from './alert/alert.component';
-export * from './alert/alert-error.component';
-export * from './auth/csrf.service';
-export * from './auth/state-storage.service';
-export * from './auth/account.service';
-export * from './auth/auth-jwt.service';
-export * from './auth/principal.service';
-export * from './auth/has-any-authority.directive';
-export * from './auth/user-route-access-service';
-export * from './login/login.component';
-export * from './login/login.service';
-export * from './login/login-modal.service';
-export * from './user/account.model';
-export * from './user/user.model';
-export * from './user/user.service';
-export * from './routes/route.model';
-export * from './routes/route-selector.component';
-export * from './routes/routes.service';
-export * from './refresh/refresh-selector.component';
-export * from './refresh/refresh.service';
-export * from './shared-libs.module';
-export * from './shared-common.module';
-export * from './shared.module';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login-modal.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login-modal.service.ts
deleted file mode 100644
index 3cae558def528c70b6156df473c747a8b1609059..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login-modal.service.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Injectable } from '@angular/core';
-import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
-
-import { JhiLoginModalComponent } from './login.component';
-
-@Injectable()
-export class LoginModalService {
-    private isOpen = false;
-    constructor(
-        private modalService: NgbModal,
-    ) {}
-
-    open(): NgbModalRef {
-        if (this.isOpen) {
-            return;
-        }
-        this.isOpen = true;
-        const modalRef = this.modalService.open(JhiLoginModalComponent, {
-            container: 'nav'
-        });
-        modalRef.result.then((result) => {
-            this.isOpen = false;
-        }, (reason) => {
-            this.isOpen = false;
-        });
-        return modalRef;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.html
deleted file mode 100644
index f9cc81d23bb90bcdb88b3b9b6074e40069b84225..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<div class="modal-header">
-    <h4 class="modal-title">Sign in</h4>
-    <button aria-label="Close" data-dismiss="modal" class="close" type="button" (click)="activeModal.dismiss('closed')"><span aria-hidden="true">x</span>
-    </button>
-</div>
-<div class="modal-body">
-    <div class="row">
-        <div class="col-md-4 offset-md-4">
-            <h1>Sign in</h1>
-        </div>
-        <div class="col-md-8 offset-md-2">
-            <div class="alert alert-danger" *ngIf="authenticationError">
-                <strong>Failed to sign in!</strong> Please check your credentials and try again.
-            </div>
-        </div>
-        <div class="col-md-8 offset-md-2">
-            <form class="form" role="form" (ngSubmit)="login()">
-                <div class="form-group">
-                    <label for="username">Login</label>
-                    <input type="text" class="form-control" name="username" id="username" placeholder="Your username"
-                    [(ngModel)]="username">
-                </div>
-                <div class="form-group">
-                    <label for="password">Password</label>
-                    <input type="password" class="form-control" name="password" id="password" placeholder="Your password"
-                           [(ngModel)]="password">
-                </div>
-                <div class="form-check">
-                    <label class="form-check-label" for="rememberMe">
-                        <input class="form-check-input" type="checkbox" name="rememberMe" id="rememberMe" [(ngModel)]="rememberMe" checked>
-                        <span>Remember me</span>
-                    </label>
-                </div>
-                <button type="submit" class="btn btn-primary">Sign in</button>
-            </form>
-            <p></p>
-            <div class="alert alert-warning">
-                <a class="alert-link" (click)="requestResetPassword()">Did you forget your password?</a>
-            </div>
-            <div class="alert alert-warning">
-            	<span>You don't have an account yet?</span>
-                <a class="alert-link" (click)="register()">Register a new account</a>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.ts
deleted file mode 100644
index 2d61b96970825ec6f167b26dde0043f40db7d66f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.component.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component, OnInit, AfterViewInit, Renderer, ElementRef } from '@angular/core';
-import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
-import { Router } from '@angular/router';
-import { EventManager } from 'ng-jhipster';
-
-import { LoginService } from './login.service';
-import { StateStorageService } from '../auth/state-storage.service';
-
-@Component({
-    selector: 'jhi-login-modal',
-    templateUrl: './login.component.html'
-})
-export class JhiLoginModalComponent implements OnInit, AfterViewInit {
-    authenticationError: boolean;
-    password: string;
-    rememberMe: boolean;
-    username: string;
-    credentials: any;
-
-    constructor(
-        private eventManager: EventManager,
-        private loginService: LoginService,
-        private stateStorageService: StateStorageService,
-        private elementRef: ElementRef,
-        private renderer: Renderer,
-        private router: Router,
-        public activeModal: NgbActiveModal
-    ) {
-        this.credentials = {};
-    }
-
-    ngOnInit() {
-    }
-
-    ngAfterViewInit() {
-        this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#username'), 'focus', []);
-    }
-
-    cancel() {
-        this.credentials = {
-            username: null,
-            password: null,
-            rememberMe: true
-        };
-        this.authenticationError = false;
-        this.activeModal.dismiss('cancel');
-    }
-
-    login() {
-        this.loginService.login({
-            username: this.username,
-            password: this.password,
-            rememberMe: this.rememberMe
-        }).then(() => {
-            this.authenticationError = false;
-            this.activeModal.dismiss('login success');
-            if (this.router.url === '/register' || (/activate/.test(this.router.url)) ||
-                this.router.url === '/finishReset' || this.router.url === '/requestReset') {
-                this.router.navigate(['']);
-            }
-
-            this.eventManager.broadcast({
-                name: 'authenticationSuccess',
-                content: 'Sending Authentication Success'
-            });
-
-            // // previousState was set in the authExpiredInterceptor before being redirected to login modal.
-            // // since login is succesful, go to stored previousState and clear previousState
-            const redirect = this.stateStorageService.getUrl();
-            if (redirect) {
-                this.router.navigate([redirect]);
-            }
-        }).catch(() => {
-            this.authenticationError = true;
-        });
-    }
-
-    register() {
-        this.activeModal.dismiss('to state register');
-        this.router.navigate(['/register']);
-    }
-
-    requestResetPassword() {
-        this.activeModal.dismiss('to state requestReset');
-        this.router.navigate(['/reset', 'request']);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.service.ts
deleted file mode 100644
index c946e9b004091c9999f70ff8da6691db5bb27fbc..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/login/login.service.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Injectable } from '@angular/core';
-
-import { Principal } from '../auth/principal.service';
-import { AuthServerProvider } from '../auth/auth-jwt.service';
-
-@Injectable()
-export class LoginService {
-
-    constructor(
-        private principal: Principal,
-        private authServerProvider: AuthServerProvider
-    ) {}
-
-    login(credentials, callback?) {
-        const cb = callback || function() {};
-
-        return new Promise((resolve, reject) => {
-            this.authServerProvider.login(credentials).subscribe((data) => {
-                this.principal.identity(true).then((account) => {
-                    resolve(data);
-                });
-                return cb();
-            }, (err) => {
-                this.logout();
-                reject(err);
-                return cb(err);
-            });
-        });
-    }
-
-    loginWithToken(jwt, rememberMe) {
-        return this.authServerProvider.loginWithToken(jwt, rememberMe);
-    }
-
-    logout() {
-        this.authServerProvider.logout().subscribe();
-        this.principal.authenticate(null);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/pipe/group-by.pipe.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/pipe/group-by.pipe.ts
deleted file mode 100644
index ede1c0731e7e5b70ccfbd4d2e7afd73ccb5b29b4..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/pipe/group-by.pipe.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core';
-
-@Pipe({
-    name: 'groupBy'
-})
-export class GroupByPipe implements PipeTransform {
-
-    transform(collection: Object[] , term: string) {
-        const newValue = [];
-
-        collection.forEach((col) => {
-            const keyVal = this.deepFind(col, term);
-            const index = newValue.findIndex( (myObj) => myObj.key === keyVal);
-            if (index >= 0) {
-                newValue[index].value.push(col);
-            } else {
-                newValue.push({key: keyVal, value: [col]});
-            }
-        });
-        return newValue;
-    }
-
-    private deepFind(obj, path) {
-        const paths = path.toString().split(/[.\[\]]/);
-        let current = obj;
-
-        paths.forEach((onePath) => {
-            if (onePath !== '') {
-                if (!current[onePath]) {
-                    return undefined;
-                } else {
-                    current = current[onePath];
-                }
-            }
-        });
-        return current;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.html
deleted file mode 100644
index cdc3f92547a1bf70809927faff287c0f705a81dd..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="dropdown" ngbDropdown>
-    <button class="btn btn-outline-primary times" [ngClass]="classTime()" id="refreshMenu" ngbDropdownToggle>
-        &nbsp; <span class="times-text" [innerHTML]="getActiveRefreshTime()"></span>
-    </button>
-    <div class="dropdown-menu" aria-labelledby="refreshMenu" aria-expanded="true">
-        <span class="dropdown-header">Refresh times (in seconds)</span>
-        <div *ngFor="let time of refreshTimes">
-            <button class="dropdown-item" (click)="setActiveRefreshTime(time);" [ngClass]="stateTime(time)">
-                <span *ngIf="time > 0; else disabledTemplate">{{time}}</span>
-                <ng-template #disabledTemplate>disabled</ng-template>
-            </button>
-        </div>
-        <div class="dropdown-divider"></div>
-        <button class="dropdown-item manual-refresh" (click)="manualRefresh()">
-            Refresh now &nbsp;<span class="fa fa-refresh"></span>
-        </button>
-    </div>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.scss
deleted file mode 100644
index d1bedcc2e6ca2cc3fd95bb85c227b8593b0cae88..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-/* ==========================================================================
-Refresh selector styles
-========================================================================== */
-
-.dropdown {
-    .times {
-        font-weight: normal;
-        line-height: 1.25;
-        .times-text {
-            font-family: sans-serif;
-        }
-    }
-    .dropdown-menu {
-        border-color: darkgrey;
-        .dropdown-item { /* refresh times */
-            word-break: break-all;
-            &:hover {
-                color: #fff;
-                background-color: #80bed8;
-            }
-            &:active {
-                color: #fff;
-                background-color: #0275d8;
-            }
-            &.manual-refresh {
-                display: initial;
-            }
-        }
-        .dropdown-divider {
-            background-color: #dcdcdc;
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.ts
deleted file mode 100644
index fd4bd7186e963969707e14c3f7f91982712b8cb9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh-selector.component.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-import { Component, OnInit, OnDestroy, Input } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-
-import { Observable } from 'rxjs/Observable';
-import { JhiRefreshService } from './refresh.service';
-
-@Component({
-    selector: 'jhi-refresh-selector',
-    templateUrl: './refresh-selector.component.html',
-    styleUrls: [
-        'refresh-selector.component.scss'
-    ]
-})
-export class JhiRefreshSelectorComponent implements OnInit, OnDestroy {
-
-    activeRefreshTime: number;
-    refreshTimes: number[];
-    refreshTimer: Subscription;
-    refreshChangedSubscription: Subscription;
-
-    constructor(
-        private refreshService: JhiRefreshService,
-    ) {
-        this.refreshTimes = [0, 5, 10, 30, 60, 300];
-        this.activeRefreshTime = this.refreshTimes[0];
-    }
-
-    ngOnInit() {
-        this.activeRefreshTime = this.refreshService.getSelectedRefreshTime();
-        this.refreshChangedSubscription = this.refreshService.refreshChanged$.subscribe((empty) => this.launchTimer(true));
-        this.launchTimer(false);
-    }
-
-    ngOnDestroy() {
-        /** prevent memory leak when component destroyed **/
-        this.refreshChangedSubscription.unsubscribe();
-        if (this.refreshTimer) {
-            this.refreshTimer.unsubscribe();
-        }
-    }
-
-    manualRefresh() {
-        this.refreshService.refreshReload();
-    }
-
-    /** Change active time only if exists, else 0 **/
-    setActiveRefreshTime(time: number) {
-        if (time && this.refreshTimes.findIndex((t) => t === time) !== -1) {
-            this.activeRefreshTime = time;
-        } else {
-            this.activeRefreshTime = this.refreshTimes[0];
-        }
-        this.refreshService.storeSelectedRefreshTime(time);
-        this.refreshService.refreshChanged();
-    }
-
-    /** Init the timer **/
-    subscribe() {
-        if (this.activeRefreshTime && this.activeRefreshTime > 0) {
-            this.refreshTimer = Observable.interval(this.activeRefreshTime * 1000).subscribe(() => {
-                this.refreshService.refreshReload();
-            });
-        }
-    }
-
-    /** Launch (or relaunch if true) the timer. **/
-    launchTimer(relaunch: boolean) {
-        if (relaunch && this.refreshTimer) {
-            this.refreshTimer.unsubscribe();
-        }
-        this.subscribe();
-    }
-
-    /* ==========================================================================
-                                        UI PART
-     ========================================================================== */
-
-    classTime(): string {
-        if (this.activeRefreshTime <= 0) {
-            return 'fa fa-pause';
-        }
-        return 'fa fa-repeat';
-    }
-
-    stateTime(time: number): string {
-        if (time === this.activeRefreshTime) {
-            return 'active';
-        }
-    }
-
-    getActiveRefreshTime(): string {
-        if (this.activeRefreshTime <= 0) {
-            return 'disabled';
-        }
-        return this.activeRefreshTime + ' sec.';
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh.service.ts
deleted file mode 100644
index f93bfa4dfab12f33233da7621d7c4cf7f28e8f9d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/refresh/refresh.service.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-import { Subject } from 'rxjs/Subject';
-import { SessionStorageService } from 'ng2-webstorage';
-
-@Injectable()
-export class JhiRefreshService {
-
-    // Observable sources
-    private refreshChangedSource = new Subject<any>();
-    private refreshReloadSource = new Subject<any>();
-    refreshChanged$: Observable<any>;
-    refreshReload$: Observable<any>;
-
-    constructor(
-        private http: Http,
-        private sessionStorage: SessionStorageService
-    ) {
-        this.refreshChanged$ = this.refreshChangedSource.asObservable();
-        this.refreshReload$ = this.refreshReloadSource.asObservable();
-    }
-
-    refreshChanged() {
-        this.refreshChangedSource.next();
-    }
-
-    refreshReload() {
-        this.refreshReloadSource.next();
-    }
-
-    getSelectedRefreshTime(): number {
-        return this.sessionStorage.retrieve('refreshTime');
-    }
-
-    storeSelectedRefreshTime(time: number) {
-        this.sessionStorage.store('refreshTime', time);
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.html
deleted file mode 100644
index 4bf7873733c093d78159c23836cb027f564721e7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<div class="route-selector col-xl-12 d-inline-flex" *ngIf="routes">
-
-    <div class="dropdown" ngbDropdown #dropId="ngbDropdown">
-        <button class="btn btn-outline-primary" id="sortMenu" ngbDropdownToggle [innerHTML]="getActiveRoute()"></button>
-        <div class="dropdown-menu" aria-labelledby="sortMenu" aria-expanded="true" (click)="$event.stopPropagation()">
-            <p class="d-flex">
-                <input type="search" class="form-control d-flex search" placeholder="Search an application..."
-                       [(ngModel)]="searchedInstance" (click)="$event.stopPropagation()" (input)="searchByAppName($event)">
-            </p>
-            <div *ngFor="let app of routes | groupBy : 'appName'">
-                <span class="dropdown-header" (click)="$event.stopPropagation()">{{app.key}}</span>
-                <button class="dropdown-item" *ngFor="let route of app.value"
-                        (click)="setActiveRoute(route); closeDropDown(dropId);" [ngClass]="state(route)">
-
-                    <span>{{route.appName | uppercase}} {{route.serviceId ? '(' + route.serviceId + ')' : '' }}</span>
-                    <span class="badge badge-pill font-weight-normal" [ngClass]="getBadgeClassRoute(route)">
-                        {{route.status}}
-                    </span>
-                </button>
-            </div>
-        </div>
-    </div>
-
-    <jhi-refresh-selector></jhi-refresh-selector>
-
-    <p *ngIf="updatingRoutes && (!routes || routes.length == 0)">Loading...</p>
-</div>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.scss
deleted file mode 100644
index 68d1f62a77cba69551a4085279198c394f212a9a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-/* ==========================================================================
-Route selector styles
-========================================================================== */
-
-.route-selector {
-    margin-top: 1%;
-    margin-bottom: 2%;
-    padding-left: 0;
-    .dropdown {
-        margin-right: 10px;
-        .dropdown-menu {
-            border-color: darkgrey;
-            .search {
-                margin: auto 10px;
-            }
-            .dropdown-item { /* routes names */
-                margin-right: 0.5rem;
-                word-break: break-all;
-                display: block;
-                display: -webkit-flex;
-                justify-content: space-between;
-                &:hover {
-                    color: #fff;
-                    background-color: #80bed8;
-                }
-                &:active {
-                    color: #fff;
-                    background-color: #0275d8;
-                }
-                .badge { /** vertically center badges */
-                    margin: auto 0;
-                }
-                &.disabled { /** disable DOWN instances **/
-                    pointer-events: none;
-                }
-            }
-        }
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.ts
deleted file mode 100644
index af4e270fe05b901e5f4df7fb7d0db952a462b867..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route-selector.component.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
-import { Subscription } from 'rxjs/Subscription';
-
-import { JhiRoutesService } from './routes.service';
-import { Route } from './route.model';
-import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';
-import { JhiRefreshService } from '../refresh/refresh.service';
-
-@Component({
-    selector: 'jhi-route-selector',
-    templateUrl: './route-selector.component.html',
-    styleUrls: [
-        'route-selector.component.scss'
-    ]
-})
-export class JhiRouteSelectorComponent implements OnInit, OnDestroy {
-
-    activeRoute: Route;
-    routes: Route[];
-    savedRoutes: Route[];
-    updatingRoutes: boolean;
-    searchedInstance = '';
-    routeReloadSubscription: Subscription;
-    routeDownSubscription: Subscription;
-
-    refreshReloadSubscription: Subscription;
-
-    constructor(
-        private routesService: JhiRoutesService,
-        private refreshService: JhiRefreshService
-    ) {}
-
-    ngOnInit() {
-        this.activeRoute = this.routesService.getSelectedInstance();
-
-        this.updateRoute();
-        this.refreshReloadSubscription = this.refreshService.refreshReload$.subscribe((reload) => this.updateRoute());
-        this.routeReloadSubscription = this.routesService.routeReload$.subscribe((reload) => this.updateRoute());
-        this.routeDownSubscription = this.routesService.routeDown$.subscribe((route) => {
-            this.downRoute(route);
-            this.setActiveRoute(null);
-        });
-    }
-
-    ngOnDestroy() {
-        /** prevent memory leak when component destroyed **/
-        this.routeReloadSubscription.unsubscribe();
-        this.routeDownSubscription.unsubscribe();
-        this.refreshReloadSubscription.unsubscribe();
-    }
-
-    /** Change active route only if exists, else choose Registry **/
-    setActiveRoute(instance: Route) {
-        if (instance && this.routes && this.routes.findIndex((r) => r.appName === instance.appName) !== -1) {
-            this.activeRoute = instance;
-        } else if (this.routes && this.routes.length > 0) {
-            this.activeRoute = this.routes[0];
-        }
-        this.routesService.storeSelectedInstance(this.activeRoute);
-        this.routesService.routeChange(this.activeRoute);
-    }
-
-    private updateRoute() {
-        this.updatingRoutes = true;
-        this.routesService.findAll().subscribe((routes) => {
-            this.savedRoutes = routes;
-            this.routes = routes;
-            this.searchedInstance = '';
-
-            if (this.activeRoute) { /** in case of new refresh call **/
-                this.setActiveRoute(this.activeRoute);
-            } else if (routes.length > 0) {
-                this.setActiveRoute(routes[0]);
-            }
-            this.updatingRoutes = false;
-        }, (error) => {
-            if (error.status === 503 || error.status === 500 || error.status === 404) {
-                if (error.status === 500 || error.status === 404) {
-                    this.downRoute(this.activeRoute);
-                    this.setActiveRoute(null);
-                }
-                this.updatingRoutes = false;
-            }
-        });
-    }
-
-    private downRoute(instance: Route) {
-        if (instance) {
-            instance.status = 'DOWN';
-        }
-    }
-
-    /* ==========================================================================
-                                        UI PART
-     ========================================================================== */
-
-    getActiveRoute() {
-        return this.activeRoute.serviceId ? this.activeRoute.serviceId.toUpperCase() : this.activeRoute.appName.toUpperCase();
-    }
-
-    getBadgeClassRoute(route: Route) {
-        if (route && !route.status) {
-            route.status = 'UP';
-        }
-        return this.getBadgeClass(route.status);
-    }
-
-    private getBadgeClass(statusState) {
-        if (statusState && (statusState === 'UP' || statusState.toLowerCase() === 'starting')) {
-            return 'badge-success';
-        } else {
-            return 'badge-danger';
-        }
-    }
-
-    state(route: Route) {
-        if (route && route.status && route.status === 'DOWN') {
-            return 'disabled';
-        } else if (route && route.serviceId === this.activeRoute.serviceId) {
-            return 'active';
-        }
-    }
-
-    searchByAppName() {
-        if (this.searchedInstance === '') {
-            this.routes = this.savedRoutes;
-        } else {
-            this.routes = this.savedRoutes.filter((route) => {
-                return route.appName.includes(this.searchedInstance);
-            });
-        }
-    }
-
-    /**
-     * Close the dropdown element.
-     * The dropdown can be closed directly in the HTML, but cause the warning
-     * ("The method "drop" that you're trying to access does not exist in the class declaration.").
-     * @param dropdown
-     */
-    closeDropDown(dropdown: NgbDropdown) {
-        if (dropdown) {
-            dropdown.close();
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route.model.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route.model.ts
deleted file mode 100644
index 521d64c76eb60287ecc1d9616e78ee0272640f2d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/route.model.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export class Route {
-    constructor(
-        public path: string,
-        public prefix: string,
-        public appName: string,
-        public status: string,
-        public serviceId: string,
-        public serviceInstances: any[]
-    ) { }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/routes.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/routes.service.ts
deleted file mode 100644
index bcc9c710247fe1033f2d2067c62d08ffb0dfa2cf..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/routes/routes.service.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-import { Subject } from 'rxjs/Subject';
-import { Route } from './route.model';
-import { SessionStorageService } from 'ng2-webstorage';
-
-@Injectable()
-export class JhiRoutesService {
-
-    // Observable sources
-    private routeChangedSource = new Subject<Route>();
-    private routeDownSource = new Subject<Route>();
-    private routeReloadSource = new Subject<boolean>();
-    routeChanged$: Observable<Route>;
-    routeDown$: Observable<Route>;
-    routeReload$: Observable<boolean>;
-
-    constructor(
-        private http: Http,
-        private sessionStorage: SessionStorageService
-    ) {
-        this.routeChanged$ = this.routeChangedSource.asObservable();
-        this.routeDown$ = this.routeDownSource.asObservable();
-        this.routeReload$ = this.routeReloadSource.asObservable();
-    }
-
-    findAll(): Observable<Route[]> {
-        return this.http.get('/api/routes').map((res: Response) => res.json());
-    }
-
-    routeChange(route: Route) {
-        this.routeChangedSource.next(route);
-    }
-
-    reloadRoutes() {
-        this.routeReloadSource.next(true);
-    }
-
-    routeDown(route: Route) {
-        this.routeDownSource.next(route);
-    }
-
-    getSelectedInstance() {
-        return this.sessionStorage.retrieve('instanceId');
-    }
-
-    storeSelectedInstance(instance) {
-        this.sessionStorage.store('instanceId', instance);
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-common.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-common.module.ts
deleted file mode 100644
index 9395144fef0f8ed8647f96b009cea8e2e7b9a689..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-common.module.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { NgModule, Sanitizer } from '@angular/core';
-import { Title } from '@angular/platform-browser';
-import { AlertService } from 'ng-jhipster';
-import { GroupByPipe } from './pipe/group-by.pipe';
-import {
-    JHipsterRegistrySharedLibsModule,
-    JhiAlertComponent,
-    JhiAlertErrorComponent,
-    JhiRouteSelectorComponent,
-    JhiRefreshSelectorComponent
-} from './';
-
-export function alertServiceProvider(sanitizer: Sanitizer) {
-    // set below to true to make alerts look like toast
-    const isToast = false;
-    return new AlertService(sanitizer, isToast);
-}
-
-@NgModule({
-    imports: [
-        JHipsterRegistrySharedLibsModule
-    ],
-    declarations: [
-        JhiAlertComponent,
-        JhiAlertErrorComponent,
-        JhiRouteSelectorComponent,
-        JhiRefreshSelectorComponent,
-        GroupByPipe
-    ],
-    providers: [
-        {
-            provide: AlertService,
-            useFactory: alertServiceProvider,
-            deps: [Sanitizer]
-        },
-        Title
-    ],
-    exports: [
-        JHipsterRegistrySharedLibsModule,
-        JhiAlertComponent,
-        JhiAlertErrorComponent,
-        JhiRouteSelectorComponent,
-        JhiRefreshSelectorComponent,
-        GroupByPipe
-    ]
-})
-export class JHipsterRegistrySharedCommonModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-libs.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-libs.module.ts
deleted file mode 100644
index 3ef0c8d03363a5014f53692d4cd3065706ec49c9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared-libs.module.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { NgModule } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { HttpModule } from '@angular/http';
-import { CommonModule } from '@angular/common';
-import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
-import { NgJhipsterModule } from 'ng-jhipster';
-import { InfiniteScrollModule } from 'ngx-infinite-scroll';
-
-@NgModule({
-    imports: [
-        NgbModule.forRoot(),
-        NgJhipsterModule.forRoot({
-        }),
-        InfiniteScrollModule
-    ],
-    exports: [
-        FormsModule,
-        HttpModule,
-        CommonModule,
-        NgbModule,
-        NgJhipsterModule,
-        InfiniteScrollModule
-    ]
-})
-export class JHipsterRegistrySharedLibsModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared.module.ts
deleted file mode 100644
index 988c91524efb6780660e2508e31c923eb8367528..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/shared.module.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { DatePipe } from '@angular/common';
-import { CookieService } from 'angular2-cookie/services/cookies.service';
-
-import {
-    JHipsterRegistrySharedLibsModule,
-    JHipsterRegistrySharedCommonModule,
-    CSRFService,
-    AuthServerProvider,
-    AccountService,
-    UserService,
-    StateStorageService,
-    LoginService,
-    LoginModalService,
-    Principal,
-    HasAnyAuthorityDirective,
-    JhiLoginModalComponent,
-    JhiRoutesService,
-    JhiRefreshService
-} from './';
-
-@NgModule({
-    imports: [
-        JHipsterRegistrySharedLibsModule,
-        JHipsterRegistrySharedCommonModule
-    ],
-    declarations: [
-        JhiLoginModalComponent,
-        HasAnyAuthorityDirective
-    ],
-    providers: [
-        JhiRoutesService,
-        JhiRefreshService,
-        CookieService,
-        LoginService,
-        LoginModalService,
-        AccountService,
-        StateStorageService,
-        Principal,
-        CSRFService,
-        AuthServerProvider,
-        UserService,
-        DatePipe
-    ],
-    entryComponents: [JhiLoginModalComponent],
-    exports: [
-        JHipsterRegistrySharedCommonModule,
-        JhiLoginModalComponent,
-        HasAnyAuthorityDirective,
-        DatePipe
-    ],
-    schemas: [CUSTOM_ELEMENTS_SCHEMA]
-
-})
-export class JHipsterRegistrySharedModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/account.model.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/account.model.ts
deleted file mode 100644
index c8b9750760399e69e43a0214321c2cca9c4101a5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/account.model.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export class Account {
-    constructor(
-        public activated: boolean,
-        public authorities: string[],
-        public email: string,
-        public firstName: string,
-        public langKey: string,
-        public lastName: string,
-        public login: string,
-        public imageUrl: string
-    ) { }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.model.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.model.ts
deleted file mode 100644
index ce76a51063a6c6b668a6ca8e819dd66c0e037ea9..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.model.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-export class User {
-    public id?: any;
-    public login?: string;
-    public firstName?: string;
-    public lastName?: string;
-    public email?: string;
-    public activated?: Boolean;
-    public langKey?: string;
-    public authorities?: any[];
-    public createdBy?: string;
-    public createdDate?: Date;
-    public lastModifiedBy?: string;
-    public lastModifiedDate?: Date;
-    public password?: string;
-
-    constructor(
-        id?: any,
-        login?: string,
-        firstName?: string,
-        lastName?: string,
-        email?: string,
-        activated?: Boolean,
-        langKey?: string,
-        authorities?: any[],
-        createdBy?: string,
-        createdDate?: Date,
-        lastModifiedBy?: string,
-        lastModifiedDate?: Date,
-        password?: string
-    ) {
-        this.id = id ? id : null;
-        this.login = login ? login : null;
-        this.firstName = firstName ? firstName : null;
-        this.lastName = lastName ? lastName : null;
-        this.email = email ? email : null;
-        this.activated = activated ? activated : false;
-        this.langKey = langKey ? langKey : null;
-        this.authorities = authorities ? authorities : null;
-        this.createdBy = createdBy ? createdBy : null;
-        this.createdDate = createdDate ? createdDate : null;
-        this.lastModifiedBy = lastModifiedBy ? lastModifiedBy : null;
-        this.lastModifiedDate = lastModifiedDate ? lastModifiedDate : null;
-        this.password = password ? password : null;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.service.ts
deleted file mode 100644
index 157e52ff03211b4f55f8e70046e6ccb1b63078b1..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/shared/user/user.service.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Injectable } from '@angular/core';
-import { Http, Response, URLSearchParams } from '@angular/http';
-import { Observable } from 'rxjs/Rx';
-
-import { User } from './user.model';
-
-@Injectable()
-export class UserService {
-    private resourceUrl = 'api/users';
-
-    constructor(private http: Http) { }
-
-    create(user: User): Observable<Response> {
-        return this.http.post(this.resourceUrl, user);
-    }
-
-    update(user: User): Observable<Response> {
-        return this.http.put(this.resourceUrl, user);
-    }
-
-    find(login: string): Observable<User> {
-        return this.http.get(`${this.resourceUrl}/${login}`).map((res: Response) => res.json());
-    }
-
-    query(req?: any): Observable<Response> {
-        const params: URLSearchParams = new URLSearchParams();
-        if (req) {
-            params.set('page', req.page);
-            params.set('size', req.size);
-            if (req.sort) {
-                params.paramsMap.set('sort', req.sort);
-            }
-        }
-
-        const options = {
-            search: params
-        };
-
-        return this.http.get(this.resourceUrl, options);
-    }
-
-    delete(login: string): Observable<Response> {
-        return this.http.delete(`${this.resourceUrl}/${login}`);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/vendor.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/vendor.ts
deleted file mode 100644
index 5782292a07a8e9e1568d65ee700da3e75ae1dab6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/app/vendor.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-/* after changing this file run 'yarn run webpack:build:vendor' or 'yarn install' or 'yarn run webpack:build' */
-/* tslint:disable */
-import '../content/scss/vendor.scss';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster.png
deleted file mode 100644
index 141778d482528a8c6636d56d6683f74b21a34394..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster2x.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster2x.png
deleted file mode 100644
index 4751c91680c4ecb0fab13de77eee534be6cc2285..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/hipster2x.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/logo-jhipster.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/logo-jhipster.png
deleted file mode 100644
index d8eb48da05c157571eed9fd7303f8d9566f2ea12..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/images/logo-jhipster.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/global.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/global.scss
deleted file mode 100644
index 1c22f100edd5edf3209d5e23d25d92aca1cb9de2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/global.scss
+++ /dev/null
@@ -1,239 +0,0 @@
-
-/* ==============================================================
-Bootstrap tweaks
-===============================================================*/
-
-body, h1, h2, h3, h4 {
-    font-weight: 300;
-}
-
-
-/* ==========================================================================
-Browser Upgrade Prompt
-========================================================================== */
-.browserupgrade {
-    margin: 0.2em 0;
-    background: #ccc;
-    color: #000;
-    padding: 0.2em 0;
-}
-
-/* ==========================================================================
-Generic styles
-========================================================================== */
-
-/* Error highlight on input fields */
-.ng-valid[required], .ng-valid.required  {
-  border-left: 5px solid green;
-}
-
-.ng-invalid:not(form)  {
-  border-left: 5px solid red;
-}
-
-/* other generic styles */
-
-.jh-card {
-    padding: 1.5%;
-    margin-top: 20px;
-    border: none;
-}
-
-.pad {
-    padding: 10px;
-}
-
-.head {
-    margin-bottom: 1%;
-}
-
-.bottom {
-    margin-top: 2%;
-}
-
-.w-40 {
-    width: 40% !important;
-}
-
-.w-60 {
-    width: 60% !important;
-}
-
-.break {
-    white-space: normal;
-    word-break:break-all;
-}
-
-pre.code-block {
-    padding: 10px;
-    background: #403d3d;
-    color: rgb(241, 187, 90);
-    border-radius: 5px;
-}
-
-.refresh-left-side {
-    .dropdown-menu {
-        left: initial;
-        right: 0;
-    }
-}
-
-/*FIXME this is to support grids in table class; */
-table td[class*=col-], table th[class*=col-] {
-    position: static;
-    display: table-cell;
-    float: none;
-}
-
-.footer {
-    border-top: 1px solid rgba(0,0,0,.125);
-}
-
-/* ==========================================================================
-make sure browsers use the pointer cursor for anchors, even with no href
-========================================================================== */
-a:hover {
-    cursor: pointer;
-}
-
-.hand {
-    cursor: pointer;
-}
-
-/* ==========================================================================
-Custom alerts for notification
-========================================================================== */
-.alerts {
-    .alert {
-        text-overflow: ellipsis;
-        pre{
-            background: none;
-            border: none;
-            font: inherit;
-            color: inherit;
-            padding: 0;
-            margin: 0;
-        }
-        .popover pre {
-            font-size: 10px;
-        }
-    }
-    .toast {
-        position: fixed;
-        width: 100%;
-        &.left {
-            left: 5px;
-        }
-        &.right {
-            right: 5px;
-        }
-        &.top {
-            top: 55px;
-        }
-        &.bottom {
-            bottom: 55px;
-        }
-    }
-}
-
-@media screen and (min-width: 480px) {
-    .alerts .toast {
-        width: 50%;
-    }
-}
-
-/* ==========================================================================
-entity tables helpers
-========================================================================== */
-
-/* Remove Bootstrap padding from the element
-   http://stackoverflow.com/questions/19562903/remove-padding-from-columns-in-bootstrap-3 */
-@mixin no-padding($side) {
-    @if $side == 'all' {
-        .no-padding {
-            padding: 0 !important;
-        }
-    } @else {
-        .no-padding-#{$side} {
-            padding-#{$side}: 0 !important;
-        }
-    }
-}
-@include no-padding("left");
-@include no-padding("right");
-@include no-padding("top");
-@include no-padding("bottom");
-@include no-padding("all");
-
-/* bootstrap 3 input-group 100% width
-   http://stackoverflow.com/questions/23436430/bootstrap-3-input-group-100-width */
-.width-min { width: 1% !important; }
-
-/* Makes toolbar not wrap on smaller screens
-   http://www.sketchingwithcss.com/samplechapter/cheatsheet.html#right */
-.flex-btn-group-container {
-   display: -webkit-flex;
-   display: flex;
-   -webkit-flex-direction: row;
-   flex-direction: row;
-   -webkit-justify-content: flex-end;
-   justify-content: flex-end;
-}
-
-/* ==========================================================================
-entity detail page css
-========================================================================== */
-.row.jh-entity-details > {
-    dd {
-        margin-bottom: 15px;
-    }
-}
-
-@media screen and (min-width: 768px) {
-    .row.jh-entity-details > {
-        dt {
-            margin-bottom: 15px;
-        }
-        dd {
-            border-bottom: 1px solid #eee;
-            padding-left: 180px;
-            margin-left: 0;
-        }
-    }
-}
-
-/* ==========================================================================
-ui bootstrap tweaks
-========================================================================== */
-.nav, .pagination, .carousel, .panel-title a {
-    cursor: pointer;
-}
-
-.datetime-picker-dropdown > li.date-picker-menu div > table .btn-default,
-.uib-datepicker-popup  > li > div.uib-datepicker > table .btn-default {
-    border: 0;
-}
-
-.datetime-picker-dropdown > li.date-picker-menu div > table:focus,
-.uib-datepicker-popup  > li > div.uib-datepicker > table:focus {
-    outline: none;
-}
-
-.navbar  {
-    border-radius: 0; /* Hide the navbar rounded corners */
-    -moz-border-radius: 0;
-}
-
-.nav-tabs > li > a.active, .nav-tabs > li > a.active:hover, .nav-tabs > li > a.active:focus {
-    color: #2c3e50;
-    background-color: #ffffff;
-    border: 1px solid #ecf0f1;
-    border-bottom-color: transparent;
-    cursor: default;
-}
-
-.progress {
-    background-color: #e0e2e2;
-}
-
-/* jhipster-needle-scss-add-main JHipster will add new css style */
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/vendor.scss b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/vendor.scss
deleted file mode 100644
index 19117f11dbcdf2fe3bc06e8ed9be8ffe8ef5beb3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/content/scss/vendor.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-/* after changing this file run 'yarn run webpack:build:vendor' or 'yarn install' or 'yarn run webpack:build' */
-$fa-font-path: '~font-awesome/fonts';
-
-/***************************
-put Sass variables here:
-eg $input-color: red;
-****************************/
-
-@import 'node_modules/bootstrap/scss/bootstrap';
-@import 'node_modules/font-awesome/scss/font-awesome';
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/favicon.ico b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/favicon.ico
deleted file mode 100644
index 44c7595f58f5a2c52f5e21451e5e6868d6caea7f..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/favicon.ico and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/index.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/index.html
deleted file mode 100644
index 8fa1e6d1eba1496f61f41dbfc0fb791dbbbcbb5a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!doctype html>
-<html class="no-js">
-<head>
-    <base href="/" />
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>JHipster Registry</title>
-    <meta name="description" content="">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-</head>
-<body>
-    <!--[if lt IE 9]>
-        <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-    <![endif]-->
-    <jhi-main></jhi-main>
-    <script>
-        // load shim for IE
-        if (window.navigator.userAgent.indexOf('Trident/') > 0) {
-            var script = document.createElement('script');
-            script.src = 'core-js-shim.min.js';
-            script.type = 'text/javascript';
-            document.getElementsByTagName('head')[0].appendChild(script)
-        }
-    </script>
-    <!-- Google Analytics: uncomment and change UA-XXXXX-X to be your site's ID.
-    <script>
-        (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
-        function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
-        e=o.createElement(i);r=o.getElementsByTagName(i)[0];
-        e.src='//www.google-analytics.com/analytics.js';
-        r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
-        ga('create','UA-XXXXX-X');ga('send','pageview');
-    </script>-->
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/robots.txt b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/robots.txt
deleted file mode 100644
index 7de2585cf605653ce96a7c789d4cb91159a8ca0e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/robots.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-# robotstxt.org/
-
-User-agent: *
-Disallow: /api/account
-Disallow: /api/account/change_password
-Disallow: /api/account/sessions
-Disallow: /api/audits/
-Disallow: /api/logs/
-Disallow: /api/users/
-Disallow: /management/
-Disallow: /v2/api-docs/
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/images/throbber.gif b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/images/throbber.gif
deleted file mode 100644
index 06393889242fb3ea9e0205fa84369ec7bb66d15a..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/images/throbber.gif and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/index.html b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/index.html
deleted file mode 100644
index 42692c0d45739680dcc9821ba996e104b4d90330..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/main/webapp/swagger-ui/index.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="UTF-8">
-    <title>Swagger UI</title>
-    <link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
-    <link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
-    <link href='./dist/css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='./dist/css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='./dist/css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
-    <link href='./dist/css/reset.css' media='print' rel='stylesheet' type='text/css'/>
-    <link href='./dist/css/print.css' media='print' rel='stylesheet' type='text/css'/>
-    <script src='./dist/lib/object-assign-pollyfill.js' type='text/javascript'></script>
-    <script src='./dist/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/jquery.slideto.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/jquery.wiggle.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/handlebars-4.0.5.js' type='text/javascript'></script>
-    <script src='./dist/lib/lodash.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/backbone-min.js' type='text/javascript'></script>
-    <script src='./dist/swagger-ui.js' type='text/javascript'></script>
-    <script src='./dist/lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
-    <script src='./dist/lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
-    <script src='./dist/lib/jsoneditor.min.js' type='text/javascript'></script>
-    <script src='./dist/lib/marked.js' type='text/javascript'></script>
-    <script src='./dist/lib/swagger-oauth.js' type='text/javascript'></script>
-
-    <!-- Some basic translations -->
-    <!-- <script src='lang/translator.js' type='text/javascript'></script> -->
-    <!-- <script src='lang/ru.js' type='text/javascript'></script> -->
-    <!-- <script src='lang/en.js' type='text/javascript'></script> -->
-
-    <script type="text/javascript">
-        $(function() {
-            var springfox = {
-                "baseUrl": function() {
-                    var urlMatches = /(.*)\/swagger-ui\/index.html.*/.exec(window.location.href);
-                    return urlMatches[1];
-                },
-                "securityConfig": function(cb) {
-                    $.getJSON(this.baseUrl() + "/swagger-resources/configuration/security", function(data) {
-                        cb(data);
-                    });
-                },
-                "uiConfig": function(cb) {
-                    $.getJSON(this.baseUrl() + "/swagger-resources/configuration/ui", function(data) {
-                        cb(data);
-                    });
-                }
-            };
-            window.springfox = springfox;
-            window.oAuthRedirectUrl = springfox.baseUrl() + './dist/o2c.html'
-
-            window.springfox.uiConfig(function(data) {
-                window.swaggerUi = new SwaggerUi({
-                    dom_id: "swagger-ui-container",
-                    validatorUrl: data.validatorUrl,
-                    supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
-                    onComplete: function(swaggerApi, swaggerUi) {
-                        initializeSpringfox();
-                        if (window.SwaggerTranslator) {
-                            window.SwaggerTranslator.translate();
-                        }
-                        $('pre code').each(function(i, e) {
-                            hljs.highlightBlock(e)
-                        });
-                    },
-                    onFailure: function(data) {
-                        log("Unable to Load SwaggerUI");
-                    },
-                    docExpansion: "none",
-                    apisSorter: "alpha",
-                    showRequestHeaders: false
-                });
-
-                initializeBaseUrl();
-
-                $('#select_baseUrl').change(function() {
-                    window.swaggerUi.headerView.trigger('update-swagger-ui', {
-                        url: $('#select_baseUrl').val()
-                    });
-                    addApiKeyAuthorization();
-                });
-
-                function addApiKeyAuthorization() {
-                    var authToken = JSON.parse(localStorage.getItem("jhi-authenticationtoken") || sessionStorage.getItem("jhi-authenticationtoken"));
-                    var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("Authorization", "Bearer " + authToken, "header");
-                    window.swaggerUi.api.clientAuthorizations.add("bearer", apiKeyAuth);
-                }
-
-                function getCSRF() {
-                    var name = "XSRF-TOKEN=";
-                    var ca = document.cookie.split(';');
-                    for(var i=0; i<ca.length; i++) {
-                        var c = ca[i];
-                        while (c.charAt(0)==' ') c = c.substring(1);
-                        if (c.indexOf(name) != -1) return c.substring(name.length,c.length);
-                    }
-                    return "";
-                }
-
-                function log() {
-                    if ('console' in window) {
-                        console.log.apply(console, arguments);
-                    }
-                }
-
-                function oAuthIsDefined(security) {
-                    return security.clientId
-                    && security.clientSecret
-                    && security.appName
-                    && security.realm;
-                }
-
-                function initializeSpringfox() {
-                    var security = {};
-                    window.springfox.securityConfig(function(data) {
-                        security = data;
-                        if (typeof initOAuth == "function" && oAuthIsDefined(security)) {
-                            initOAuth(security);
-                        }
-                    });
-                }
-            });
-
-            function maybePrefix(location, withRelativePath) {
-                var pat = /^https?:\/\//i;
-                if (pat.test(location)) {
-                    return location;
-                }
-                return withRelativePath + location;
-            }
-
-            function initializeBaseUrl() {
-                var relativeLocation = springfox.baseUrl();
-
-                $('#input_baseUrl').hide();
-
-                $.getJSON(relativeLocation + "/swagger-resources", function(data) {
-
-                    var $urlDropdown = $('#select_baseUrl');
-                    $urlDropdown.empty();
-                    $.each(data, function(i, resource) {
-                        var option = $('<option></option>')
-                        .attr("value", maybePrefix(resource.location, relativeLocation))
-                        .text(resource.name + " (" + resource.location + ")");
-                        $urlDropdown.append(option);
-                    });
-                    $urlDropdown.change();
-                });
-
-            }
-
-        });
-    </script>
-</head>
-
-
-<body class="swagger-section">
-<div id='header'>
-    <div class="swagger-ui-wrap">
-        <a id="logo" href="http://swagger.io">swagger</a>
-
-        <form id='api_selector'>
-            <div class='input'>
-                <select id="select_baseUrl" name="select_baseUrl"></select>
-            </div>
-            <div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/>
-            </div>
-        </form>
-    </div>
-</div>
-
-<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
-<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
-</body>
-</html>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/config/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/config/package-info.java
deleted file mode 100644
index d04b3fd01ac689bb3a809fb67ba3574decbd6957..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/config/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package io.github.jhipster.registry.config;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/jwt/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/jwt/package-info.java
deleted file mode 100644
index 066885a9d8ebbb600119386519fc362a3d53d838..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/jwt/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package io.github.jhipster.registry.security.jwt;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/package-info.java
deleted file mode 100644
index fca2a0dac9b758308417f5f8be7128e52261af79..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/security/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package io.github.jhipster.registry.security;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/utils/TestUtils.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/utils/TestUtils.java
deleted file mode 100644
index 845586cc3369e674c4c9fd9fdceee5706be8c984..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/utils/TestUtils.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package io.github.jhipster.registry.utils;
-
-import com.google.gson.JsonParser;
-import com.google.gson.JsonSyntaxException;
-
-import java.io.Serializable;
-
-public abstract class TestUtils {
-
-    public static boolean isValid(String json) {
-        try {
-            new JsonParser().parse(json);
-            return true;
-        } catch (JsonSyntaxException jse) {
-            return false;
-        }
-    }
-
-    public static boolean isSerializable(final Class c) {
-        return (Serializable.class.isAssignableFrom(c));
-    }
-
-    public static boolean isSerializable(final Object c) {
-        return isSerializable(c.getClass());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/AccountResourceTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/AccountResourceTest.java
deleted file mode 100644
index a66e3fefd191563fc4c066a2278b483274eb8a1c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/AccountResourceTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import io.github.jhipster.registry.security.AuthoritiesConstants;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.http.MediaType;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class AccountResourceTest {
-
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        this.mock = MockMvcBuilders.standaloneSetup(new AccountResource()).build();
-    }
-
-    @Test
-    public void testNonAuthenticatedUser() throws Exception {
-        mock.perform(get("/api/authenticate")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().string(""));
-    }
-
-    @Test
-    public void testAuthenticatedUser() throws Exception {
-        mock.perform(get("/api/authenticate")
-            .with(request -> {
-                request.setRemoteUser("test");
-                return request;
-            })
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().string("test"));
-    }
-
-    @Test
-    public void testGetUnknownAccount() throws Exception {
-        mock.perform(get("/api/account")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isInternalServerError());
-    }
-
-    @Test
-    public void testGetExistingAccount() throws Exception {
-
-        Authentication authentication = Mockito.mock(Authentication.class);
-        SecurityContext securityContext = Mockito.mock(SecurityContext.class);
-
-        Set<GrantedAuthority> authorities = new HashSet<>();
-        authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ADMIN));
-
-        Mockito.when(securityContext.getAuthentication()).thenReturn(authentication);
-        SecurityContextHolder.setContext(securityContext);
-        Mockito.when(authentication.getPrincipal()).thenReturn(new User("user", "pass", authorities));
-
-        mock.perform(get("/api/account")
-            .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE))
-            .andExpect(jsonPath("$.login").value("user"))
-            .andExpect(jsonPath("$.authorities").value(AuthoritiesConstants.ADMIN));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/LogsResourceTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/LogsResourceTest.java
deleted file mode 100644
index e813b3d0f418bd0ded6a27bb4313c9bb642e41db..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/LogsResourceTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.github.jhipster.registry.web.rest.vm.LoggerVM;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.http.MediaType;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.junit.Assert.assertTrue;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class LogsResourceTest {
-
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        this.mock = MockMvcBuilders.standaloneSetup(new LogsResource()).build();
-    }
-
-    @Test
-    public void getListTest() throws Exception {
-        mock.perform(get("/management/logs")
-            .accept(MediaType.APPLICATION_JSON_UTF8))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8));
-    }
-
-    @Test
-    public void changeLevelTest() throws Exception {
-        LoggerVM logger = new LoggerVM();
-        logger.setLevel("ERROR");
-        logger.setName("ROOT");
-
-        mock.perform(put("/management/logs")
-            .contentType(MediaType.APPLICATION_JSON_UTF8)
-            .content(new ObjectMapper().writeValueAsString(logger)))
-            .andExpect(status().isNoContent());
-
-        MvcResult res = mock.perform(get("/management/logs")
-            .accept(MediaType.APPLICATION_JSON_UTF8))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
-            .andReturn();
-
-        assertTrue(res.getResponse().getContentAsString().contains("\"name\":\""+logger.getName()
-            +"\",\"level\":\""+logger.getLevel()+"\""));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/ProfileInfoResourceTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/ProfileInfoResourceTest.java
deleted file mode 100644
index 6b592351bb3f3ca3ec1ffb3c8df4ec6b81e156b0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/ProfileInfoResourceTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.core.env.Environment;
-import org.springframework.http.MediaType;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import io.github.jhipster.config.JHipsterProperties;
-
-import static org.junit.Assert.assertTrue;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class ProfileInfoResourceTest {
-
-    private static final String[] profiles = new String[]{"dev"};
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        Environment env = Mockito.mock(Environment.class);
-        JHipsterProperties prop = Mockito.mock(JHipsterProperties.class);
-        JHipsterProperties.Ribbon ribbon = Mockito.mock(JHipsterProperties.Ribbon.class);
-
-        ProfileInfoResource profileInfoResource = new ProfileInfoResource(env, prop);
-        this.mock = MockMvcBuilders.standaloneSetup(profileInfoResource).build();
-
-        Mockito.when(env.getActiveProfiles()).thenReturn(profiles);
-        Mockito.when(prop.getRibbon()).thenReturn(ribbon);
-    }
-
-    @Test
-    public void getActiveProfilesTest() throws Exception {
-        MvcResult res = mock.perform(get("/api/profile-info")
-                .accept(MediaType.APPLICATION_JSON))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
-            .andReturn();
-
-        assertTrue(res.getResponse().getContentAsString().contains("\"activeProfiles\":[\""+profiles[0]+"\"]"));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/SshResourceTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/SshResourceTest.java
deleted file mode 100644
index 19bcdf88df351731e33c5db2ea3ae5b2ff06a25e..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/SshResourceTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.http.MediaType;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class SshResourceTest {
-
-    private SshResource ssh;
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        ssh = Mockito.spy(new SshResource());
-        this.mock = MockMvcBuilders.standaloneSetup(ssh).build();
-    }
-
-    @Test
-    public void eurekaTest() throws Exception {
-
-        // without key
-        Mockito.doReturn(null).when(ssh).getPublicKey();
-        mock.perform(get("/api/ssh/public_key"))
-            .andExpect(status().isNotFound());
-
-        // with key
-        Mockito.doReturn("key").when(ssh).getPublicKey();
-        mock.perform(get("/api/ssh/public_key"))
-            .andExpect(content().contentTypeCompatibleWith(MediaType.TEXT_PLAIN))
-            .andExpect(content().string("key"))
-            .andExpect(status().isOk());
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/TestUtil.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/TestUtil.java
deleted file mode 100644
index 8dd5250490242f0ae942fb9759dba7872ef3f744..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/TestUtil.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeDiagnosingMatcher;
-import org.springframework.http.MediaType;
-
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeParseException;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * Utility class for testing REST controllers.
- */
-public class TestUtil {
-
-    /** MediaType for JSON UTF8 */
-    public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(
-            MediaType.APPLICATION_JSON.getType(),
-            MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8"));
-
-    /**
-     * Convert an object to JSON byte array.
-     *
-     * @param object
-     *            the object to convert
-     * @return the JSON byte array
-     * @throws IOException
-     */
-    public static byte[] convertObjectToJsonBytes(Object object)
-            throws IOException {
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
-
-        JavaTimeModule module = new JavaTimeModule();
-        mapper.registerModule(module);
-
-        return mapper.writeValueAsBytes(object);
-    }
-
-    /**
-     * Create a byte array with a specific size filled with specified data.
-     *
-     * @param size the size of the byte array
-     * @param data the data to put in the byte array
-     * @return the JSON byte array
-     */
-    public static byte[] createByteArray(int size, String data) {
-        byte[] byteArray = new byte[size];
-        for (int i = 0; i < size; i++) {
-            byteArray[i] = Byte.parseByte(data, 2);
-        }
-        return byteArray;
-    }
-
-    /**
-     * A matcher that tests that the examined string represents the same instant as the reference datetime.
-     */
-    public static class ZonedDateTimeMatcher extends TypeSafeDiagnosingMatcher<String> {
-
-        private final ZonedDateTime date;
-
-        public ZonedDateTimeMatcher(ZonedDateTime date) {
-            this.date = date;
-        }
-
-        @Override
-        protected boolean matchesSafely(String item, Description mismatchDescription) {
-            try {
-                if (!date.isEqual(ZonedDateTime.parse(item))) {
-                    mismatchDescription.appendText("was ").appendValue(item);
-                    return false;
-                }
-                return true;
-            } catch (DateTimeParseException e) {
-                mismatchDescription.appendText("was ").appendValue(item)
-                    .appendText(", which could not be parsed as a ZonedDateTime");
-                return false;
-            }
-
-        }
-
-        @Override
-        public void describeTo(Description description) {
-            description.appendText("a String representing the same Instant as ").appendValue(date);
-        }
-    }
-
-    /**
-     * Creates a matcher that matches when the examined string reprensents the same instant as the reference datetime
-     * @param date the reference datetime against which the examined string is checked
-     */
-    public static ZonedDateTimeMatcher sameInstant(ZonedDateTime date) {
-        return new ZonedDateTimeMatcher(date);
-    }
-
-    /**
-     * Verifies the equals/hashcode contract on the domain object.
-     */
-    @SuppressWarnings("unchecked")
-    public static void equalsVerifier(Class clazz) throws Exception {
-        Object domainObject1 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1.toString()).isNotNull();
-        assertThat(domainObject1).isEqualTo(domainObject1);
-        assertThat(domainObject1.hashCode()).isEqualTo(domainObject1.hashCode());
-        // Test with an instance of another class
-        Object testOtherObject = new Object();
-        assertThat(domainObject1).isNotEqualTo(testOtherObject);
-        // Test with an instance of the same class
-        Object domainObject2 = clazz.getConstructor().newInstance();
-        assertThat(domainObject1).isNotEqualTo(domainObject2);
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/UserJWTControllerTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/UserJWTControllerTest.java
deleted file mode 100644
index 76d12960013e106cf0b43cfd19e7da3025ab7511..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/UserJWTControllerTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package io.github.jhipster.registry.web.rest;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import io.github.jhipster.registry.security.jwt.TokenProvider;
-import io.github.jhipster.registry.web.rest.vm.LoginVM;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.http.MediaType;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.junit.Assert.*;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class UserJWTControllerTest {
-
-    private TokenProvider tokenProvider;
-    private AuthenticationManager authenticationManager;
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        tokenProvider = Mockito.mock(TokenProvider.class);
-        authenticationManager = Mockito.mock(AuthenticationManager.class);
-
-        UserJWTController control = new UserJWTController(tokenProvider, authenticationManager);
-        this.mock = MockMvcBuilders.standaloneSetup(control).build();
-    }
-
-    @Test
-    public void authorizeTest() throws Exception {
-
-        // Normal authentication
-        LoginVM vm = new LoginVM();
-        vm.setUsername("admin");
-        vm.setPassword("admin");
-        vm.setRememberMe(true);
-
-        Mockito.doReturn("fakeToken").when(tokenProvider)
-            .createToken(Mockito.any(Authentication.class), Mockito.anyBoolean());
-
-        mock.perform(post("/api/authenticate")
-            .contentType(MediaType.APPLICATION_JSON_UTF8)
-            .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL)
-            .content(new ObjectMapper().writeValueAsString(vm)))
-            .andExpect(content().string("{\"id_token\":\"fakeToken\"}"))
-            .andExpect(status().isOk());
-
-
-        // Authentication exception throws
-        Mockito.doThrow(new AuthenticationException(null){}).when(tokenProvider)
-            .createToken(Mockito.any(Authentication.class), Mockito.anyBoolean());
-
-        MvcResult res = mock.perform(post("/api/authenticate")
-            .contentType(MediaType.APPLICATION_JSON_UTF8)
-            .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL)
-            .content("{\"username\":\"fakeUsername\",\"password\":\"fakePassword\",\"rememberMe\":false}"))
-            .andExpect(status().isUnauthorized())
-            .andReturn();
-
-        assertTrue(res.getResponse().getContentAsString().startsWith("{\"AuthenticationException\""));
-
-
-        // Bad credentials
-        vm.setUsername("badcred");
-        vm.setPassword("badcred");
-
-        Mockito.doThrow(new BadCredentialsException("Bad credentials")).when(authenticationManager)
-            .authenticate(new UsernamePasswordAuthenticationToken(vm.getUsername(), vm.getPassword()));
-
-        mock.perform(post("/api/authenticate")
-            .contentType(MediaType.APPLICATION_JSON_UTF8)
-            .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL)
-            .content(new ObjectMapper().writeValueAsString(vm)))
-            .andExpect(status().isUnauthorized())
-            .andExpect(content().string("{\"AuthenticationException\":\"Bad credentials\"}"));
-    }
-
-    @Test
-    public void getIdTokenTest() throws Exception {
-        assertNotNull(new UserJWTController.JWTToken("id").getIdToken());
-        assertEquals("id", new UserJWTController.JWTToken("id").getIdToken());
-        assertNull(new UserJWTController.JWTToken(null).getIdToken());
-    }
-
-    @Test
-    public void setIdTokenTest() throws Exception {
-        UserJWTController.JWTToken token = new UserJWTController.JWTToken("id");
-        assertNotNull(token.getIdToken());
-
-        assertNotEquals("id2", token.getIdToken());
-        token.setIdToken("id2");
-        assertEquals("id2", token.getIdToken());
-
-        token.setIdToken(null);
-        assertNull(token.getIdToken());
-
-        token = new UserJWTController.JWTToken(null);
-        token.setIdToken(null);
-        assertNull(token.getIdToken());
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedExceptionTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedExceptionTest.java
deleted file mode 100644
index e3628ac04efb7e2cfcfae5b08d2fadc8fdddad76..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/CustomParameterizedExceptionTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class CustomParameterizedExceptionTest {
-
-    @Test
-    public void getErrorVMTest() throws Exception {
-        CustomParameterizedException exc = new CustomParameterizedException("Test");
-
-        try {
-            throw exc;
-        } catch ( Exception exception ) {
-            assertTrue(exception instanceof CustomParameterizedException);
-
-            CustomParameterizedException exceptionCast = (CustomParameterizedException) exception;
-            assertNotNull(exceptionCast.getErrorVM());
-            assertNotNull(exceptionCast.getErrorVM().getMessage());
-            assertEquals("Test", exceptionCast.getErrorVM().getMessage());
-        }
-
-        exc = new CustomParameterizedException(null);
-
-        try {
-            throw exc;
-        } catch ( Exception exception ) {
-            assertTrue(exception instanceof CustomParameterizedException);
-
-            CustomParameterizedException exceptionCast = (CustomParameterizedException) exception;
-            assertNotNull(exceptionCast.getErrorVM());
-            assertNull(exceptionCast.getErrorVM().getMessage());
-        }
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ErrorVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ErrorVMTest.java
deleted file mode 100644
index f58788a5119442d781d3742c18a0446e8598531f..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ErrorVMTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.ArrayList;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-public class ErrorVMTest {
-
-    private static final String message = "Message", description = "Desc";
-
-    private ErrorVM vm1, vm2, vm3;
-    private ErrorVM vm1null, vm2null, vm3null;
-
-    @Before
-    public void setup(){
-        vm1 = new ErrorVM(message);
-        vm2 = new ErrorVM(message, description);
-        vm3 = new ErrorVM(message, description, new ArrayList<>());
-
-        vm1null = new ErrorVM(null);
-        vm2null = new ErrorVM(null, null);
-        vm3null = new ErrorVM(null, null, null);
-    }
-
-    @Test
-    public void addTest() throws Exception {
-        assertNull(vm1.getFieldErrors());
-        assertNull(vm2.getFieldErrors());
-        assertNotNull(vm3.getFieldErrors());
-        assertNull(vm1null.getFieldErrors());
-        assertNull(vm2null.getFieldErrors());
-        assertNull(vm3null.getFieldErrors());
-
-        vm1.add("testObjectName", "testField", "testMsg");
-        vm2.add("testObjectName", "testField", "testMsg");
-        vm3.add("testObjectName", "testField", "testMsg");
-        vm1null.add("testObjectName", "testField", "testMsg");
-        vm2null.add("testObjectName", "testField", "testMsg");
-        vm3null.add("testObjectName", "testField", "testMsg");
-
-        assertNotNull(vm1.getFieldErrors());
-        assertFalse(vm1.getFieldErrors().isEmpty());
-        assertNotNull(vm2.getFieldErrors());
-        assertFalse(vm2.getFieldErrors().isEmpty());
-        assertNotNull(vm3.getFieldErrors());
-        assertFalse(vm3.getFieldErrors().isEmpty());
-        assertNotNull(vm1null.getFieldErrors());
-        assertFalse(vm1null.getFieldErrors().isEmpty());
-        assertNotNull(vm2null.getFieldErrors());
-        assertFalse(vm2null.getFieldErrors().isEmpty());
-        assertNotNull(vm3null.getFieldErrors());
-        assertFalse(vm3null.getFieldErrors().isEmpty());
-    }
-
-    @Test
-    public void getMessageTest() throws Exception {
-        assertEquals(message, vm1.getMessage());
-        assertEquals(message, vm2.getMessage());
-        assertEquals(message, vm3.getMessage());
-        assertNull(vm1null.getMessage());
-        assertNull(vm2null.getMessage());
-        assertNull(vm3null.getMessage());
-    }
-
-    @Test
-    public void getDescriptionTest() throws Exception {
-        assertNull(vm1.getDescription());
-        assertEquals(description, vm2.getDescription());
-        assertEquals(description, vm3.getDescription());
-        assertNull(vm1null.getDescription());
-        assertNull(vm2null.getDescription());
-        assertNull(vm3null.getDescription());
-    }
-
-    @Test
-    public void getFieldErrorsTest() throws Exception {
-        assertNull(vm1.getFieldErrors());
-        assertNull(vm2.getFieldErrors());
-        assertNotNull(vm3.getFieldErrors());
-        assertNull(vm1null.getFieldErrors());
-        assertNull(vm2null.getFieldErrors());
-        assertNull(vm3null.getFieldErrors());
-
-        vm1.add(null, null, null);
-        vm2.add(null, null, null);
-        vm3.add(null, null, null);
-        vm1null.add(null, null, null);
-        vm2null.add(null, null, null);
-        vm3null.add(null, null, null);
-
-        assertNull(message, vm1.getFieldErrors().get(0).getMessage());
-        assertNull(message, vm2.getFieldErrors().get(0).getMessage());
-        assertNull(message, vm3.getFieldErrors().get(0).getMessage());
-        assertNull(message, vm1null.getFieldErrors().get(0).getMessage());
-        assertNull(message, vm2null.getFieldErrors().get(0).getMessage());
-        assertNull(message, vm3null.getFieldErrors().get(0).getMessage());
-
-        vm1.add("testObjectName", "testField", "testMsg");
-        vm2.add("testObjectName", "testField", "testMsg");
-        vm3.add("testObjectName", "testField", "testMsg");
-        vm1null.add("testObjectName", "testField", "testMsg");
-        vm2null.add("testObjectName", "testField", "testMsg");
-        vm3null.add("testObjectName", "testField", "testMsg");
-
-        assertEquals("testMsg", vm1.getFieldErrors().get(1).getMessage());
-        assertEquals("testMsg", vm2.getFieldErrors().get(1).getMessage());
-        assertEquals("testMsg", vm3.getFieldErrors().get(1).getMessage());
-        assertEquals("testMsg", vm1null.getFieldErrors().get(1).getMessage());
-        assertEquals("testMsg", vm2null.getFieldErrors().get(1).getMessage());
-        assertEquals("testMsg", vm3null.getFieldErrors().get(1).getMessage());
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslatorTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslatorTest.java
deleted file mode 100644
index a000d769b41203e552c553fea93eccf931297d71..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ExceptionTranslatorTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import io.github.jhipster.registry.web.rest.AccountResource;
-import io.github.jhipster.registry.web.rest.UserJWTController;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.springframework.http.MediaType;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.MvcResult;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.web.HttpRequestMethodNotSupportedException;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertThat;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(MockitoJUnitRunner.class)
-public class ExceptionTranslatorTest {
-
-    private MockMvc mock;
-
-    @Before
-    public void setup() {
-        SecurityContextHolder.clearContext();
-        AccountResource control = new AccountResource();
-        this.mock = MockMvcBuilders.standaloneSetup(control)
-            .setControllerAdvice(new ExceptionTranslator())
-            .build();
-    }
-
-    @Test
-    public void processValidationErrorTest() throws Exception {
-        UserJWTController control = new UserJWTController(null, null);
-        MockMvc jwtMock = MockMvcBuilders.standaloneSetup(control)
-            .setControllerAdvice(new ExceptionTranslator())
-            .build();
-        MvcResult res = jwtMock.perform(post("/api/authenticate")
-            .contentType(MediaType.APPLICATION_JSON_UTF8)
-            .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN, MediaType.ALL)
-            .content("{\"username\":\"fakeUsernameTooLongfakeUsernameTooLongfakeUsernameTooLongfakeUsernameTooLong" +
-                "\",\"password\":\"fakePassword\",\"rememberMe\":false}"))
-            .andExpect(status().isBadRequest())
-            .andReturn();
-
-        assertThat(res.getResolvedException(), instanceOf(MethodArgumentNotValidException.class));
-    }
-
-
-    @Test
-    public void processParameterizedValidationErrorTest() throws Exception {
-        // These lines will throw the wanted exception
-        SecurityContext securityContext = Mockito.mock(SecurityContext.class);
-        Mockito.when(securityContext.getAuthentication()).thenThrow(new CustomParameterizedException(null));
-        SecurityContextHolder.setContext(securityContext);
-
-        MvcResult res = mock.perform(get("/api/account"))
-            .andExpect(status().isBadRequest())
-            .andReturn();
-
-        assertThat(res.getResolvedException(), instanceOf(CustomParameterizedException.class));
-    }
-
-    @Test
-    public void processAccessDeniedExceptionTest() throws Exception {
-        // These lines will throw the wanted exception
-        SecurityContext securityContext = Mockito.mock(SecurityContext.class);
-        Mockito.when(securityContext.getAuthentication()).thenThrow(new AccessDeniedException(null));
-        SecurityContextHolder.setContext(securityContext);
-
-        MvcResult res = mock.perform(get("/api/account"))
-            .andExpect(status().isForbidden())
-            .andReturn();
-
-        assertThat(res.getResolvedException(), instanceOf(AccessDeniedException.class));
-    }
-
-    @Test
-    public void processMethodNotSupportedExceptionTest() throws Exception {
-        MvcResult res = mock.perform(post("/api/account")
-            .content("{\"testFakeParam\"}"))
-            .andExpect(status().isMethodNotAllowed())
-            .andReturn();
-
-        assertThat(res.getResolvedException(), instanceOf(HttpRequestMethodNotSupportedException.class));
-    }
-
-    @Test
-    public void processRuntimeExceptionTest() throws Exception {
-
-        // These lines will throw the wanted exception
-        SecurityContext securityContext = Mockito.mock(SecurityContext.class);
-        Mockito.when(securityContext.getAuthentication()).thenThrow(new RuntimeException());
-        SecurityContextHolder.setContext(securityContext);
-
-        MvcResult res = mock.perform(get("/api/account"))
-            .andExpect(status().isInternalServerError())
-            .andReturn();
-
-        assertThat(res.getResolvedException(), instanceOf(RuntimeException.class));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVMTest.java
deleted file mode 100644
index 0ee08059cec781ca5695aeebb9b36af8932989a5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/FieldErrorVMTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-public class FieldErrorVMTest {
-
-    @Test
-    public void getObjectNameTest() throws Exception {
-        FieldErrorVM vm = new FieldErrorVM(null, null, null);
-        assertNull(vm.getObjectName());
-        vm = new FieldErrorVM("dto", "field", "message");
-        assertEquals("dto", vm.getObjectName());
-    }
-
-    @Test
-    public void getFieldTest() throws Exception {
-        FieldErrorVM vm = new FieldErrorVM(null, null, null);
-        assertNull(vm.getField());
-        vm = new FieldErrorVM("dto", "field", "message");
-        assertEquals("field", vm.getField());
-    }
-
-    @Test
-    public void getMessageTest() throws Exception {
-        FieldErrorVM vm = new FieldErrorVM(null, null, null);
-        assertNull(vm.getMessage());
-        vm = new FieldErrorVM("dto", "field", "message");
-        assertEquals("message", vm.getMessage());
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVMTest.java
deleted file mode 100644
index 292b2f1e18d11cf00f0d56052662dceed6349b0b..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/ParameterizedErrorVMTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package io.github.jhipster.registry.web.rest.errors;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.junit.Test;
-
-import io.github.jhipster.registry.utils.TestUtils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class ParameterizedErrorVMTest {
-
-    @Test
-    public void getMessageTest() {
-        ParameterizedErrorVM vm = new ParameterizedErrorVM(null, null);
-        assertNull(vm.getMessage());
-        Map<String, String> paramMap = new HashMap<>();
-        paramMap.put("param1", "param1");
-        paramMap.put("param2", "param2");
-        vm = new ParameterizedErrorVM("message", paramMap);
-        assertEquals("message", vm.getMessage());
-    }
-
-    @Test
-    public void getParamsTest() {
-        ParameterizedErrorVM vm = new ParameterizedErrorVM(null, null);
-        assertNull(vm.getMessage());
-        Map<String, String> paramMap = new HashMap<>();
-        paramMap.put("param1", "param1");
-        paramMap.put("param2", "param2");
-        vm = new ParameterizedErrorVM("message", paramMap);
-        assertTrue(vm.getParams().size() == 2);
-    }
-
-    @Test
-    public void isSerializable() {
-        assertTrue(TestUtils.isSerializable(new ParameterizedErrorVM(null, null)));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/package-info.java
deleted file mode 100644
index 0a945ca74eced9a7cbe16e58d16b4ec26a419df5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/errors/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Tests of Spring Data JPA repositories.
- */
-package io.github.jhipster.registry.web.rest.errors;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/package-info.java
deleted file mode 100644
index 4a6e9644cd4ff4df3f2d549078444ca43c00b29d..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package io.github.jhipster.registry.web.rest;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/EurekaVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/EurekaVMTest.java
deleted file mode 100644
index 248dcbad3943ef4c7dfa7a45f4d666e9698788e5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/EurekaVMTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class EurekaVMTest {
-
-    private EurekaVM eureka;
-
-    @Before
-    public void setup(){
-        eureka = new EurekaVM();
-    }
-
-    @Test
-    public void getApplicationsTest() throws Exception {
-        List<Map<String, Object>> list = eureka.getApplications();
-        assertNull(list);
-
-        eureka.setApplications(initFakeApplicationsList());
-
-        list = eureka.getApplications();
-        assertNotNull(list);
-        assertTrue(list.size()==2);
-    }
-
-    @Test
-    public void setApplicationsTest() throws Exception {
-        assertNull(eureka.getApplications());
-        eureka.setApplications(initFakeApplicationsList());
-        assertNotNull(eureka.getApplications());
-
-        List<Map<String, Object>> newList = new ArrayList<>();
-        eureka.setApplications(newList);
-        assertEquals(newList, eureka.getApplications());
-    }
-
-    @Test
-    public void getStatusTest() throws Exception {
-        Map<String, Object> status = eureka.getStatus();
-        assertNull(status);
-
-        eureka.setStatus(initFakeStatus());
-
-        status = eureka.getStatus();
-        assertNotNull(status);
-        assertTrue(status.size()==3);
-    }
-
-    @Test
-    public void setStatusTest() throws Exception {
-        assertNull(eureka.getStatus());
-        eureka.setStatus(initFakeStatus());
-        assertNotNull(eureka.getStatus());
-
-        Map<String, Object> newStatus = new HashMap<>();
-        eureka.setStatus(newStatus);
-        assertEquals(newStatus, eureka.getStatus());
-    }
-
-    private List<Map<String, Object>> initFakeApplicationsList(){
-        List<Map<String, Object>> list = new ArrayList<>();
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("App1", new Object());
-        map.put("App2", new Object());
-        list.add(map);
-
-        map = new HashMap<>();
-        list.add(map);
-
-        return list;
-    }
-
-    private Map<String, Object> initFakeStatus(){
-        Map<String, Object> map = new HashMap<>();
-        map.put("Status1", new Object());
-        map.put("Status2", new Object());
-        map.put("Status3", new Object());
-        return map;
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoggerVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoggerVMTest.java
deleted file mode 100644
index 8ea158c202e73696bbaac75c7362b1229c690ff2..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoggerVMTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.Logger;
-import io.github.jhipster.registry.utils.TestUtils;
-import org.junit.Test;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class LoggerVMTest {
-
-    @Test
-    public void getNameTest() throws Exception {
-        LoggerVM vm = new LoggerVM();
-        assertNull(vm.getName());
-
-        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        vm = new LoggerVM(logger);
-        assertEquals(Logger.ROOT_LOGGER_NAME, vm.getName());
-    }
-
-    @Test
-    public void setNameTest() throws Exception {
-        LoggerVM vm = new LoggerVM();
-        vm.setName(null);
-        assertNull(vm.getName());
-
-        vm = new LoggerVM();
-        vm.setName("fakeName");
-        assertEquals("fakeName", vm.getName());
-
-        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        vm = new LoggerVM(logger);
-        vm.setName("fakeRootName");
-        assertEquals("fakeRootName", vm.getName());
-    }
-
-    @Test
-    public void getLevelTest() throws Exception {
-        LoggerVM vm = new LoggerVM();
-        assertNull(vm.getLevel());
-
-        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        vm = new LoggerVM(logger);
-        assertEquals(Level.ERROR.toString(), vm.getLevel());
-    }
-
-    @Test
-    public void setLevelTest() throws Exception {
-        LoggerVM vm = new LoggerVM();
-        vm.setLevel(null);
-        assertNull(vm.getLevel());
-
-        vm = new LoggerVM();
-        vm.setLevel("fakeLevel");
-        assertEquals("fakeLevel", vm.getLevel());
-
-        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        vm = new LoggerVM(logger);
-        vm.setLevel(Level.OFF.toString());
-        assertEquals(Level.OFF.toString(), vm.getLevel());
-    }
-
-    @Test
-    public void toStringTestTest() throws Exception {
-        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        LoggerVM vm = new LoggerVM(logger);
-        assertTrue(vm.toString().startsWith(LoggerVM.class.getSimpleName()));
-        String json = vm.toString().replace(LoggerVM.class.getSimpleName(), "");
-        assertTrue(TestUtils.isValid(json));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoginVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoginVMTest.java
deleted file mode 100644
index ebc3d74bd103a00646ee097c5cf4194858c20e62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/LoginVMTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import io.github.jhipster.registry.utils.TestUtils;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class LoginVMTest {
-
-    private static Validator validator;
-
-    @Before
-    public void setUp() {
-        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
-        validator = factory.getValidator();
-    }
-
-    @Test
-    public void getUsernameTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.getUsername());
-
-        vm.setUsername("fakeUsername");
-        assertEquals("fakeUsername", vm.getUsername());
-    }
-
-    @Test
-    public void setUsernameTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.getUsername());
-        vm.setUsername(null);
-        assertNull(vm.getUsername());
-        vm.setUsername("fakeUsername");
-        assertEquals("fakeUsername", vm.getUsername());
-
-        // Contraints tests
-        vm = new LoginVM();
-        vm.setPassword("goodPassword");
-
-        assertFalse(validator.validate(vm).isEmpty());
-        vm.setUsername("");
-        assertFalse(validator.validate(vm).isEmpty());
-        vm.setUsername("badUsernameTooLongbadUsernameTooLongbadUsernameTooLongbadUsernameTooLongbadUsernameTooLong");
-        assertFalse(validator.validate(vm).isEmpty());
-        vm.setUsername("goodUsername");
-        assertTrue(validator.validate(vm).isEmpty());
-    }
-
-    @Test
-    public void getPasswordTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.getPassword());
-
-        vm.setPassword("fakePassword");
-        assertEquals("fakePassword", vm.getPassword());
-    }
-
-    @Test
-    public void setPasswordTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.getPassword());
-        vm.setPassword(null);
-        assertNull(vm.getPassword());
-        vm.setPassword("fakePassword");
-        assertEquals("fakePassword", vm.getPassword());
-
-        // Contraints tests
-        vm = new LoginVM();
-        vm.setUsername("goodUsername");
-        vm.setPassword("goodPassword");
-        assertTrue(validator.validate(vm).isEmpty());
-    }
-
-
-    @Test
-    public void isRememberMeTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.isRememberMe());
-
-        vm.setRememberMe(true);
-        assertTrue(vm.isRememberMe());
-    }
-
-    @Test
-    public void setRememberMeTest(){
-        LoginVM vm = new LoginVM();
-        assertNull(vm.isRememberMe());
-        vm.setRememberMe(null);
-        assertNull(vm.isRememberMe());
-        vm.setRememberMe(true);
-        assertTrue(vm.isRememberMe());
-    }
-
-    @Test
-    public void toStringTest(){
-        LoginVM vm = new LoginVM();
-
-        assertTrue(vm.toString().startsWith(LoginVM.class.getSimpleName()));
-        String json = vm.toString().replace(LoginVM.class.getSimpleName(), "");
-        assertTrue(TestUtils.isValid(json));
-
-        vm = new LoginVM();
-        vm.setUsername("fakeUsername");
-        vm.setPassword("fakePassword");
-        vm.setRememberMe(true);
-        json = vm.toString().replace(LoginVM.class.getSimpleName(), "");
-        assertTrue(TestUtils.isValid(json));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/UserVMTest.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/UserVMTest.java
deleted file mode 100644
index a32f56acda08cd3240786d3bfea5bc7f38071642..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/UserVMTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package io.github.jhipster.registry.web.rest.vm;
-
-import io.github.jhipster.registry.utils.TestUtils;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-public class UserVMTest {
-
-
-    private static Validator validator;
-
-    @Before
-    public void setUp() {
-        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
-        validator = factory.getValidator();
-    }
-
-    @Test
-    public void constructorTest() {
-        UserVM vm = new UserVM(null, null);
-        assertFalse(validator.validate(vm).isEmpty());
-        vm = new UserVM("", null);
-        assertFalse(validator.validate(vm).isEmpty());
-        vm = new UserVM("badLoginTooLongbadLoginTooLongbadLoginTooLongbadLoginTooLong", null);
-        assertFalse(validator.validate(vm).isEmpty());
-        vm = new UserVM("goodLogin", null);
-        assertTrue(validator.validate(vm).isEmpty());
-    }
-
-    @Test
-    public void getLoginTest() {
-        UserVM vm = new UserVM();
-        assertNull(vm.getLogin());
-
-        vm = new UserVM("login", null);
-        assertEquals("login", vm.getLogin());
-    }
-
-    @Test
-    public void getAuthoritiesTest() throws Exception {
-        UserVM vm = new UserVM();
-        assertNull(vm.getAuthorities());
-
-        Set<String> set = new HashSet<>();
-        set.add("authorities1");
-        set.add("authorities2");
-        vm = new UserVM("login", set);
-        assertEquals(set, vm.getAuthorities());
-    }
-
-    @Test
-    public void toStringTest() throws Exception {
-        UserVM vm = new UserVM();
-
-        assertTrue(vm.toString().startsWith(UserVM.class.getSimpleName()));
-        String json = vm.toString().replace(UserVM.class.getSimpleName(), "");
-        assertTrue(TestUtils.isValid(json));
-
-        Set<String> set = new HashSet<>();
-        set.add("authorities1");
-        set.add("authorities2");
-        vm = new UserVM("fakeLogin",set);
-        json = vm.toString().replace(UserVM.class.getSimpleName(), "");
-        assertTrue(TestUtils.isValid(json));
-    }
-
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/package-info.java b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/package-info.java
deleted file mode 100644
index 6dbb677447a0e350cef02f982271a1552b4d6806..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/java/io/github/jhipster/registry/web/rest/vm/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Tests of View Models used by Spring MVC REST controllers.
- */
-package io.github.jhipster.registry.web.rest.vm;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/karma.conf.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/karma.conf.js
deleted file mode 100644
index 9518357adb42c9deb702b0e8bc38ec3e50111ff6..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/karma.conf.js
+++ /dev/null
@@ -1,136 +0,0 @@
-'use strict';
-
-const path = require('path');
-const webpack = require('webpack');
-const WATCH = process.argv.indexOf('--watch') > -1;
-const LoaderOptionsPlugin = require("webpack/lib/LoaderOptionsPlugin");
-
-module.exports = function (config) {
-    config.set({
-
-        // base path that will be used to resolve all patterns (eg. files, exclude)
-        basePath: './',
-
-        // frameworks to use
-        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
-        frameworks: ['jasmine', 'intl-shim'],
-
-        // list of files / patterns to load in the browser
-        files: [
-            'spec/entry.ts'
-        ],
-
-
-        // list of files to exclude
-        exclude: [],
-
-        // preprocess matching files before serving them to the browser
-        // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
-        preprocessors: {
-            'spec/entry.ts': ['webpack', 'sourcemap']
-        },
-
-        webpack: {
-            resolve: {
-                extensions: ['.ts', '.js']
-            },
-            module: {
-                rules: [
-                    {
-                        test: /\.ts$/, enforce: 'pre', loader: 'tslint-loader', exclude: /(test|node_modules)/
-                    },
-                    {
-                        test: /\.ts$/,
-                        loaders: ['awesome-typescript-loader', 'angular2-template-loader?keepUrl=true'],
-                        exclude: /node_modules/
-                    },
-                    {
-                        test: /\.(html|css)$/,
-                        loader: 'raw-loader',
-                        exclude: /\.async\.(html|css)$/
-                    },
-                    {
-                        test: /\.async\.(html|css)$/,
-                        loaders: ['file?name=[name].[hash].[ext]', 'extract']
-                    },
-                    {
-                        test: /\.scss$/,
-                        loaders: ['to-string-loader', 'css-loader', 'sass-loader']
-                    },
-                    {
-                        test: /\.(jpe?g|png|gif|svg|woff2?|ttf|eot)$/i,
-                        loaders: ['file-loader?hash=sha512&digest=hex&name=[hash].[ext]']
-                    },
-                    {
-                        test: /src[\/|\\]main[\/|\\]webapp[\/|\\].+\.ts$/,
-                        enforce: 'post',
-                        exclude: /(test|node_modules)/,
-                        loader: 'sourcemap-istanbul-instrumenter-loader?force-sourcemap=true'
-                    }]
-            },
-            devtool: 'inline-source-map',
-            plugins: [
-                new webpack.ContextReplacementPlugin(
-                    // The (\\|\/) piece accounts for path separators in *nix and Windows
-                    /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
-                    root('./src') // location of your src
-                ),
-                new LoaderOptionsPlugin({
-                    options: {
-                        tslint: {
-                            emitErrors: !WATCH,
-                            failOnHint: false
-                        }
-                    }
-                })
-            ]
-        },
-
-        // test results reporter to use
-        // possible values: 'dots', 'progress'
-        // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-        reporters: ['dots', 'junit', 'progress', 'karma-remap-istanbul', 'notify'],
-
-        junitReporter: {
-            outputFile: '../../../../target/test-results/karma/TESTS-results.xml'
-        },
-
-        notifyReporter: {
-            reportEachFailure: true, // Default: false, will notify on every failed sepc
-            reportSuccess: true // Default: true, will notify when a suite was successful
-        },
-
-
-        remapIstanbulReporter: {
-            reports: { // eslint-disable-line
-                'html': 'target/test-results/coverage',
-                'text-summary': null
-            }
-        },
-
-        // web server port
-        port: 9876,
-
-        // enable / disable colors in the output (reporters and logs)
-        colors: true,
-
-        // level of logging
-        // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-        logLevel: config.LOG_INFO,
-
-        // enable / disable watching file and executing tests whenever any file changes
-        autoWatch: WATCH,
-
-        // start these browsers
-        // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-        browsers: ['PhantomJS'],
-
-        // Continuous Integration mode
-        // if true, Karma captures browsers, runs the tests and exits
-        singleRun: !WATCH
-    });
-};
-
-function root(__path) {
-    return path.join(__dirname, __path);
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/admin/health/health.component.spec.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/admin/health/health.component.spec.ts
deleted file mode 100644
index 2f5aee0ecf07f41375a9a3f5b9c4ec5c151bd120..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/admin/health/health.component.spec.ts
+++ /dev/null
@@ -1,288 +0,0 @@
-import { ComponentFixture, TestBed, async } from '@angular/core/testing';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
-import { JHipsterRegistryTestModule } from '../../../test.module';
-import { JhiHealthCheckComponent } from '../../../../../../main/webapp/app/admin/health/health.component';
-import { JhiHealthService } from '../../../../../../main/webapp/app/admin/health/health.service';
-import { JhiRoutesService } from '../../../../../../main/webapp/app/shared/routes/routes.service';
-
-describe('Component Tests', () => {
-
-    describe('JhiHealthCheckComponent', () => {
-
-        let comp: JhiHealthCheckComponent;
-        let fixture: ComponentFixture<JhiHealthCheckComponent>;
-        let service: JhiHealthService;
-
-        beforeEach(async(() => {
-            TestBed.configureTestingModule({
-                imports: [JHipsterRegistryTestModule],
-                declarations: [JhiHealthCheckComponent],
-                providers: [
-                    JhiHealthService,
-                    {
-                        provide: NgbModal,
-                        useValue: null
-                    },
-                    JhiRoutesService
-                ]
-            })
-            .overrideComponent(JhiHealthCheckComponent, {
-                set: {
-                    template: ''
-                }
-            })
-            .compileComponents();
-        }));
-
-        beforeEach(() => {
-            fixture = TestBed.createComponent(JhiHealthCheckComponent);
-            comp = fixture.componentInstance;
-            service = fixture.debugElement.injector.get(JhiHealthService);
-        });
-
-        describe('baseName and subSystemName', () => {
-            it('should return the basename when it has no sub system', () => {
-                expect(comp.baseName('base')).toBe('base');
-            });
-
-            it('should return the basename when it has sub systems', () => {
-                expect(comp.baseName('base.subsystem.system')).toBe('base');
-            });
-
-            it('should return the sub system name', () => {
-                expect(comp.subSystemName('subsystem')).toBe('');
-            });
-
-            it('should return the subsystem when it has multiple keys', () => {
-                expect(comp.subSystemName('subsystem.subsystem.system')).toBe(' - subsystem.system');
-            });
-        });
-
-        describe('transformHealthData', () => {
-            it('should flatten empty health data', () => {
-                const data = {};
-                const expected = [];
-                expect(service.transformHealthData(data)).toEqual(expected);
-            });
-        });
-
-        it('should flatten health data with no subsystems', () => {
-            const data = {
-                'status': 'UP',
-                'db': {
-                    'status': 'UP',
-                    'database': 'H2',
-                    'hello': '1'
-                },
-                'mail': {
-                    'status': 'UP',
-                    'error': 'mail.a.b.c'
-                }
-            };
-            const expected = [
-                {
-                    'name': 'db',
-                    'status': 'UP',
-                    'details': {
-                        'database': 'H2',
-                        'hello': '1'
-                    }
-                },
-                {
-                    'name': 'mail',
-                    'error': 'mail.a.b.c',
-                    'status': 'UP'
-                }
-            ];
-            expect(service.transformHealthData(data)).toEqual(expected);
-        });
-
-        it('should flatten health data with subsystems at level 1, main system has no additional information', () => {
-            const data = {
-                'status': 'UP',
-                'db': {
-                    'status': 'UP',
-                    'database': 'H2',
-                    'hello': '1'
-                },
-                'mail': {
-                    'status': 'UP',
-                    'error': 'mail.a.b.c'
-                },
-                'system': {
-                    'status': 'DOWN',
-                    'subsystem1': {
-                        'status': 'UP',
-                        'property1': 'system.subsystem1.property1'
-                    },
-                    'subsystem2': {
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            };
-            const expected = [
-                {
-                    'name': 'db',
-                    'status': 'UP',
-                    'details': {
-                        'database': 'H2',
-                        'hello': '1'
-                    }
-                },
-                {
-                    'name': 'mail',
-                    'error': 'mail.a.b.c',
-                    'status': 'UP'
-                },
-                {
-                    'name': 'system.subsystem1',
-                    'status': 'UP',
-                    'details': {
-                        'property1': 'system.subsystem1.property1'
-                    }
-                },
-                {
-                    'name': 'system.subsystem2',
-                    'error': 'system.subsystem1.error',
-                    'status': 'DOWN',
-                    'details': {
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            ];
-            expect(service.transformHealthData(data)).toEqual(expected);
-        });
-
-        it('should flatten health data with subsystems at level 1, main system has additional information', () => {
-            const data = {
-                'status': 'UP',
-                'db': {
-                    'status': 'UP',
-                    'database': 'H2',
-                    'hello': '1'
-                },
-                'mail': {
-                    'status': 'UP',
-                    'error': 'mail.a.b.c'
-                },
-                'system': {
-                    'status': 'DOWN',
-                    'property1': 'system.property1',
-                    'subsystem1': {
-                        'status': 'UP',
-                        'property1': 'system.subsystem1.property1'
-                    },
-                    'subsystem2': {
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            };
-            const expected = [
-                {
-                    'name': 'db',
-                    'status': 'UP',
-                    'details': {
-                        'database': 'H2',
-                        'hello': '1'
-                    }
-                },
-                {
-                    'name': 'mail',
-                    'error': 'mail.a.b.c',
-                    'status': 'UP'
-                },
-                {
-                    'name': 'system',
-                    'status': 'DOWN',
-                    'details': {
-                        'property1': 'system.property1'
-                    }
-                },
-                {
-                    'name': 'system.subsystem1',
-                    'status': 'UP',
-                    'details': {
-                        'property1': 'system.subsystem1.property1'
-                    }
-                },
-                {
-                    'name': 'system.subsystem2',
-                    'error': 'system.subsystem1.error',
-                    'status': 'DOWN',
-                    'details': {
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            ];
-            expect(service.transformHealthData(data)).toEqual(expected);
-        });
-
-        it('should flatten health data with subsystems at level 1, main system has additional error', () => {
-            const data = {
-                'status': 'UP',
-                'db': {
-                    'status': 'UP',
-                    'database': 'H2',
-                    'hello': '1'
-                },
-                'mail': {
-                    'status': 'UP',
-                    'error': 'mail.a.b.c'
-                },
-                'system': {
-                    'status': 'DOWN',
-                    'error': 'show me',
-                    'subsystem1': {
-                        'status': 'UP',
-                        'property1': 'system.subsystem1.property1'
-                    },
-                    'subsystem2': {
-                        'status': 'DOWN',
-                        'error': 'system.subsystem1.error',
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            };
-            const expected = [
-                {
-                    'name': 'db',
-                    'status': 'UP',
-                    'details': {
-                        'database': 'H2',
-                        'hello': '1'
-                    }
-                },
-                {
-                    'name': 'mail',
-                    'error': 'mail.a.b.c',
-                    'status': 'UP'
-                },
-                {
-                    'name': 'system',
-                    'error': 'show me',
-                    'status': 'DOWN'
-                },
-                {
-                    'name': 'system.subsystem1',
-                    'status': 'UP',
-                    'details': {
-                        'property1': 'system.subsystem1.property1'
-                    }
-                },
-                {
-                    'name': 'system.subsystem2',
-                    'error': 'system.subsystem1.error',
-                    'status': 'DOWN',
-                    'details': {
-                        'property2': 'system.subsystem2.property2'
-                    }
-                }
-            ];
-            expect(service.transformHealthData(data)).toEqual(expected);
-        });
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/home/home.component.spec.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/home/home.component.spec.ts
deleted file mode 100644
index ac787f24de56f5e7223ead0ed5f3bd34f8cf7672..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/home/home.component.spec.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-import { ComponentFixture, TestBed, async, inject, fakeAsync, tick } from '@angular/core/testing';
-import { MockBackend } from '@angular/http/testing';
-import { Http, BaseRequestOptions } from '@angular/http';
-import { Observable } from 'rxjs';
-import { EventManager } from 'ng-jhipster';
-
-import { JHipsterRegistryTestModule } from '../../test.module';
-import { EurekaStatusService, HomeComponent } from '../../../../../main/webapp/app/home';
-import { Account, AccountService, Principal, LoginModalService } from '../../../../../main/webapp/app/shared';
-import { JhiApplicationsService } from '../../../../../main/webapp/app/registry';
-import { JhiHealthService } from '../../../../../main/webapp/app/admin/health/health.service';
-
-describe('Component Tests', () => {
-
-    describe('HomeComponent', () => {
-
-        let account: Account;
-        let comp: HomeComponent;
-        let fixture: ComponentFixture<HomeComponent>;
-        let principal: Principal;
-
-        beforeEach(async(() => {
-            TestBed.configureTestingModule({
-                imports: [JHipsterRegistryTestModule],
-                declarations: [HomeComponent],
-                providers: [
-                    Principal,
-                    AccountService,
-                    EventManager,
-                    {
-                        provide: LoginModalService,
-                        useValue: {
-                            open() {
-                            }
-                        }
-                    },
-                    EurekaStatusService,
-                    JhiApplicationsService,
-                    JhiHealthService
-                ]
-            })
-            .overrideComponent(HomeComponent, {
-                set: {
-                    template: ''
-                }
-            })
-            .compileComponents();
-        }));
-
-        beforeEach(() => {
-            fixture = TestBed.createComponent(HomeComponent);
-            comp = fixture.componentInstance;
-            principal = fixture.debugElement.injector.get(Principal);
-
-            account = new Account(true, ['ROLE_ADMIN'],
-                'admin@admin.com',
-                'firstname',
-                'en',
-                'lastname',
-                'admin', '');
-            spyOn(principal, 'identity').and.returnValue(Promise.resolve(account));
-            spyOn(principal, 'isAuthenticated').and.returnValue(true);
-        });
-
-        it('populate Dashboard with Eureka status data',
-            fakeAsync(
-                inject([EurekaStatusService], (service: EurekaStatusService) => {
-                    spyOn(service, 'findAll').and.returnValue(Observable.of({
-                        status: {
-                            environment: 'test'
-                        }
-                    }));
-
-                    comp.ngOnInit();
-                    tick();
-
-                    expect(service.findAll).toHaveBeenCalled();
-                    expect(comp.status).toEqual({environment: 'test'});
-                })
-            )
-        );
-
-        it('populate Dashboard with Applications data',
-            fakeAsync(
-                inject([JhiApplicationsService], (service: JhiApplicationsService) => {
-
-                    spyOn(service, 'findAll').and.returnValue(Observable.of({
-                        status: null,
-                        applications: [
-                            {
-                                name: 'app1',
-                                instances: [
-                                    {
-                                        instanceId: 1,
-                                        status: 'UP'
-                                    },
-                                    {
-                                        instanceId: 2,
-                                        status: 'DOWN'
-                                    }
-                                ]
-                            },
-                            {
-                                name: 'app2',
-                                instances: [
-                                    {
-                                        instanceId: 3,
-                                        status: 'UP'
-                                    }
-                                ]
-                            }
-                        ]
-                    }));
-
-                    comp.ngOnInit();
-                    tick();
-
-                    expect(service.findAll).toHaveBeenCalled();
-                    expect(comp.appInstances.length).toEqual(3);
-                })
-            )
-        );
-    });
-})
-;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/applications/applications.component.spec.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/applications/applications.component.spec.ts
deleted file mode 100644
index af4a0de6b9440bd35a4b16e6b89a5dfbd9cbe981..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/applications/applications.component.spec.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { ComponentFixture, TestBed, async, inject, fakeAsync, tick } from '@angular/core/testing';
-import { Observable } from 'rxjs';
-
-import { JHipsterRegistryTestModule } from '../../../test.module';
-import { JhiApplicationsComponent, JhiApplicationsService } from '../../../../../../main/webapp/app/registry';
-
-describe('Component Tests', () => {
-
-    describe('ApplicationsComponent', () => {
-
-        let comp: JhiApplicationsComponent;
-        let fixture: ComponentFixture<JhiApplicationsComponent>;
-
-        beforeEach(async(() => {
-            TestBed.configureTestingModule({
-                imports: [JHipsterRegistryTestModule],
-                declarations: [JhiApplicationsComponent],
-                providers: [
-                    JhiApplicationsService
-                ]
-            })
-            .overrideComponent(JhiApplicationsComponent, {
-                set: {
-                    template: ''
-                }
-            })
-            .compileComponents();
-        }));
-
-        beforeEach(() => {
-            fixture = TestBed.createComponent(JhiApplicationsComponent);
-            comp = fixture.componentInstance;
-        });
-
-        it('refresh data',
-            fakeAsync(
-                inject([JhiApplicationsService], (service: JhiApplicationsService) => {
-                    const response = {
-                        applications: [
-                            {
-                                name: 'app1',
-                                instances: [
-                                    {
-                                        instanceId: 1,
-                                        status: 'UP',
-                                        homePageUrl: 'home'
-                                    }
-                                ]
-                            },
-                            {
-                                name: 'app2',
-                                instances: [
-                                    {
-                                        instanceId: 2,
-                                        status: 'UP',
-                                        homePageUrl: 'home'
-                                    },
-                                    {
-                                        instanceId: 3,
-                                        status: 'UP',
-                                        homePageUrl: 'home'
-                                    }
-                                ]
-                            }
-                        ]
-                    };
-                    spyOn(service, 'findAll').and.returnValue(Observable.of(response));
-
-                    comp.ngOnInit();
-                    tick();
-
-                    expect(service.findAll).toHaveBeenCalled();
-                    expect(comp.data).toEqual(response);
-                })
-            )
-        );
-    });
-})
-;
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/history/history.component.spec.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/history/history.component.spec.ts
deleted file mode 100644
index e97182d5135d5d569d293c9757f7e118ef873e56..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/app/registry/history/history.component.spec.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { ComponentFixture, TestBed, async, inject, fakeAsync, tick } from '@angular/core/testing';
-import { MockBackend } from '@angular/http/testing';
-import { Http, BaseRequestOptions } from '@angular/http';
-import { Observable } from 'rxjs';
-
-import { JHipsterRegistryTestModule } from '../../../test.module';
-import { JhiHistoryComponent, JhiHistoryService } from '../../../../../../main/webapp/app/registry';
-
-
-describe('Component Tests', () => {
-
-    describe('HistoryComponent', () => {
-
-        let comp: JhiHistoryComponent;
-        let fixture: ComponentFixture<JhiHistoryComponent>;
-
-        beforeEach(async(() => {
-            TestBed.configureTestingModule({
-                imports: [JHipsterRegistryTestModule],
-                declarations: [JhiHistoryComponent],
-                providers: [
-                    JhiHistoryService
-                ]
-            })
-            .overrideComponent(JhiHistoryComponent, {
-                set: {
-                    template: ''
-                }
-            })
-            .compileComponents();
-        }));
-
-        beforeEach(() => {
-            fixture = TestBed.createComponent(JhiHistoryComponent);
-            comp = fixture.componentInstance;
-        });
-
-        it('refresh data',
-            fakeAsync(
-                inject([JhiHistoryService], (service: JhiHistoryService) => {
-                    const response = {
-                        'canceled': {
-                            '11052017': 'instance1'
-                        },
-                        'registered': {
-                            '11022017': 'instance2'
-                        }
-                    };
-                    spyOn(service, 'findAll').and.returnValue(Observable.of(response));
-
-                    comp.refresh();
-                    tick();
-
-                    expect(service.findAll).toHaveBeenCalled();
-                    expect(comp.data).toEqual(response);
-                })
-            )
-        );
-
-        it('activate registered tab',
-            fakeAsync(
-                inject([JhiHistoryService], (service: JhiHistoryService) => {
-                    const response = {
-                        'canceled': {
-                            '11052017': 'instance1'
-                        },
-                        'registered': {
-                            '11022017': 'instance2'
-                        }
-                    };
-                    spyOn(service, 'findAll').and.returnValue(Observable.of(response));
-
-                    comp.ngOnInit();
-                    tick();
-                    comp.activate('registered');
-
-                    expect(comp.items[0]).toEqual({key: '11022017', value: 'instance2'});
-                })
-            )
-        );
-    });
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/entry.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/entry.ts
deleted file mode 100644
index 64edbafb93c482bcf215cd348cb0d06ccd416d0c..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/entry.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/// <reference path="../../../../node_modules/@types/jasmine/index.d.ts" />
-import 'core-js';
-import 'zone.js/dist/zone';
-import 'zone.js/dist/long-stack-trace-zone';
-import 'zone.js/dist/async-test';
-import 'zone.js/dist/fake-async-test';
-import 'zone.js/dist/sync-test';
-import 'zone.js/dist/proxy';
-import 'zone.js/dist/jasmine-patch';
-import 'rxjs';
-import 'intl/locale-data/jsonp/en-US.js';
-import { TestBed } from '@angular/core/testing';
-import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
-
-TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
-
-declare let require: any;
-const testsContext: any = require.context('./', true, /\.spec/);
-testsContext.keys().forEach(testsContext);
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-account.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-account.service.ts
deleted file mode 100644
index e21c10a3700417b15600e15723edf46dcda49f60..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-account.service.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { SpyObject } from './spyobject';
-import { AccountService } from '../../../../main/webapp/app/shared/auth/account.service';
-import Spy = jasmine.Spy;
-
-export class MockAccountService extends SpyObject {
-
-    getSpy: Spy;
-    saveSpy: Spy;
-    fakeResponse: any;
-
-    constructor() {
-        super(AccountService);
-
-        this.fakeResponse = null;
-        this.getSpy = this.spy('get').andReturn(this);
-        this.saveSpy = this.spy('save').andReturn(this);
-    }
-
-    subscribe(callback: any) {
-        callback(this.fakeResponse);
-    }
-
-    setResponse(json: any): void {
-        this.fakeResponse = json;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-principal.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-principal.service.ts
deleted file mode 100644
index 89b932b83c1bdf7651d8b407fc7dca972cb4fb7a..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-principal.service.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { SpyObject } from './spyobject';
-import { Principal } from '../../../../main/webapp/app/shared/auth/principal.service';
-import Spy = jasmine.Spy;
-
-export class MockPrincipal extends SpyObject {
-
-    identitySpy: Spy;
-    fakeResponse: any;
-
-    constructor() {
-        super(Principal);
-
-        this.fakeResponse = {};
-        this.identitySpy = this.spy('identity').andReturn(Promise.resolve(this.fakeResponse));
-    }
-
-    setResponse(json: any): void {
-        this.fakeResponse = json;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-route.service.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-route.service.ts
deleted file mode 100644
index ff8ef6a443471c26c6cfe1c768edb5a2126f9a24..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/mock-route.service.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { ActivatedRoute } from '@angular/router';
-import { Observable } from 'rxjs';
-
-export class MockActivatedRoute extends ActivatedRoute {
-
-    constructor(parameters?: any) {
-        super();
-        this.queryParams = Observable.of(parameters);
-        this.params = Observable.of(parameters);
-    }
-}
-
-export class MockRouter {
-    navigate = jasmine.createSpy('navigate');
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/spyobject.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/spyobject.ts
deleted file mode 100644
index 4db41fb8df3ed626fbffe2bc7de71ad4f61fcbb7..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/helpers/spyobject.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-export interface GuinessCompatibleSpy extends jasmine.Spy {
-    /** By chaining the spy with and.returnValue, all calls to the function will return a specific
-     * value. */
-    andReturn(val: any): void;
-    /** By chaining the spy with and.callFake, all calls to the spy will delegate to the supplied
-     * function. */
-    andCallFake(fn: Function): GuinessCompatibleSpy;
-    /** removes all recorded calls */
-    reset();
-}
-
-export class SpyObject {
-    static stub(object = null, config = null, overrides = null) {
-        if (!(object instanceof SpyObject)) {
-            overrides = config;
-            config = object;
-            object = new SpyObject();
-        }
-
-        let m = {};
-        Object.keys(config).forEach((key) => m[key] = config[key]);
-        Object.keys(overrides).forEach((key) => m[key] = overrides[key]);
-        Object.keys(m).forEach((key) => {
-            object.spy(key).andReturn(m[key]);
-        });
-        return object;
-    }
-
-    constructor(type = null) {
-        if (type) {
-            Object.keys(type.prototype).forEach((prop) => {
-                let m = null;
-                try {
-                    m = type.prototype[prop];
-                } catch (e) {
-                    // As we are creating spys for abstract classes,
-                    // these classes might have getters that throw when they are accessed.
-                    // As we are only auto creating spys for methods, this
-                    // should not matter.
-                }
-                if (typeof m === 'function') {
-                    this.spy(prop);
-                }
-            });
-        }
-    }
-
-    spy(name) {
-        if (!this[name]) {
-            this[name] = this._createGuinnessCompatibleSpy(name);
-        }
-        return this[name];
-    }
-
-    prop(name, value) {
-        this[name] = value;
-    }
-
-    /** @internal */
-    _createGuinnessCompatibleSpy(name): GuinessCompatibleSpy {
-        let newSpy: GuinessCompatibleSpy = < any > jasmine.createSpy(name);
-        newSpy.andCallFake = < any > newSpy.and.callFake;
-        newSpy.andReturn = < any > newSpy.and.returnValue;
-        newSpy.reset = < any > newSpy.calls.reset;
-        // revisit return null here (previously needed for rtts_assert).
-        newSpy.and.returnValue(null);
-        return newSpy;
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/test.module.ts b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/test.module.ts
deleted file mode 100644
index f16b5fcc7d8de142019a70c89da3d093e9263814..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/javascript/spec/test.module.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { NgModule } from '@angular/core';
-import { MockBackend } from '@angular/http/testing';
-import { Http, BaseRequestOptions } from '@angular/http';
-import { SessionStorageService } from 'ng2-webstorage';
-import { JhiRefreshService } from '../../../main/webapp/app/shared/refresh/refresh.service';
-
-@NgModule({
-    providers: [
-        MockBackend,
-        SessionStorageService,
-        JhiRefreshService,
-        BaseRequestOptions,
-        {
-            provide: Http,
-            useFactory: (backendInstance: MockBackend, defaultOptions: BaseRequestOptions) => {
-                return new Http(backendInstance, defaultOptions);
-            },
-            deps: [MockBackend, BaseRequestOptions]
-        }
-    ]
-})
-export class JHipsterRegistryTestModule {}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/config/application.yml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/config/application.yml
deleted file mode 100644
index c16c81082718387ba72603b6731f1d30b1049c60..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/config/application.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# ===================================================================
-# Spring Boot configuration.
-#
-# This configuration is used for unit/integration tests.
-#
-# More information on profiles: https://jhipster.github.io/profiles/
-# More information on configuration properties: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-# ===================================================================
-# Standard Spring Boot properties.
-# Full reference is available at:
-# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
-# ===================================================================
-
-spring:
-    application:
-        name: JHipsterRegistry
-    jackson:
-        serialization.write_dates_as_timestamps: false
-    mail:
-        host: localhost
-    mvc:
-        favicon:
-            enabled: false
-    thymeleaf:
-        mode: XHTML
-
-security:
-    basic:
-        enabled: false
-
-server:
-    port: 10344
-    address: localhost
-
-# ===================================================================
-# JHipster specific properties
-#
-# Full reference is available at: https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-jhipster:
-    async:
-        core-pool-size: 1
-        max-pool-size: 50
-        queue-capacity: 10000
-    security:
-        authentication:
-            jwt:
-                secret: c9d37cefc48581919939d587c750ea215020765b
-                # Token is valid 24 hours
-                token-validity-in-seconds: 86400
-    metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
-        jmx.enabled: true
-
-# ===================================================================
-# Application specific properties
-# Add your own application properties here, see the ApplicationProperties class
-# to have type-safe configuration, like in the JHipsterProperties above
-#
-# More documentation is available at:
-# https://jhipster.github.io/common-application-properties/
-# ===================================================================
-
-application:
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/logback.xml b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/logback.xml
deleted file mode 100644
index 9e964c74286473ad95edcd1c498c949c828790c3..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/src/test/resources/logback.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration scan="true">
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-
-    <logger name="io.github.jhipster.registry" level="INFO"/>
-
-    <logger name="io.github.jhipster" level="WARN"/>
-
-    <logger name="javax.activation" level="WARN"/>
-    <logger name="javax.mail" level="WARN"/>
-    <logger name="javax.xml.bind" level="WARN"/>
-    <logger name="ch.qos.logback" level="WARN"/>
-    <logger name="com.codahale.metrics" level="WARN"/>
-    <logger name="com.netflix" level="WARN"/>
-    <logger name="com.netflix.discovery" level="INFO"/>
-    <logger name="com.ryantenney" level="WARN"/>
-    <logger name="com.sun" level="WARN"/>
-    <logger name="com.zaxxer" level="WARN"/>
-    <logger name="io.undertow" level="WARN"/>
-    <logger name="io.undertow.websockets.jsr" level="ERROR"/>
-    <logger name="org.apache" level="WARN"/>
-    <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
-    <logger name="org.bson" level="WARN"/>
-    <logger name="org.hibernate.validator" level="WARN"/>
-    <logger name="org.springframework" level="WARN"/>
-    <logger name="org.springframework.web" level="WARN"/>
-    <logger name="org.springframework.security" level="WARN"/>
-    <logger name="org.springframework.cache" level="WARN"/>
-    <logger name="org.thymeleaf" level="WARN"/>
-    <logger name="org.xnio" level="WARN"/>
-    <logger name="springfox" level="WARN"/>
-    <logger name="sun.rmi" level="WARN"/>
-    <logger name="sun.net.www" level="INFO"/>
-    <logger name="sun.rmi.transport" level="WARN"/>
-
-    <root level="WARN">
-        <appender-ref ref="CONSOLE"/>
-    </root>
-
-</configuration>
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig-aot.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig-aot.json
deleted file mode 100644
index 1c7e65bbc2d7340081ebae67889fc82d4d0573d0..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig-aot.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "compilerOptions": {
-        "target": "es5",
-        "module": "commonjs",
-        "moduleResolution": "node",
-        "sourceMap": true,
-        "emitDecoratorMetadata": true,
-        "experimentalDecorators": true,
-        "removeComments": false,
-        "noImplicitAny": false,
-        "suppressImplicitAnyIndexErrors": true,
-        "outDir": "target/www/app",
-        "lib": ["es6", "dom"],
-        "typeRoots": [
-            "node_modules/@types"
-        ]
-    },
-
-    "files": [
-        "src/main/webapp/app/app.module.ts",
-        "src/main/webapp/app/app.main.ts"
-    ],
-
-    "angularCompilerOptions": {
-        "genDir": "target/aot",
-        "skipMetadataEmit" : true
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig.json
deleted file mode 100644
index 354ae048ad6f160547b348cb1cb073dececec522..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tsconfig.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "compilerOptions": {
-        "target": "es5",
-        "module": "commonjs",
-        "moduleResolution": "node",
-        "sourceMap": true,
-        "emitDecoratorMetadata": true,
-        "experimentalDecorators": true,
-        "removeComments": false,
-        "noImplicitAny": false,
-        "suppressImplicitAnyIndexErrors": true,
-        "outDir": "target/www/app",
-        "lib": ["es6", "dom"],
-        "typeRoots": [
-            "node_modules/@types"
-        ]
-    },
-    "include": [
-        "src/main/webapp/app",
-        "src/test/javascript"
-    ]
-}
\ No newline at end of file
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tslint.json b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tslint.json
deleted file mode 100644
index 825a2776dd831a92d1b13843bb707c0c4fa095ae..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/tslint.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
-    "rulesDirectory": [
-        "node_modules/codelyzer"
-    ],
-    "rules": {
-        "class-name": true,
-        "comment-format": [
-            true,
-            "check-space"
-        ],
-        "curly": true,
-        "eofline": true,
-        "forin": true,
-        "indent": [
-            true,
-            "spaces"
-        ],
-        "label-position": true,
-        "max-line-length": [
-            true,
-            180
-        ],
-        "member-access": false,
-        "member-ordering": [
-            true,
-            "static-before-instance",
-            "variables-before-functions"
-        ],
-        "no-arg": true,
-        "no-bitwise": true,
-        "no-console": [
-            true,
-            "debug",
-            "info",
-            "time",
-            "timeEnd",
-            "trace"
-        ],
-        "no-construct": true,
-        "no-debugger": true,
-        "no-duplicate-variable": true,
-        "no-empty": false,
-        "no-eval": true,
-        "no-inferrable-types": [true],
-        "no-shadowed-variable": true,
-        "no-string-literal": false,
-        "no-switch-case-fall-through": true,
-        "no-trailing-whitespace": true,
-        "no-unused-expression": true,
-        "no-use-before-declare": true,
-        "no-var-keyword": true,
-        "object-literal-sort-keys": false,
-        "one-line": [
-            true,
-            "check-open-brace",
-            "check-catch",
-            "check-else",
-            "check-whitespace"
-        ],
-        "quotemark": [
-            true,
-            "single"
-        ],
-        "radix": true,
-        "semicolon": [
-            "always"
-        ],
-        "triple-equals": [
-            true,
-            "allow-null-check"
-        ],
-        "typedef-whitespace": [
-            true,
-            {
-                "call-signature": "nospace",
-                "index-signature": "nospace",
-                "parameter": "nospace",
-                "property-declaration": "nospace",
-                "variable-declaration": "nospace"
-            }
-        ],
-        "variable-name": false,
-        "whitespace": [
-            true,
-            "check-branch",
-            "check-decl",
-            "check-operator",
-            "check-separator",
-            "check-type"
-        ],
-        "prefer-const": true,
-        "arrow-parens": [true],
-        "arrow-return-shorthand": [true],
-        "import-spacing": true,
-        "no-consecutive-blank-lines": [true],
-        "object-literal-shorthand": true,
-        "space-before-function-paren": [true, "never"],
-
-        "directive-selector": [true, "attribute", "jhi", "camelCase"],
-        "component-selector": [true, "element", "jhi", "kebab-case"],
-        "use-input-property-decorator": true,
-        "use-output-property-decorator": true,
-        "use-host-property-decorator": true,
-        "no-input-rename": true,
-        "no-output-rename": true,
-        "use-life-cycle-interface": true,
-        "use-pipe-transform-interface": false,
-        "component-class-suffix": true,
-        "directive-class-suffix": true,
-        "no-access-missing-member": true,
-        "templates-use-public": true,
-        "invoke-injectable": true
-    }
-}
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/logo-jhipster.png b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/logo-jhipster.png
deleted file mode 100644
index d8eb48da05c157571eed9fd7303f8d9566f2ea12..0000000000000000000000000000000000000000
Binary files a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/logo-jhipster.png and /dev/null differ
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.common.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.common.js
deleted file mode 100644
index b5dd6a6f2d72865c75391825335df0c3d21e7ae5..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.common.js
+++ /dev/null
@@ -1,117 +0,0 @@
-const webpack = require('webpack');
-const CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin');
-const CopyWebpackPlugin = require('copy-webpack-plugin');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const StringReplacePlugin = require('string-replace-webpack-plugin');
-const AddAssetHtmlPlugin = require('add-asset-html-webpack-plugin');
-const WebpackNotifierPlugin = require('webpack-notifier');
-const path = require('path');
-
-module.exports = function (options) {
-    const DATAS = {
-        VERSION: JSON.stringify(require("../package.json").version),
-        DEBUG_INFO_ENABLED: options.env === 'dev'
-    };
-    return {
-        entry: {
-            'polyfills': './src/main/webapp/app/polyfills',
-            'global': './src/main/webapp/content/scss/global.scss',
-            'main': './src/main/webapp/app/app.main'
-        },
-        resolve: {
-            extensions: ['.ts', '.js'],
-            modules: ['node_modules']
-        },
-        module: {
-            rules: [
-                { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports-loader?jQuery=jquery' },
-                {
-                    test: /\.ts$/,
-                    loaders: [
-                        'angular2-template-loader',
-                        'awesome-typescript-loader'
-                    ],
-                    exclude: ['node_modules/generator-jhipster']
-                },
-                {
-                    test: /\.html$/,
-                    loader: 'html-loader',
-                    options: {
-                        minimize: true,
-                        caseSensitive: true,
-                        removeAttributeQuotes:false,
-                        minifyJS:false,
-                        minifyCSS:false
-                    },
-                    exclude: ['./src/main/webapp/index.html']
-                },
-                {
-                    test: /\.scss$/,
-                    loaders: ['to-string-loader', 'css-loader', 'sass-loader'],
-                    exclude: /(vendor\.scss|global\.scss)/
-                },
-                {
-                    test: /(vendor\.scss|global\.scss)/,
-                    loaders: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
-                },
-                {
-                    test: /\.css$/,
-                    loaders: ['to-string-loader', 'css-loader'],
-                    exclude: /(vendor\.css|global\.css)/
-                },
-                {
-                    test: /(vendor\.css|global\.css)/,
-                    loaders: ['style-loader', 'css-loader']
-                },
-                {
-                    test: /\.(jpe?g|png|gif|svg|woff2?|ttf|eot)$/i,
-                    loaders: ['file-loader?hash=sha512&digest=hex&name=[hash].[ext]']
-                },
-                {
-                    test: /app.constants.ts$/,
-                    loader: StringReplacePlugin.replace({
-                        replacements: [{
-                            pattern: /\/\* @toreplace (\w*?) \*\//ig,
-                            replacement: function (match, p1, offset, string) {
-                                return `_${p1} = ${DATAS[p1]};`;
-                            }
-                        }]
-                    })
-                }
-            ]
-        },
-        plugins: [
-            new CommonsChunkPlugin({
-                names: ['manifest', 'polyfills'].reverse()
-            }),
-            new webpack.DllReferencePlugin({
-                context: './',
-                manifest: require(path.resolve('./target/www/vendor.json'))
-            }),
-            new CopyWebpackPlugin([
-                { from: './node_modules/core-js/client/shim.min.js', to: 'core-js-shim.min.js' },
-                { from: './node_modules/swagger-ui/dist', to: 'swagger-ui/dist' },
-                { from: './src/main/webapp/swagger-ui/', to: 'swagger-ui' },
-                { from: './src/main/webapp/favicon.ico', to: 'favicon.ico' },
-                { from: './src/main/webapp/robots.txt', to: 'robots.txt' }
-            ]),
-            new webpack.ProvidePlugin({
-                $: "jquery",
-                jQuery: "jquery"
-            }),
-            new HtmlWebpackPlugin({
-                template: './src/main/webapp/index.html',
-                chunksSortMode: 'dependency',
-                inject: 'body'
-            }),
-            new AddAssetHtmlPlugin([
-                { filepath: path.resolve('./target/www/vendor.dll.js'), includeSourcemap: false }
-            ]),
-            new StringReplacePlugin(),
-            new WebpackNotifierPlugin({
-                title: 'JHipster',
-                contentImage: path.join(__dirname, 'logo-jhipster.png')
-            })
-        ]
-    };
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.dev.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.dev.js
deleted file mode 100644
index 3bcd85f6acdbb3e6be88fd276fcc72d708532c54..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.dev.js
+++ /dev/null
@@ -1,68 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-const commonConfig = require('./webpack.common.js');
-const writeFilePlugin = require('write-file-webpack-plugin');
-const webpackMerge = require('webpack-merge');
-const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
-const ExtractTextPlugin = require("extract-text-webpack-plugin");
-const ENV = 'dev';
-const execSync = require('child_process').execSync;
-const fs = require('fs');
-const ddlPath = './target/www/vendor.json';
-
-if (!fs.existsSync(ddlPath)) {
-    execSync('webpack --config webpack/webpack.vendor.js');
-}
-
-module.exports = webpackMerge(commonConfig({ env: ENV }), {
-    devtool: 'inline-source-map',
-    devServer: {
-        contentBase: './target/www',
-        proxy: [{
-            context: [
-                /* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
-                '/api',
-                '/services',
-                '/management',
-                '/swagger-resources',
-                '/v2/api-docs',
-                '/h2-console',
-                "/config"
-            ],
-            target: 'http://127.0.0.1:8761',
-            secure: false
-        }]
-    },
-    output: {
-        path: path.resolve('target/www'),
-        filename: '[name].bundle.js',
-        chunkFilename: '[id].chunk.js'
-    },
-    module: {
-        rules: [{
-            test: /\.ts$/,
-            loaders: [
-                'tslint-loader'
-            ],
-            exclude: ['node_modules', new RegExp('reflect-metadata\\' + path.sep + 'Reflect\\.ts')]
-        }]
-    },
-    plugins: [
-        new BrowserSyncPlugin({
-            host: 'localhost',
-            port: 9000,
-            proxy: {
-                target: 'http://localhost:9060'
-            }
-        }, {
-            reload: false
-        }),
-        new ExtractTextPlugin('styles.css'),
-        new webpack.NoEmitOnErrorsPlugin(),
-        new webpack.NamedModulesPlugin(),
-        new writeFilePlugin(),
-        new webpack.WatchIgnorePlugin([
-            path.resolve('./src/test'),
-        ])
-    ]
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.prod.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.prod.js
deleted file mode 100644
index e1dc5e5a7a0d579ffba633e55795acb53eb9fb62..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.prod.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const commonConfig = require('./webpack.common.js');
-const webpackMerge = require('webpack-merge');
-const CopyWebpackPlugin = require('copy-webpack-plugin');
-const ExtractTextPlugin = require("extract-text-webpack-plugin");
-const Visualizer = require('webpack-visualizer-plugin');
-const path = require('path');
-const ENV = 'prod';
-
-module.exports = webpackMerge(commonConfig({ env: ENV }), {
-    devtool: 'source-map',
-    output: {
-        path: path.resolve('./target/www'),
-        filename: '[hash].[name].bundle.js',
-        chunkFilename: '[hash].[id].chunk.js'
-    },
-    plugins: [
-        new ExtractTextPlugin('[hash].styles.css'),
-        new Visualizer({
-            // Webpack statistics in target folder
-            filename: '../stats.html'
-        })
-    ]
-});
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.vendor.js b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.vendor.js
deleted file mode 100644
index b3f36cffc233a34c94fbd2df7e947e2c485f2927..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/webpack/webpack.vendor.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const webpack = require('webpack');
-const path = require('path');
-module.exports = {
-    entry: {
-        'vendor': [
-            './src/main/webapp/app/vendor',
-            '@angular/common',
-            '@angular/compiler',
-            '@angular/core',
-            '@angular/forms',
-            '@angular/http',
-            '@angular/platform-browser',
-            '@angular/platform-browser-dynamic',
-            '@angular/router',
-            '@ng-bootstrap/ng-bootstrap',
-            'angular2-cookie',
-            'ngx-infinite-scroll',
-            'jquery',
-            'ng-jhipster',
-            'ng2-webstorage',
-            'rxjs'
-        ]
-    },
-    resolve: {
-        extensions: ['.ts', '.js'],
-        modules: ['node_modules']
-    },
-    module: {
-        exprContextCritical: false,
-        rules: [
-            {
-                test: /(vendor\.scss|global\.scss)/,
-                loaders: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
-            },
-            {
-                test: /\.(jpe?g|png|gif|svg|woff2?|ttf|eot)$/i,
-                loaders: ['file-loader?hash=sha512&digest=hex&name=[hash].[ext]']
-            }
-        ]
-    },
-    output: {
-        filename: '[name].dll.js',
-        path: path.resolve('./target/www'),
-        library: '[name]'
-    },
-    plugins: [
-        new webpack.DllPlugin({
-            name: '[name]',
-            path: path.resolve('./target/www/[name].json')
-        })
-    ]
-};
diff --git a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/yarn.lock b/ACSmI/Discovery/eu.decideh2020.acsmi.registry/yarn.lock
deleted file mode 100644
index 96d570ba51603cd4673de02511ea49248aa58e79..0000000000000000000000000000000000000000
--- a/ACSmI/Discovery/eu.decideh2020.acsmi.registry/yarn.lock
+++ /dev/null
@@ -1,7841 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@angular/cli@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.0.0.tgz#7bfde1e7c5f28bf5bed4dda1352ee67ee887302f"
-  dependencies:
-    "@ngtools/json-schema" "1.0.5"
-    "@ngtools/webpack" "1.3.0"
-    autoprefixer "^6.5.3"
-    chalk "^1.1.3"
-    common-tags "^1.3.1"
-    css-loader "^0.26.1"
-    cssnano "^3.10.0"
-    debug "^2.1.3"
-    denodeify "^1.2.1"
-    diff "^3.1.0"
-    ember-cli-normalize-entity-name "^1.0.0"
-    ember-cli-string-utils "^1.0.0"
-    exports-loader "^0.6.3"
-    extract-text-webpack-plugin "~2.0.0"
-    file-loader "^0.10.0"
-    fs-extra "^2.0.0"
-    get-caller-file "^1.0.0"
-    glob "^7.0.3"
-    html-webpack-plugin "^2.19.0"
-    inflection "^1.7.0"
-    inquirer "^3.0.0"
-    isbinaryfile "^3.0.0"
-    istanbul-instrumenter-loader "^2.0.0"
-    json-loader "^0.5.4"
-    karma-sourcemap-loader "^0.3.7"
-    karma-webpack "^2.0.0"
-    less "^2.7.2"
-    less-loader "^2.2.3"
-    lodash "^4.11.1"
-    minimatch "^3.0.3"
-    node-modules-path "^1.0.0"
-    nopt "^4.0.1"
-    opn "4.0.2"
-    portfinder "~1.0.12"
-    postcss-loader "^0.13.0"
-    postcss-url "^5.1.2"
-    raw-loader "^0.5.1"
-    resolve "^1.1.7"
-    rimraf "^2.5.3"
-    rsvp "^3.0.17"
-    rxjs "^5.0.1"
-    sass-loader "^4.1.1"
-    script-loader "^0.7.0"
-    semver "^5.1.0"
-    silent-error "^1.0.0"
-    source-map-loader "^0.1.5"
-    style-loader "^0.13.1"
-    stylus "^0.54.5"
-    stylus-loader "^2.4.0"
-    temp "0.8.3"
-    typescript ">=2.0.0 <2.3.0"
-    url-loader "^0.5.7"
-    walk-sync "^0.3.1"
-    webpack "~2.2.0"
-    webpack-dev-server "~2.3.0"
-    webpack-merge "^2.4.0"
-    zone.js "^0.7.2"
-  optionalDependencies:
-    node-sass "^4.3.0"
-
-"@angular/common@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.0.0.tgz#ca18983222fdab4ecaa7a8b99eda6ff661e6dc92"
-
-"@angular/compiler-cli@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-4.0.0.tgz#35b2d40cd35135aecec4be659532148f5ac67da6"
-  dependencies:
-    "@angular/tsc-wrapped" "4.0.0"
-    minimist "^1.2.0"
-    reflect-metadata "^0.1.2"
-
-"@angular/compiler@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-4.0.0.tgz#e1aa061a6f8ef269f9748af1a7bc290f9d37ed6c"
-
-"@angular/core@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/core/-/core-4.0.0.tgz#fd877e074b29dfa9c63b96a21995fc7556d423a3"
-
-"@angular/forms@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-4.0.0.tgz#03163047a2e84af42106270da2e1f47ab0fafc37"
-
-"@angular/http@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/http/-/http-4.0.0.tgz#45a538eac42a0b13f3744c7e8bafeb17d58da31c"
-
-"@angular/platform-browser-dynamic@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.0.0.tgz#d1d9de80fe1e02735be89f512e0faf5a80d57fa5"
-
-"@angular/platform-browser@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-4.0.0.tgz#512ae9ab19ccc25fa79027f44e291bcee236cd2b"
-
-"@angular/router@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/router/-/router-4.0.0.tgz#f4a2dc83b44e023db1d6f2c12ca5a37a22c66afc"
-
-"@angular/tsc-wrapped@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-4.0.0.tgz#ea91eeda98029cdb0a4ac37d5e25d9d12a4333c1"
-  dependencies:
-    tsickle "^0.21.0"
-
-"@ng-bootstrap/ng-bootstrap@1.0.0-alpha.23":
-  version "1.0.0-alpha.23"
-  resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-1.0.0-alpha.23.tgz#14eb380c99dc21a49be8b9cc892ee4161d7801af"
-
-"@ngtools/json-schema@1.0.5":
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.0.5.tgz#ad39037c70c88b245ac7267a71777646b6063d77"
-
-"@ngtools/webpack@1.3.0":
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.3.0.tgz#a1071230985358ecdf87b2fa9879ae6cc6355e83"
-  dependencies:
-    enhanced-resolve "^3.1.0"
-    loader-utils "^1.0.2"
-    magic-string "^0.19.0"
-    source-map "^0.5.6"
-
-"@types/jasmine@2.5.47":
-  version "2.5.47"
-  resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.47.tgz#bbba9bcf0e95e7890c6f4a47394e8bacaa960eb6"
-
-"@types/node@7.0.12":
-  version "7.0.12"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.12.tgz#ae5f67a19c15f752148004db07cbbb372e69efc9"
-
-abbrev@1, abbrev@1.0.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
-
-accepts@1.3.3, accepts@~1.3.3:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
-  dependencies:
-    mime-types "~2.1.11"
-    negotiator "0.6.1"
-
-acorn-dynamic-import@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
-  dependencies:
-    acorn "^4.0.3"
-
-acorn-jsx@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
-  dependencies:
-    acorn "^3.0.4"
-
-acorn-object-spread@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68"
-  dependencies:
-    acorn "^3.1.0"
-
-acorn@^3.0.4, acorn@^3.1.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
-
-acorn@^4.0.3, acorn@^4.0.4:
-  version "4.0.11"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
-
-add-asset-html-webpack-plugin@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/add-asset-html-webpack-plugin/-/add-asset-html-webpack-plugin-1.0.2.tgz#f22748635fbb27724d54d8f2cd1dedb2bcd18cd0"
-  dependencies:
-    bluebird "^3.3.5"
-
-after@0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
-
-after@0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
-
-ajv-keywords@^1.1.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
-
-ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1:
-  version "4.11.6"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.6.tgz#947e93049790942b2a2d60a8289b28924d39f987"
-  dependencies:
-    co "^4.6.0"
-    json-stable-stringify "^1.0.1"
-
-align-text@^0.1.1, align-text@^0.1.3:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
-  dependencies:
-    kind-of "^3.0.2"
-    longest "^1.0.1"
-    repeat-string "^1.5.2"
-
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-
-amdefine@>=0.0.4, amdefine@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-
-angular2-cookie@1.2.6:
-  version "1.2.6"
-  resolved "https://registry.yarnpkg.com/angular2-cookie/-/angular2-cookie-1.2.6.tgz#8fa845531e777adb042fe2f339c0040f6ddbf09d"
-
-angular2-template-loader@0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz#c0d44e90fff0fac95e8b23f043acda7fd1c51d7c"
-  dependencies:
-    loader-utils "^0.2.15"
-
-ansi-align@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba"
-  dependencies:
-    string-width "^1.0.1"
-
-ansi-escapes@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-
-ansi-html@0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
-
-ansi-regex@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-styles@^2.0.0, ansi-styles@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi@^0.3.0, ansi@~0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
-
-ansicolors@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
-
-anymatch@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
-  dependencies:
-    arrify "^1.0.0"
-    micromatch "^2.1.5"
-
-app-root-path@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46"
-
-aproba@^1.0.3:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
-
-are-we-there-yet@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
-  dependencies:
-    delegates "^1.0.0"
-    readable-stream "^2.0.0 || ^1.1.13"
-
-argparse@^1.0.7:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
-  dependencies:
-    sprintf-js "~1.0.2"
-
-arr-diff@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
-  dependencies:
-    arr-flatten "^1.0.1"
-
-arr-flatten@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.2.tgz#1ec1e63439c54f67d6f72bb4299c3d4f73b2d996"
-
-array-differ@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
-
-array-find-index@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
-
-array-flatten@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
-
-array-slice@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
-
-array-union@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
-  dependencies:
-    array-uniq "^1.0.1"
-
-array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
-
-array-unique@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-
-arraybuffer.slice@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
-
-arrify@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-
-asap@~2.0.3:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
-
-asn1.js@^4.0.0:
-  version "4.9.1"
-  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
-  dependencies:
-    bn.js "^4.0.0"
-    inherits "^2.0.1"
-    minimalistic-assert "^1.0.0"
-
-asn1@~0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-assert-plus@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-
-assert@^1.1.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
-  dependencies:
-    util "0.10.3"
-
-ast-types@0.9.6:
-  version "0.9.6"
-  resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
-
-async-each-series@0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432"
-
-async-each@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
-
-async-foreach@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
-
-async@1.5.2, async@1.x, async@^1.0.0, async@^1.4.0, async@^1.4.2, async@^1.5.2:
-  version "1.5.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-
-async@^0.9.0, async@~0.9.0:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
-
-async@^2.0.0, async@^2.0.1, async@^2.1.2:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
-  dependencies:
-    lodash "^4.14.0"
-
-async@~0.2.10, async@~0.2.6:
-  version "0.2.10"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
-
-asynckit@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-autoprefixer@^6.3.1, autoprefixer@^6.5.3:
-  version "6.7.7"
-  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
-  dependencies:
-    browserslist "^1.7.6"
-    caniuse-db "^1.0.30000634"
-    normalize-range "^0.1.2"
-    num2fraction "^1.2.2"
-    postcss "^5.2.16"
-    postcss-value-parser "^3.2.3"
-
-awesome-typescript-loader@3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.1.2.tgz#3df192b91a6285f795ca65e63aad114fbb44f710"
-  dependencies:
-    colors "^1.1.2"
-    enhanced-resolve "^3.1.0"
-    loader-utils "^1.0.2"
-    lodash "^4.17.4"
-    mkdirp "^0.5.1"
-    object-assign "^4.1.1"
-    source-map-support "^0.4.11"
-
-aws-sign2@~0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
-
-aws4@^1.2.1:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-
-babel-code-frame@^6.11.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
-  dependencies:
-    chalk "^1.1.0"
-    esutils "^2.0.2"
-    js-tokens "^3.0.0"
-
-babel-generator@^6.18.0:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497"
-  dependencies:
-    babel-messages "^6.23.0"
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-    detect-indent "^4.0.0"
-    jsesc "^1.3.0"
-    lodash "^4.2.0"
-    source-map "^0.5.0"
-    trim-right "^1.0.1"
-
-babel-messages@^6.23.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-runtime@^6.18.0, babel-runtime@^6.22.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
-  dependencies:
-    core-js "^2.4.0"
-    regenerator-runtime "^0.10.0"
-
-babel-template@^6.16.0:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-    babylon "^6.11.0"
-    lodash "^4.2.0"
-
-babel-traverse@^6.18.0, babel-traverse@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695"
-  dependencies:
-    babel-code-frame "^6.22.0"
-    babel-messages "^6.23.0"
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-    babylon "^6.15.0"
-    debug "^2.2.0"
-    globals "^9.0.0"
-    invariant "^2.2.0"
-    lodash "^4.2.0"
-
-babel-types@^6.18.0, babel-types@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975"
-  dependencies:
-    babel-runtime "^6.22.0"
-    esutils "^2.0.2"
-    lodash "^4.2.0"
-    to-fast-properties "^1.0.1"
-
-babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0:
-  version "6.16.1"
-  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
-
-backo2@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
-
-balanced-match@^0.4.1, balanced-match@^0.4.2:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
-
-base62@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/base62/-/base62-1.1.2.tgz#22ced6a49913565bc0b8d9a11563a465c084124c"
-
-base64-arraybuffer@0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
-
-base64-js@^1.0.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
-
-base64id@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f"
-
-base64id@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
-
-batch@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
-
-bcrypt-pbkdf@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
-  dependencies:
-    tweetnacl "^0.14.3"
-
-beeper@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
-
-better-assert@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
-  dependencies:
-    callsite "1.0.0"
-
-big.js@^3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
-
-bin-version-check@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0"
-  dependencies:
-    bin-version "^1.0.0"
-    minimist "^1.1.0"
-    semver "^4.0.3"
-    semver-truncate "^1.0.0"
-
-bin-version@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e"
-  dependencies:
-    find-versions "^1.0.0"
-
-binary-extensions@^1.0.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
-
-"binaryextensions@1 || 2":
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.0.0.tgz#e597d1a7a6a3558a2d1c7241a16c99965e6aa40f"
-
-blob@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
-
-block-stream@*:
-  version "0.0.9"
-  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
-  dependencies:
-    inherits "~2.0.0"
-
-bluebird@^2.10.2:
-  version "2.11.0"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
-
-bluebird@^3.3.0, bluebird@^3.3.5, bluebird@^3.4.7:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
-  version "4.11.6"
-  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
-
-body-parser@^1.16.1:
-  version "1.17.1"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47"
-  dependencies:
-    bytes "2.4.0"
-    content-type "~1.0.2"
-    debug "2.6.1"
-    depd "~1.1.0"
-    http-errors "~1.6.1"
-    iconv-lite "0.4.15"
-    on-finished "~2.3.0"
-    qs "6.4.0"
-    raw-body "~2.2.0"
-    type-is "~1.6.14"
-
-boolbase@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
-
-boom@2.x.x:
-  version "2.10.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
-  dependencies:
-    hoek "2.x.x"
-
-bootstrap@4.0.0-alpha.6:
-  version "4.0.0-alpha.6"
-  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz#4f54dd33ac0deac3b28407bc2df7ec608869c9c8"
-  dependencies:
-    jquery ">=1.9.1"
-    tether "^1.4.0"
-
-bower@^1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/bower/-/bower-1.8.0.tgz#55dbebef0ad9155382d9e9d3e497c1372345b44a"
-
-boxen@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.3.1.tgz#a7d898243ae622f7abb6bb604d740a76c6a5461b"
-  dependencies:
-    chalk "^1.1.1"
-    filled-array "^1.0.0"
-    object-assign "^4.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.1"
-    widest-line "^1.0.0"
-
-boxen@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.0.0.tgz#b2694baf1f605f708ff0177c12193b22f29aaaab"
-  dependencies:
-    ansi-align "^1.1.0"
-    camelcase "^4.0.0"
-    chalk "^1.1.1"
-    cli-boxes "^1.0.0"
-    string-width "^2.0.0"
-    term-size "^0.1.0"
-    widest-line "^1.0.0"
-
-brace-expansion@^1.0.0:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
-  dependencies:
-    balanced-match "^0.4.1"
-    concat-map "0.0.1"
-
-braces@^0.1.2:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
-  dependencies:
-    expand-range "^0.1.0"
-
-braces@^1.8.2:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
-  dependencies:
-    expand-range "^1.8.1"
-    preserve "^0.2.0"
-    repeat-element "^1.1.2"
-
-brorand@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-
-browser-sync-client@2.4.5:
-  version "2.4.5"
-  resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.5.tgz#976afab1a54f255baa38fe22ae3c0d3753ad337b"
-  dependencies:
-    etag "^1.7.0"
-    fresh "^0.3.0"
-
-browser-sync-ui@0.6.3:
-  version "0.6.3"
-  resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.3.tgz#640a537c180689303d5be92bc476b9ebc441c0bc"
-  dependencies:
-    async-each-series "0.1.1"
-    connect-history-api-fallback "^1.1.0"
-    immutable "^3.7.6"
-    server-destroy "1.0.1"
-    stream-throttle "^0.1.3"
-    weinre "^2.0.0-pre-I0Z7U9OV"
-
-browser-sync-webpack-plugin@1.1.4:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/browser-sync-webpack-plugin/-/browser-sync-webpack-plugin-1.1.4.tgz#ad3c0f7a3bd2d3e7f87cdc378ee93e7be2026d89"
-  dependencies:
-    lodash "4.x.x"
-
-browser-sync@2.18.8:
-  version "2.18.8"
-  resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.18.8.tgz#2fb4de253798d7cfb839afb9c2f801968490cec2"
-  dependencies:
-    browser-sync-client "2.4.5"
-    browser-sync-ui "0.6.3"
-    bs-recipes "1.3.4"
-    chokidar "1.6.1"
-    connect "3.5.0"
-    dev-ip "^1.0.1"
-    easy-extender "2.3.2"
-    eazy-logger "3.0.2"
-    emitter-steward "^1.0.0"
-    fs-extra "1.0.0"
-    http-proxy "1.15.2"
-    immutable "3.8.1"
-    localtunnel "1.8.2"
-    micromatch "2.3.11"
-    opn "4.0.2"
-    portscanner "2.1.1"
-    qs "6.2.1"
-    resp-modifier "6.0.2"
-    rx "4.1.0"
-    serve-index "1.8.0"
-    serve-static "1.11.1"
-    server-destroy "1.0.1"
-    socket.io "1.6.0"
-    socket.io-client "1.6.0"
-    ua-parser-js "0.7.12"
-    yargs "6.4.0"
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
-  dependencies:
-    buffer-xor "^1.0.2"
-    cipher-base "^1.0.0"
-    create-hash "^1.1.0"
-    evp_bytestokey "^1.0.0"
-    inherits "^2.0.1"
-
-browserify-cipher@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
-  dependencies:
-    browserify-aes "^1.0.4"
-    browserify-des "^1.0.0"
-    evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
-  dependencies:
-    cipher-base "^1.0.1"
-    des.js "^1.0.0"
-    inherits "^2.0.1"
-
-browserify-rsa@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
-  dependencies:
-    bn.js "^4.1.0"
-    randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
-  dependencies:
-    bn.js "^4.1.1"
-    browserify-rsa "^4.0.0"
-    create-hash "^1.1.0"
-    create-hmac "^1.1.2"
-    elliptic "^6.0.0"
-    inherits "^2.0.1"
-    parse-asn1 "^5.0.0"
-
-browserify-zlib@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
-  dependencies:
-    pako "~0.2.0"
-
-browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
-  version "1.7.7"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
-  dependencies:
-    caniuse-db "^1.0.30000639"
-    electron-to-chromium "^1.2.7"
-
-bs-recipes@1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585"
-
-buble@^0.12.0:
-  version "0.12.5"
-  resolved "https://registry.yarnpkg.com/buble/-/buble-0.12.5.tgz#c66ffe92f9f4a3c65d3256079b711e2bd0bc5013"
-  dependencies:
-    acorn "^3.1.0"
-    acorn-jsx "^3.0.1"
-    acorn-object-spread "^1.0.0"
-    chalk "^1.1.3"
-    magic-string "^0.14.0"
-    minimist "^1.2.0"
-    os-homedir "^1.0.1"
-
-bubleify@^0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.5.1.tgz#f65c47cee31b80cad8b9e747bbe187d7fe51e927"
-  dependencies:
-    buble "^0.12.0"
-    object-assign "^4.0.1"
-
-buffer-shims@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
-
-buffer-xor@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
-
-buffer@^4.3.0:
-  version "4.9.1"
-  resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
-  dependencies:
-    base64-js "^1.0.2"
-    ieee754 "^1.1.4"
-    isarray "^1.0.0"
-
-builtin-modules@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-
-builtin-status-codes@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
-
-bytes@2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
-
-bytes@2.4.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
-
-callsite@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
-
-camel-case@3.0.x:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.1"
-
-camelcase-keys@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
-  dependencies:
-    camelcase "^2.0.0"
-    map-obj "^1.0.0"
-
-camelcase@^1.0.2, camelcase@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-
-camelcase@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
-
-camelcase@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
-
-camelcase@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
-
-caniuse-api@^1.5.2:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
-  dependencies:
-    browserslist "^1.3.6"
-    caniuse-db "^1.0.30000529"
-    lodash.memoize "^4.1.2"
-    lodash.uniq "^4.5.0"
-
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
-  version "1.0.30000655"
-  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000655.tgz#e40b6287adc938848d6708ef83d65b5f54ac1874"
-
-capture-stack-trace@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
-
-cardinal@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9"
-  dependencies:
-    ansicolors "~0.2.1"
-    redeyed "~1.0.0"
-
-caseless@~0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
-
-caseless@~0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-center-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
-  dependencies:
-    align-text "^0.1.3"
-    lazy-cache "^1.0.3"
-
-chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  dependencies:
-    ansi-styles "^2.2.1"
-    escape-string-regexp "^1.0.2"
-    has-ansi "^2.0.0"
-    strip-ansi "^3.0.0"
-    supports-color "^2.0.0"
-
-cheerio@0.22.0:
-  version "0.22.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
-  dependencies:
-    css-select "~1.2.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "^3.9.1"
-    lodash.assignin "^4.0.9"
-    lodash.bind "^4.1.4"
-    lodash.defaults "^4.0.1"
-    lodash.filter "^4.4.0"
-    lodash.flatten "^4.2.0"
-    lodash.foreach "^4.3.0"
-    lodash.map "^4.4.0"
-    lodash.merge "^4.4.0"
-    lodash.pick "^4.2.1"
-    lodash.reduce "^4.4.0"
-    lodash.reject "^4.4.0"
-    lodash.some "^4.4.0"
-
-cheerio@^0.19.0:
-  version "0.19.0"
-  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925"
-  dependencies:
-    css-select "~1.0.0"
-    dom-serializer "~0.1.0"
-    entities "~1.1.1"
-    htmlparser2 "~3.8.1"
-    lodash "^3.2.0"
-
-chokidar@1.6.1, chokidar@^1.4.1, chokidar@^1.4.3, chokidar@^1.6.0:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
-  dependencies:
-    anymatch "^1.3.0"
-    async-each "^1.0.0"
-    glob-parent "^2.0.0"
-    inherits "^2.0.1"
-    is-binary-path "^1.0.0"
-    is-glob "^2.0.0"
-    path-is-absolute "^1.0.0"
-    readdirp "^2.0.0"
-  optionalDependencies:
-    fsevents "^1.0.0"
-
-cipher-base@^1.0.0, cipher-base@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
-  dependencies:
-    inherits "^2.0.1"
-
-clap@^1.0.9:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b"
-  dependencies:
-    chalk "^1.1.3"
-
-class-extend@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/class-extend/-/class-extend-0.1.2.tgz#8057a82b00f53f82a5d62c50ef8cffdec6fabc34"
-  dependencies:
-    object-assign "^2.0.0"
-
-clean-css@4.0.x:
-  version "4.0.12"
-  resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.12.tgz#a02e61707f1840bd3338f54dbc9acbda4e772fa3"
-  dependencies:
-    source-map "0.5.x"
-
-cli-boxes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
-
-cli-cursor@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
-  dependencies:
-    restore-cursor "^1.0.1"
-
-cli-cursor@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
-  dependencies:
-    restore-cursor "^2.0.0"
-
-cli-list@^0.1.1:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/cli-list/-/cli-list-0.1.8.tgz#aee6d45c4c59bf80068bb968089fb06f1aeddc0a"
-
-cli-table@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
-  dependencies:
-    colors "1.0.3"
-
-cli-usage@^0.1.1:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2"
-  dependencies:
-    marked "^0.3.6"
-    marked-terminal "^1.6.2"
-
-cli-width@^1.0.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d"
-
-cli-width@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
-
-cliui@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
-  dependencies:
-    center-align "^0.1.1"
-    right-align "^0.1.1"
-    wordwrap "0.0.2"
-
-cliui@^3.0.3, cliui@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wrap-ansi "^2.0.0"
-
-clone-buffer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
-
-clone-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.0.tgz#eae0a2413f55c0942f818c229fefce845d7f3b1c"
-  dependencies:
-    is-regexp "^1.0.0"
-    is-supported-regexp-flag "^1.0.0"
-
-clone-stats@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
-
-clone-stats@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
-
-clone@^1.0.0, clone@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
-
-cloneable-readable@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
-  dependencies:
-    inherits "^2.0.1"
-    process-nextick-args "^1.0.6"
-    through2 "^2.0.1"
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-coa@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3"
-  dependencies:
-    q "^1.1.2"
-
-code-point-at@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-codelyzer@2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-2.1.1.tgz#0573c7f8da4ac2a4473b0042807f7b901dec8b0a"
-  dependencies:
-    app-root-path "^2.0.1"
-    css-selector-tokenizer "^0.7.0"
-    cssauron "^1.4.0"
-    semver-dsl "^1.0.1"
-    source-map "^0.5.6"
-    sprintf-js "^1.0.3"
-
-color-convert@^1.3.0:
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
-  dependencies:
-    color-name "^1.1.1"
-
-color-name@^1.0.0, color-name@^1.1.1:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
-
-color-string@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
-  dependencies:
-    color-name "^1.0.0"
-
-color@^0.11.0:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
-  dependencies:
-    clone "^1.0.2"
-    color-convert "^1.3.0"
-    color-string "^0.3.0"
-
-colormin@^1.0.5:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
-  dependencies:
-    color "^0.11.0"
-    css-color-names "0.0.4"
-    has "^1.0.1"
-
-colors@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
-
-colors@^1.1.0, colors@^1.1.2, colors@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
-
-combine-lists@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
-  dependencies:
-    lodash "^4.5.0"
-
-combined-stream@^1.0.5, combined-stream@~1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
-  dependencies:
-    delayed-stream "~1.0.0"
-
-commander@2.9.x, commander@^2.2.0, commander@^2.5.0, commander@^2.9.0:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-common-tags@^1.3.1:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0"
-  dependencies:
-    babel-runtime "^6.18.0"
-
-commondir@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-
-commoner@^0.10.1:
-  version "0.10.8"
-  resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.10.8.tgz#34fc3672cd24393e8bb47e70caa0293811f4f2c5"
-  dependencies:
-    commander "^2.5.0"
-    detective "^4.3.1"
-    glob "^5.0.15"
-    graceful-fs "^4.1.2"
-    iconv-lite "^0.4.5"
-    mkdirp "^0.5.0"
-    private "^0.1.6"
-    q "^1.1.2"
-    recast "^0.11.17"
-
-component-bind@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
-
-component-emitter@1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
-
-component-emitter@1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-
-component-inherit@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
-
-compressible@~2.0.8:
-  version "2.0.10"
-  resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
-  dependencies:
-    mime-db ">= 1.27.0 < 2"
-
-compression@^1.5.2:
-  version "1.6.2"
-  resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
-  dependencies:
-    accepts "~1.3.3"
-    bytes "2.3.0"
-    compressible "~2.0.8"
-    debug "~2.2.0"
-    on-headers "~1.0.1"
-    vary "~1.1.0"
-
-concat-map@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@1.5.0, concat-stream@^1.4.7:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611"
-  dependencies:
-    inherits "~2.0.1"
-    readable-stream "~2.0.0"
-    typedarray "~0.0.5"
-
-config-chain@~1.1.8:
-  version "1.1.11"
-  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
-  dependencies:
-    ini "^1.3.4"
-    proto-list "~1.2.1"
-
-configstore@^1.0.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
-  dependencies:
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-configstore@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1"
-  dependencies:
-    dot-prop "^3.0.0"
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.1"
-    os-tmpdir "^1.0.0"
-    osenv "^0.1.0"
-    uuid "^2.0.1"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^2.0.0"
-
-configstore@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.0.0.tgz#e1b8669c1803ccc50b545e92f8e6e79aa80e0196"
-  dependencies:
-    dot-prop "^4.1.0"
-    graceful-fs "^4.1.2"
-    mkdirp "^0.5.0"
-    unique-string "^1.0.0"
-    write-file-atomic "^1.1.2"
-    xdg-basedir "^3.0.0"
-
-connect-history-api-fallback@^1.1.0, connect-history-api-fallback@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
-
-connect@1.x:
-  version "1.9.2"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807"
-  dependencies:
-    formidable "1.0.x"
-    mime ">= 0.0.1"
-    qs ">= 0.4.0"
-
-connect@3.5.0:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198"
-  dependencies:
-    debug "~2.2.0"
-    finalhandler "0.5.0"
-    parseurl "~1.3.1"
-    utils-merge "1.0.0"
-
-connect@^3.6.0:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.0.tgz#f09a4f7dcd17324b663b725c815bdb1c4158a46e"
-  dependencies:
-    debug "2.6.1"
-    finalhandler "1.0.0"
-    parseurl "~1.3.1"
-    utils-merge "1.0.0"
-
-console-browserify@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
-  dependencies:
-    date-now "^0.1.4"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-
-constants-browserify@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-
-content-disposition@0.5.2:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
-
-content-type@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
-
-convert-source-map@^1.3.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
-
-cookie-signature@1.0.6:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
-
-cookie@0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
-
-copy-webpack-plugin@4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.0.0.tgz#385e7f8deeb993f6d48b9f9854d50391912633ae"
-  dependencies:
-    bluebird "^2.10.2"
-    fs-extra "^0.26.4"
-    glob "^6.0.4"
-    loader-utils "^0.2.15"
-    lodash "^4.3.0"
-    minimatch "^3.0.0"
-    node-dir "^0.1.10"
-
-core-js@2.4.1, core-js@^2.2.0, core-js@^2.4.0:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
-
-core-js@^1.0.0:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
-
-core-util-is@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.1.tgz#817f2c2039347a1e9bf7d090c0923e53f749ca82"
-  dependencies:
-    js-yaml "^3.4.3"
-    minimist "^1.2.0"
-    object-assign "^4.1.0"
-    os-homedir "^1.0.1"
-    parse-json "^2.2.0"
-    require-from-string "^1.1.0"
-
-create-ecdh@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
-  dependencies:
-    bn.js "^4.1.0"
-    elliptic "^6.0.0"
-
-create-error-class@^3.0.0, create-error-class@^3.0.1:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
-  dependencies:
-    capture-stack-trace "^1.0.0"
-
-create-hash@^1.1.0, create-hash@^1.1.1:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
-  dependencies:
-    cipher-base "^1.0.1"
-    inherits "^2.0.1"
-    ripemd160 "^1.0.0"
-    sha.js "^2.3.6"
-
-create-hmac@^1.1.0, create-hmac@^1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
-  dependencies:
-    create-hash "^1.1.0"
-    inherits "^2.0.1"
-
-cross-spawn-async@^2.1.1:
-  version "2.2.5"
-  resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
-  dependencies:
-    lru-cache "^4.0.0"
-    which "^1.2.8"
-
-cross-spawn@^3.0.0, cross-spawn@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
-  dependencies:
-    lru-cache "^4.0.1"
-    which "^1.2.9"
-
-cross-spawn@^5.0.1:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
-  dependencies:
-    lru-cache "^4.0.1"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
-
-cryptiles@2.x.x:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
-  dependencies:
-    boom "2.x.x"
-
-crypto-browserify@^3.11.0:
-  version "3.11.0"
-  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
-  dependencies:
-    browserify-cipher "^1.0.0"
-    browserify-sign "^4.0.0"
-    create-ecdh "^4.0.0"
-    create-hash "^1.1.0"
-    create-hmac "^1.1.0"
-    diffie-hellman "^5.0.0"
-    inherits "^2.0.1"
-    pbkdf2 "^3.0.3"
-    public-encrypt "^4.0.0"
-    randombytes "^2.0.0"
-
-crypto-random-string@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
-
-css-color-names@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-
-css-loader@0.28.0:
-  version "0.28.0"
-  resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz#417cfa9789f8cde59a30ccbf3e4da7a806889bad"
-  dependencies:
-    babel-code-frame "^6.11.0"
-    css-selector-tokenizer "^0.7.0"
-    cssnano ">=2.6.1 <4"
-    loader-utils "^1.0.2"
-    lodash.camelcase "^4.3.0"
-    object-assign "^4.0.1"
-    postcss "^5.0.6"
-    postcss-modules-extract-imports "^1.0.0"
-    postcss-modules-local-by-default "^1.0.1"
-    postcss-modules-scope "^1.0.0"
-    postcss-modules-values "^1.1.0"
-    source-list-map "^0.1.7"
-
-css-loader@^0.26.1:
-  version "0.26.4"
-  resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.4.tgz#b61e9e30db94303e6ffc892f10ecd09ad025a1fd"
-  dependencies:
-    babel-code-frame "^6.11.0"
-    css-selector-tokenizer "^0.7.0"
-    cssnano ">=2.6.1 <4"
-    loader-utils "^1.0.2"
-    lodash.camelcase "^4.3.0"
-    object-assign "^4.0.1"
-    postcss "^5.0.6"
-    postcss-modules-extract-imports "^1.0.0"
-    postcss-modules-local-by-default "^1.0.1"
-    postcss-modules-scope "^1.0.0"
-    postcss-modules-values "^1.1.0"
-    source-list-map "^0.1.7"
-
-css-loader@^0.9.1:
-  version "0.9.1"
-  resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.9.1.tgz#2e1aa00ce7e30ef2c6a7a4b300a080a7c979e0dc"
-  dependencies:
-    csso "1.3.x"
-    loader-utils "~0.2.2"
-    source-map "~0.1.38"
-
-css-parse@1.7.x:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b"
-
-css-select@^1.1.0, css-select@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "2.1"
-    domutils "1.5.1"
-    nth-check "~1.0.1"
-
-css-select@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0"
-  dependencies:
-    boolbase "~1.0.0"
-    css-what "1.0"
-    domutils "1.4"
-    nth-check "~1.0.0"
-
-css-selector-tokenizer@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152"
-  dependencies:
-    cssesc "^0.1.0"
-    fastparse "^1.1.1"
-    regexpu-core "^1.0.0"
-
-css-selector-tokenizer@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
-  dependencies:
-    cssesc "^0.1.0"
-    fastparse "^1.1.1"
-    regexpu-core "^1.0.0"
-
-css-what@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c"
-
-css-what@2.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
-
-cssauron@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8"
-  dependencies:
-    through X.X.X
-
-cssesc@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
-
-"cssnano@>=2.6.1 <4", cssnano@^3.10.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
-  dependencies:
-    autoprefixer "^6.3.1"
-    decamelize "^1.1.2"
-    defined "^1.0.0"
-    has "^1.0.1"
-    object-assign "^4.0.1"
-    postcss "^5.0.14"
-    postcss-calc "^5.2.0"
-    postcss-colormin "^2.1.8"
-    postcss-convert-values "^2.3.4"
-    postcss-discard-comments "^2.0.4"
-    postcss-discard-duplicates "^2.0.1"
-    postcss-discard-empty "^2.0.1"
-    postcss-discard-overridden "^0.1.1"
-    postcss-discard-unused "^2.2.1"
-    postcss-filter-plugins "^2.0.0"
-    postcss-merge-idents "^2.1.5"
-    postcss-merge-longhand "^2.0.1"
-    postcss-merge-rules "^2.0.3"
-    postcss-minify-font-values "^1.0.2"
-    postcss-minify-gradients "^1.0.1"
-    postcss-minify-params "^1.0.4"
-    postcss-minify-selectors "^2.0.4"
-    postcss-normalize-charset "^1.1.0"
-    postcss-normalize-url "^3.0.7"
-    postcss-ordered-values "^2.1.0"
-    postcss-reduce-idents "^2.2.2"
-    postcss-reduce-initial "^1.0.0"
-    postcss-reduce-transforms "^1.0.3"
-    postcss-svgo "^2.1.1"
-    postcss-unique-selectors "^2.0.2"
-    postcss-value-parser "^3.2.3"
-    postcss-zindex "^2.0.1"
-
-csso@1.3.x:
-  version "1.3.12"
-  resolved "https://registry.yarnpkg.com/csso/-/csso-1.3.12.tgz#fc628694a2d38938aaac4996753218fd311cdb9e"
-
-csso@~2.3.1:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
-  dependencies:
-    clap "^1.0.9"
-    source-map "^0.5.3"
-
-currently-unhandled@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
-  dependencies:
-    array-find-index "^1.0.1"
-
-custom-event@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
-
-d3@^3.5.6:
-  version "3.5.17"
-  resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.17.tgz#bc46748004378b21a360c9fc7cf5231790762fb8"
-
-dargs@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829"
-
-dashdash@^1.12.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-  dependencies:
-    assert-plus "^1.0.0"
-
-date-now@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-
-dateformat@^1.0.11, dateformat@^1.0.6:
-  version "1.0.12"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
-  dependencies:
-    get-stdin "^4.0.1"
-    meow "^3.3.0"
-
-dateformat@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17"
-
-debug@*, debug@2.6.1, debug@^2.0.0, debug@^2.1.0, debug@^2.1.3, debug@^2.2.0:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
-  dependencies:
-    ms "0.7.2"
-
-debug@0.7.4:
-  version "0.7.4"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
-
-debug@2.2.0, debug@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
-  dependencies:
-    ms "0.7.1"
-
-debug@2.3.3:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
-  dependencies:
-    ms "0.7.2"
-
-decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-deep-extend@^0.4.0, deep-extend@~0.4.0:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
-
-deep-is@~0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-
-default-uid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/default-uid/-/default-uid-1.0.0.tgz#fcefa9df9f5ac40c8916d912dd1fe1146aa3c59e"
-
-defined@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-
-del@2.2.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
-  dependencies:
-    globby "^5.0.0"
-    is-path-cwd "^1.0.0"
-    is-path-in-cwd "^1.0.0"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    rimraf "^2.2.8"
-
-delayed-stream@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-denodeify@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631"
-
-depd@1.1.0, depd@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
-
-des.js@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
-  dependencies:
-    inherits "^2.0.1"
-    minimalistic-assert "^1.0.0"
-
-destroy@~1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-detect-conflict@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e"
-
-detect-indent@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
-  dependencies:
-    repeating "^2.0.0"
-
-detect-newline@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-detective@^4.3.1:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1"
-  dependencies:
-    acorn "^4.0.3"
-    defined "^1.0.0"
-
-dev-ip@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0"
-
-di@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
-
-diff@^2.1.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99"
-
-diff@^3.0.1, diff@^3.1.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
-
-diffie-hellman@^5.0.0:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
-  dependencies:
-    bn.js "^4.1.0"
-    miller-rabin "^4.0.0"
-    randombytes "^2.0.0"
-
-directory-encoder@^0.7.2:
-  version "0.7.2"
-  resolved "https://registry.yarnpkg.com/directory-encoder/-/directory-encoder-0.7.2.tgz#59b4e2aa4f25422f6c63b527b462f5e2d0dd2c58"
-  dependencies:
-    fs-extra "^0.23.1"
-    handlebars "^1.3.0"
-    img-stats "^0.5.2"
-
-discontinuous-range@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
-
-dom-converter@~0.1:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b"
-  dependencies:
-    utila "~0.3"
-
-dom-serialize@^2.2.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
-  dependencies:
-    custom-event "~1.0.0"
-    ent "~2.2.0"
-    extend "^3.0.0"
-    void-elements "^2.0.0"
-
-dom-serializer@0, dom-serializer@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
-  dependencies:
-    domelementtype "~1.1.1"
-    entities "~1.1.1"
-
-domain-browser@^1.1.1:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
-
-domelementtype@1, domelementtype@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domelementtype@~1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
-
-domhandler@2.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594"
-  dependencies:
-    domelementtype "1"
-
-domhandler@2.3, domhandler@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.1:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.4:
-  version "1.4.3"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f"
-  dependencies:
-    domelementtype "1"
-
-domutils@1.5, domutils@1.5.1, domutils@^1.5.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
-  dependencies:
-    dom-serializer "0"
-    domelementtype "1"
-
-dot-prop@^2.0.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-2.4.0.tgz#848e28f7f1d50740c6747ab3cb07670462b6f89c"
-  dependencies:
-    is-obj "^1.0.0"
-
-dot-prop@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
-  dependencies:
-    is-obj "^1.0.0"
-
-dot-prop@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1"
-  dependencies:
-    is-obj "^1.0.0"
-
-downgrade-root@^1.0.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/downgrade-root/-/downgrade-root-1.2.2.tgz#531319715b0e81ffcc22eb28478ba27643e12c6c"
-  dependencies:
-    default-uid "^1.0.0"
-    is-root "^1.0.0"
-
-duplexer2@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
-  dependencies:
-    readable-stream "~1.1.9"
-
-duplexer2@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
-  dependencies:
-    readable-stream "^2.0.2"
-
-duplexer3@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
-
-duplexer@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
-
-each-async@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473"
-  dependencies:
-    onetime "^1.0.0"
-    set-immediate-shim "^1.0.0"
-
-easy-extender@2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d"
-  dependencies:
-    lodash "^3.10.1"
-
-eazy-logger@3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc"
-  dependencies:
-    tfunk "^3.0.1"
-
-ecc-jsbn@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
-  dependencies:
-    jsbn "~0.1.0"
-
-editions@^1.1.1:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b"
-
-ee-first@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-ejs@2.5.6, ejs@^2.3.1:
-  version "2.5.6"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
-
-electron-to-chromium@^1.2.7:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz#651eb63fe89f39db70ffc8dbd5d9b66958bc6a0e"
-
-elliptic@^6.0.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
-  dependencies:
-    bn.js "^4.4.0"
-    brorand "^1.0.1"
-    hash.js "^1.0.0"
-    hmac-drbg "^1.0.0"
-    inherits "^2.0.1"
-    minimalistic-assert "^1.0.0"
-    minimalistic-crypto-utils "^1.0.0"
-
-ember-cli-normalize-entity-name@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz#0b14f7bcbc599aa117b5fddc81e4fd03c4bad5b7"
-  dependencies:
-    silent-error "^1.0.0"
-
-ember-cli-string-utils@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz#39b677fc2805f55173735376fcef278eaa4452a1"
-
-emitter-steward@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64"
-
-emojis-list@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-
-encodeurl@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
-
-engine.io-client@1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.0.tgz#7b730e4127414087596d9be3c88d2bc5fdb6cf5c"
-  dependencies:
-    component-emitter "1.2.1"
-    component-inherit "0.0.3"
-    debug "2.3.3"
-    engine.io-parser "1.3.1"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    parsejson "0.0.3"
-    parseqs "0.0.5"
-    parseuri "0.0.5"
-    ws "1.1.1"
-    xmlhttprequest-ssl "1.5.3"
-    yeast "0.1.2"
-
-engine.io-client@1.8.3:
-  version "1.8.3"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
-  dependencies:
-    component-emitter "1.2.1"
-    component-inherit "0.0.3"
-    debug "2.3.3"
-    engine.io-parser "1.3.2"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    parsejson "0.0.3"
-    parseqs "0.0.5"
-    parseuri "0.0.5"
-    ws "1.1.2"
-    xmlhttprequest-ssl "1.5.3"
-    yeast "0.1.2"
-
-engine.io-parser@1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf"
-  dependencies:
-    after "0.8.1"
-    arraybuffer.slice "0.0.6"
-    base64-arraybuffer "0.1.5"
-    blob "0.0.4"
-    has-binary "0.1.6"
-    wtf-8 "1.0.0"
-
-engine.io-parser@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
-  dependencies:
-    after "0.8.2"
-    arraybuffer.slice "0.0.6"
-    base64-arraybuffer "0.1.5"
-    blob "0.0.4"
-    has-binary "0.1.7"
-    wtf-8 "1.0.0"
-
-engine.io@1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa"
-  dependencies:
-    accepts "1.3.3"
-    base64id "0.1.0"
-    cookie "0.3.1"
-    debug "2.3.3"
-    engine.io-parser "1.3.1"
-    ws "1.1.1"
-
-engine.io@1.8.3:
-  version "1.8.3"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
-  dependencies:
-    accepts "1.3.3"
-    base64id "1.0.0"
-    cookie "0.3.1"
-    debug "2.3.3"
-    engine.io-parser "1.3.2"
-    ws "1.1.2"
-
-enhanced-resolve@^3.0.0, enhanced-resolve@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
-  dependencies:
-    graceful-fs "^4.1.2"
-    memory-fs "^0.4.0"
-    object-assign "^4.0.1"
-    tapable "^0.2.5"
-
-ensure-posix-path@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz#a65b3e42d0b71cfc585eb774f9943c8d9b91b0c2"
-
-ent@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
-
-entities@1.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
-
-entities@^1.1.1, entities@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
-
-envify@^3.0.0:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/envify/-/envify-3.4.1.tgz#d7122329e8df1688ba771b12501917c9ce5cbce8"
-  dependencies:
-    jstransform "^11.0.3"
-    through "~2.3.4"
-
-errno@^0.1.1, errno@^0.1.3:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
-  dependencies:
-    prr "~0.0.0"
-
-error-ex@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
-  dependencies:
-    is-arrayish "^0.2.1"
-
-error@^7.0.2:
-  version "7.0.2"
-  resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
-  dependencies:
-    string-template "~0.2.1"
-    xtend "~4.0.0"
-
-es6-promise@~4.0.3:
-  version "4.0.5"
-  resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42"
-
-es6-templates@^0.2.2:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4"
-  dependencies:
-    recast "~0.11.12"
-    through "~2.3.6"
-
-escape-html@~1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-escodegen@1.8.x:
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
-  dependencies:
-    esprima "^2.7.1"
-    estraverse "^1.9.1"
-    esutils "^2.0.2"
-    optionator "^0.8.1"
-  optionalDependencies:
-    source-map "~0.2.0"
-
-esprima-fb@^15001.1.0-dev-harmony-fb:
-  version "15001.1.0-dev-harmony-fb"
-  resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz#30a947303c6b8d5e955bee2b99b1d233206a6901"
-
-esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
-
-esprima@^3.1.1, esprima@~3.1.0:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
-
-esprima@~3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
-
-estraverse@^1.9.1:
-  version "1.9.3"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
-
-esutils@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-
-etag@^1.7.0, etag@~1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
-
-etag@~1.7.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
-
-event-stream@3.3.4:
-  version "3.3.4"
-  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
-  dependencies:
-    duplexer "~0.1.1"
-    from "~0"
-    map-stream "~0.1.0"
-    pause-stream "0.0.11"
-    split "0.3"
-    stream-combiner "~0.0.4"
-    through "~2.3.1"
-
-eventemitter3@1.x.x:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
-
-events@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
-
-eventsource@0.1.6, eventsource@~0.1.6:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
-  dependencies:
-    original ">=0.0.5"
-
-evp_bytestokey@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
-  dependencies:
-    create-hash "^1.1.1"
-
-execa@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3"
-  dependencies:
-    cross-spawn-async "^2.1.1"
-    is-stream "^1.1.0"
-    npm-run-path "^1.0.0"
-    object-assign "^4.0.1"
-    path-key "^1.0.0"
-    strip-eof "^1.0.0"
-
-execall@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73"
-  dependencies:
-    clone-regexp "^1.0.0"
-
-exit-hook@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
-expand-braces@^0.1.1:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
-  dependencies:
-    array-slice "^0.2.3"
-    array-unique "^0.2.1"
-    braces "^0.1.2"
-
-expand-brackets@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
-  dependencies:
-    is-posix-bracket "^0.1.0"
-
-expand-range@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
-  dependencies:
-    is-number "^0.1.1"
-    repeat-string "^0.2.2"
-
-expand-range@^1.8.1:
-  version "1.8.2"
-  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
-  dependencies:
-    fill-range "^2.1.0"
-
-exports-loader@0.6.4, exports-loader@^0.6.3:
-  version "0.6.4"
-  resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.4.tgz#d70fc6121975b35fc12830cf52754be2740fc886"
-  dependencies:
-    loader-utils "^1.0.2"
-    source-map "0.5.x"
-
-express@2.5.x:
-  version "2.5.11"
-  resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0"
-  dependencies:
-    connect "1.x"
-    mime "1.2.4"
-    mkdirp "0.3.0"
-    qs "0.4.x"
-
-express@^4.13.3:
-  version "4.15.2"
-  resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35"
-  dependencies:
-    accepts "~1.3.3"
-    array-flatten "1.1.1"
-    content-disposition "0.5.2"
-    content-type "~1.0.2"
-    cookie "0.3.1"
-    cookie-signature "1.0.6"
-    debug "2.6.1"
-    depd "~1.1.0"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    etag "~1.8.0"
-    finalhandler "~1.0.0"
-    fresh "0.5.0"
-    merge-descriptors "1.0.1"
-    methods "~1.1.2"
-    on-finished "~2.3.0"
-    parseurl "~1.3.1"
-    path-to-regexp "0.1.7"
-    proxy-addr "~1.1.3"
-    qs "6.4.0"
-    range-parser "~1.2.0"
-    send "0.15.1"
-    serve-static "1.12.1"
-    setprototypeof "1.0.3"
-    statuses "~1.3.1"
-    type-is "~1.6.14"
-    utils-merge "1.0.0"
-    vary "~1.1.0"
-
-extend@^3.0.0, extend@~3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
-
-external-editor@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
-  dependencies:
-    extend "^3.0.0"
-    spawn-sync "^1.0.15"
-    tmp "^0.0.29"
-
-external-editor@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.1.tgz#4c597c6c88fa6410e41dbbaa7b1be2336aa31095"
-  dependencies:
-    tmp "^0.0.31"
-
-extglob@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
-  dependencies:
-    is-extglob "^1.0.0"
-
-extract-text-webpack-plugin@2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159"
-  dependencies:
-    ajv "^4.11.2"
-    async "^2.1.2"
-    loader-utils "^1.0.2"
-    webpack-sources "^0.1.0"
-
-extract-text-webpack-plugin@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.0.0.tgz#8640f72609800a3528f13a2a9634d566a5c1ae60"
-  dependencies:
-    ajv "^4.11.2"
-    async "^2.1.2"
-    loader-utils "^1.0.2"
-    webpack-sources "^0.1.0"
-
-extract-zip@~1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4"
-  dependencies:
-    concat-stream "1.5.0"
-    debug "0.7.4"
-    mkdirp "0.5.0"
-    yauzl "2.4.1"
-
-extsprintf@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
-
-fancy-log@^1.1.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948"
-  dependencies:
-    chalk "^1.1.1"
-    time-stamp "^1.0.0"
-
-fast-levenshtein@~2.0.4:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-
-fastparse@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
-
-faye-websocket@^0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
-  dependencies:
-    websocket-driver ">=0.5.1"
-
-faye-websocket@~0.11.0:
-  version "0.11.1"
-  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
-  dependencies:
-    websocket-driver ">=0.5.1"
-
-fbjs@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.6.1.tgz#9636b7705f5ba9684d44b72f78321254afc860f7"
-  dependencies:
-    core-js "^1.0.0"
-    loose-envify "^1.0.0"
-    promise "^7.0.3"
-    ua-parser-js "^0.7.9"
-    whatwg-fetch "^0.9.0"
-
-fd-slicer@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
-  dependencies:
-    pend "~1.2.0"
-
-figures@^1.3.5:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
-  dependencies:
-    escape-string-regexp "^1.0.5"
-    object-assign "^4.1.0"
-
-figures@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
-  dependencies:
-    escape-string-regexp "^1.0.5"
-
-file-loader@0.11.1:
-  version "0.11.1"
-  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84"
-  dependencies:
-    loader-utils "^1.0.2"
-
-file-loader@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.10.1.tgz#815034119891fc6441fb5a64c11bc93c22ddd842"
-  dependencies:
-    loader-utils "^1.0.2"
-
-file-loader@^0.8.1:
-  version "0.8.5"
-  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.8.5.tgz#9275d031fe780f27d47f5f4af02bd43713cc151b"
-  dependencies:
-    loader-utils "~0.2.5"
-
-filename-regex@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
-
-filesize@^3.2.1:
-  version "3.5.6"
-  resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.6.tgz#5fd98f3eac94ec9516ef8ed5782fad84a01a0a1a"
-
-fill-range@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
-  dependencies:
-    is-number "^2.1.0"
-    isobject "^2.0.0"
-    randomatic "^1.1.3"
-    repeat-element "^1.1.2"
-    repeat-string "^1.5.2"
-
-filled-array@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84"
-
-finalhandler@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7"
-  dependencies:
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    on-finished "~2.3.0"
-    statuses "~1.3.0"
-    unpipe "~1.0.0"
-
-finalhandler@1.0.0, finalhandler@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755"
-  dependencies:
-    debug "2.6.1"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    on-finished "~2.3.0"
-    parseurl "~1.3.1"
-    statuses "~1.3.1"
-    unpipe "~1.0.0"
-
-find-up@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
-  dependencies:
-    path-exists "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-  dependencies:
-    locate-path "^2.0.0"
-
-find-versions@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62"
-  dependencies:
-    array-uniq "^1.0.0"
-    get-stdin "^4.0.1"
-    meow "^3.5.0"
-    semver-regex "^1.0.0"
-
-findup-sync@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
-  dependencies:
-    glob "~5.0.0"
-
-first-chunk-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
-  dependencies:
-    readable-stream "^2.0.2"
-
-flatten@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
-
-font-awesome@4.7.0:
-  version "4.7.0"
-  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
-
-for-in@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-
-for-own@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
-  dependencies:
-    for-in "^1.0.1"
-
-foreachasync@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6"
-
-forever-agent@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-form-data@~2.1.1:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.12"
-
-formidable@1.0.x:
-  version "1.0.17"
-  resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559"
-
-forwarded@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
-
-fresh@0.3.0, fresh@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
-
-fresh@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
-
-from@~0:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
-
-fs-access@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
-  dependencies:
-    null-check "^1.0.0"
-
-fs-extra@1.0.0, fs-extra@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-    klaw "^1.0.0"
-
-fs-extra@^0.23.1:
-  version "0.23.1"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.23.1.tgz#6611dba6adf2ab8dc9c69fab37cddf8818157e3d"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-    path-is-absolute "^1.0.0"
-    rimraf "^2.2.8"
-
-fs-extra@^0.26.4:
-  version "0.26.7"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-    klaw "^1.0.0"
-    path-is-absolute "^1.0.0"
-    rimraf "^2.2.8"
-
-fs-extra@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
-  dependencies:
-    nan "^2.3.0"
-    node-pre-gyp "^0.6.29"
-
-fstream-ignore@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
-  dependencies:
-    fstream "^1.0.0"
-    inherits "2"
-    minimatch "^3.0.0"
-
-fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
-  dependencies:
-    graceful-fs "^4.1.2"
-    inherits "~2.0.0"
-    mkdirp ">=0.5 0"
-    rimraf "2"
-
-fullname@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/fullname/-/fullname-2.1.0.tgz#c46bf0f7c3f24fd5b3358d00e4a41380eef87350"
-  dependencies:
-    npmconf "^2.1.1"
-    pify "^2.2.0"
-    pinkie-promise "^2.0.0"
-
-function-bind@^1.0.2:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
-
-gauge@~1.2.5:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
-  dependencies:
-    ansi "^0.3.0"
-    has-unicode "^2.0.0"
-    lodash.pad "^4.1.0"
-    lodash.padend "^4.1.0"
-    lodash.padstart "^4.1.0"
-
-gauge@~2.7.1:
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
-  dependencies:
-    aproba "^1.0.3"
-    console-control-strings "^1.0.0"
-    has-unicode "^2.0.0"
-    object-assign "^4.1.0"
-    signal-exit "^3.0.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wide-align "^1.1.0"
-
-gaze@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105"
-  dependencies:
-    globule "^1.0.0"
-
-generate-function@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
-
-generate-object-property@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
-  dependencies:
-    is-property "^1.0.0"
-
-generator-jhipster@4.3.0:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/generator-jhipster/-/generator-jhipster-4.3.0.tgz#2538007c235446ed73f1a729d25ae2619398ce1b"
-  dependencies:
-    chalk "1.1.3"
-    cheerio "0.22.0"
-    ejs "2.5.6"
-    glob "7.1.1"
-    html-wiring "1.2.0"
-    insight "0.8.4"
-    jhipster-core "1.2.9"
-    js-yaml "3.8.3"
-    lodash "4.17.4"
-    mkdirp "0.5.1"
-    pluralize "4.0.0"
-    randexp "0.4.5"
-    semver "5.3.0"
-    shelljs "0.7.7"
-    yeoman-generator "1.1.1"
-    yo "1.8.5"
-
-get-caller-file@^1.0.0, get-caller-file@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
-
-get-stdin@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-
-get-stream@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-
-getpass@^0.1.1:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
-  dependencies:
-    assert-plus "^1.0.0"
-
-gh-got@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a"
-  dependencies:
-    got "^6.2.0"
-    is-plain-obj "^1.1.0"
-
-github-username@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1"
-  dependencies:
-    gh-got "^5.0.0"
-
-glob-base@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
-  dependencies:
-    glob-parent "^2.0.0"
-    is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
-  dependencies:
-    is-glob "^2.0.0"
-
-glob@7.0.x:
-  version "7.0.6"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.2"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
-  version "7.1.1"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.2"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^5.0.15, glob@~5.0.0:
-  version "5.0.15"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^6.0.1, glob@^6.0.4:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-globals@^9.0.0:
-  version "9.17.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
-
-globby@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^6.0.1"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^6.1.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
-  dependencies:
-    array-union "^1.0.1"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globule@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f"
-  dependencies:
-    glob "~7.1.1"
-    lodash "~4.16.4"
-    minimatch "~3.0.2"
-
-glogg@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
-  dependencies:
-    sparkles "^1.0.0"
-
-got@^5.0.0:
-  version "5.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
-  dependencies:
-    create-error-class "^3.0.1"
-    duplexer2 "^0.1.4"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    node-status-codes "^1.0.0"
-    object-assign "^4.0.1"
-    parse-json "^2.1.0"
-    pinkie-promise "^2.0.0"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.5"
-    timed-out "^3.0.0"
-    unzip-response "^1.0.2"
-    url-parse-lax "^1.0.0"
-
-got@^6.2.0, got@^6.7.1:
-  version "6.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
-  dependencies:
-    create-error-class "^3.0.0"
-    duplexer3 "^0.1.4"
-    get-stream "^3.0.0"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    safe-buffer "^5.0.1"
-    timed-out "^4.0.0"
-    unzip-response "^2.0.1"
-    url-parse-lax "^1.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
-  version "4.1.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-"graceful-readlink@>= 1.0.0":
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
-
-grouped-queue@^0.3.0:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c"
-  dependencies:
-    lodash "^4.17.2"
-
-growly@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-
-gulp-util@*:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^2.0.0"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulp-util@3.0.7:
-  version "3.0.7"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz#78925c4b8f8b49005ac01a011c557e6218941cbb"
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^1.0.11"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulplog@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
-  dependencies:
-    glogg "^1.0.0"
-
-handle-thing@^1.2.4:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
-
-handlebars@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-1.3.0.tgz#9e9b130a93e389491322d975cf3ec1818c37ce34"
-  dependencies:
-    optimist "~0.3"
-  optionalDependencies:
-    uglify-js "~2.3"
-
-handlebars@^4.0.1:
-  version "4.0.6"
-  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
-  dependencies:
-    async "^1.4.0"
-    optimist "^0.6.1"
-    source-map "^0.4.4"
-  optionalDependencies:
-    uglify-js "^2.6"
-
-har-schema@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
-
-har-validator@~2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
-  dependencies:
-    chalk "^1.1.1"
-    commander "^2.9.0"
-    is-my-json-valid "^2.12.4"
-    pinkie-promise "^2.0.0"
-
-har-validator@~4.2.1:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
-  dependencies:
-    ajv "^4.9.1"
-    har-schema "^1.0.5"
-
-has-ansi@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-has-binary@0.1.6:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10"
-  dependencies:
-    isarray "0.0.1"
-
-has-binary@0.1.7:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
-  dependencies:
-    isarray "0.0.1"
-
-has-cors@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
-
-has-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-gulplog@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
-  dependencies:
-    sparkles "^1.0.0"
-
-has-unicode@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-has@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
-  dependencies:
-    function-bind "^1.0.2"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
-  dependencies:
-    inherits "^2.0.1"
-
-hasha@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
-  dependencies:
-    is-stream "^1.0.1"
-    pinkie-promise "^2.0.0"
-
-hawk@~3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
-  dependencies:
-    boom "2.x.x"
-    cryptiles "2.x.x"
-    hoek "2.x.x"
-    sntp "1.x.x"
-
-he@1.1.x:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
-
-hmac-drbg@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
-  dependencies:
-    hash.js "^1.0.3"
-    minimalistic-assert "^1.0.0"
-    minimalistic-crypto-utils "^1.0.1"
-
-hoek@2.x.x:
-  version "2.16.3"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
-
-hosted-git-info@^2.1.4:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67"
-
-hpack.js@^2.1.6:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
-  dependencies:
-    inherits "^2.0.1"
-    obuf "^1.0.0"
-    readable-stream "^2.0.1"
-    wbuf "^1.1.0"
-
-html-comment-regex@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
-
-html-entities@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
-
-html-loader@0.4.5:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.5.tgz#5fbcd87cd63a5c49a7fce2fe56f425e05729c68c"
-  dependencies:
-    es6-templates "^0.2.2"
-    fastparse "^1.1.1"
-    html-minifier "^3.0.1"
-    loader-utils "^1.0.2"
-    object-assign "^4.1.0"
-
-html-minifier@^3.0.1, html-minifier@^3.2.3:
-  version "3.4.3"
-  resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.4.3.tgz#eb3a7297c804611f470454eeebe0aacc427e424a"
-  dependencies:
-    camel-case "3.0.x"
-    clean-css "4.0.x"
-    commander "2.9.x"
-    he "1.1.x"
-    ncname "1.0.x"
-    param-case "2.1.x"
-    relateurl "0.2.x"
-    uglify-js "~2.8.22"
-
-html-webpack-plugin@2.28.0, html-webpack-plugin@^2.19.0:
-  version "2.28.0"
-  resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009"
-  dependencies:
-    bluebird "^3.4.7"
-    html-minifier "^3.2.3"
-    loader-utils "^0.2.16"
-    lodash "^4.17.3"
-    pretty-error "^2.0.2"
-    toposort "^1.0.0"
-
-html-wiring@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/html-wiring/-/html-wiring-1.2.0.tgz#c5f90a776e0a27241dc6df9022c37186d0270f9e"
-  dependencies:
-    cheerio "^0.19.0"
-    detect-newline "^1.0.3"
-
-htmlparser2@^3.9.1:
-  version "3.9.2"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
-  dependencies:
-    domelementtype "^1.3.0"
-    domhandler "^2.3.0"
-    domutils "^1.5.1"
-    entities "^1.1.1"
-    inherits "^2.0.1"
-    readable-stream "^2.0.2"
-
-htmlparser2@~3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe"
-  dependencies:
-    domelementtype "1"
-    domhandler "2.1"
-    domutils "1.1"
-    readable-stream "1.0"
-
-htmlparser2@~3.8.1:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
-  dependencies:
-    domelementtype "1"
-    domhandler "2.3"
-    domutils "1.5"
-    entities "1.0"
-    readable-stream "1.1"
-
-http-deceiver@^1.2.4:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
-
-http-errors@~1.5.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
-  dependencies:
-    inherits "2.0.3"
-    setprototypeof "1.0.2"
-    statuses ">= 1.3.1 < 2"
-
-http-errors@~1.6.1:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
-  dependencies:
-    depd "1.1.0"
-    inherits "2.0.3"
-    setprototypeof "1.0.3"
-    statuses ">= 1.3.1 < 2"
-
-http-proxy-middleware@~0.17.1, http-proxy-middleware@~0.17.4:
-  version "0.17.4"
-  resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
-  dependencies:
-    http-proxy "^1.16.2"
-    is-glob "^3.1.0"
-    lodash "^4.17.2"
-    micromatch "^2.3.11"
-
-http-proxy@1.15.2, http-proxy@^1.13.0:
-  version "1.15.2"
-  resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31"
-  dependencies:
-    eventemitter3 "1.x.x"
-    requires-port "1.x.x"
-
-http-proxy@^1.16.2:
-  version "1.16.2"
-  resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
-  dependencies:
-    eventemitter3 "1.x.x"
-    requires-port "1.x.x"
-
-http-signature@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
-  dependencies:
-    assert-plus "^0.2.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-https-browserify@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
-
-humanize-string@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/humanize-string/-/humanize-string-1.0.1.tgz#fce2d6c545efc25dea1f23235182c98da0180b42"
-  dependencies:
-    decamelize "^1.0.0"
-
-iconv-lite@0.4.15, iconv-lite@^0.4.5:
-  version "0.4.15"
-  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
-
-icss-replace-symbols@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
-
-ieee754@^1.1.4:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-
-image-size@~0.5.0:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.1.tgz#28eea8548a4b1443480ddddc1e083ae54652439f"
-
-img-stats@^0.5.2:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/img-stats/-/img-stats-0.5.2.tgz#c203496c42f2d9eb2e5ab8232fa756bab32c9e2b"
-  dependencies:
-    xmldom "^0.1.19"
-
-immutable@3.8.1, immutable@^3.7.6:
-  version "3.8.1"
-  resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
-
-imurmurhash@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-
-in-publish@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
-
-indent-string@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
-  dependencies:
-    repeating "^2.0.0"
-
-indexes-of@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
-
-indexof@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
-
-inflection@^1.7.0:
-  version "1.12.0"
-  resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
-
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-inherits@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-
-ini@^1.2.0, ini@^1.3.4, ini@~1.3.0:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-
-inquirer@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.10.1.tgz#ea25e4ce69ca145e05c99e46dcfec05e4012594a"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^0.11.0:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.11.4.tgz#81e3374e8361beaff2d97016206d359d0b32fa4d"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^1.0.1"
-    figures "^1.3.5"
-    lodash "^3.3.1"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^1.0.2:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^2.0.0"
-    external-editor "^1.1.0"
-    figures "^1.3.5"
-    lodash "^4.3.0"
-    mute-stream "0.0.6"
-    pinkie-promise "^2.0.0"
-    run-async "^2.2.0"
-    rx "^4.1.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-inquirer@^3.0.0:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    chalk "^1.0.0"
-    cli-cursor "^2.1.0"
-    cli-width "^2.0.0"
-    external-editor "^2.0.1"
-    figures "^2.0.0"
-    lodash "^4.3.0"
-    mute-stream "0.0.7"
-    run-async "^2.2.0"
-    rx "^4.1.0"
-    string-width "^2.0.0"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-insight@0.8.4:
-  version "0.8.4"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.8.4.tgz#671caf65b47c9fe8c3d1b3206cf45bb211b75884"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.74.0"
-    tough-cookie "^2.0.0"
-    uuid "^3.0.0"
-
-insight@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/insight/-/insight-0.7.0.tgz#061f9189835bd38a97a60c2b76ea0c6b30099ff6"
-  dependencies:
-    async "^1.4.2"
-    chalk "^1.0.0"
-    configstore "^1.0.0"
-    inquirer "^0.10.0"
-    lodash.debounce "^3.0.1"
-    object-assign "^4.0.1"
-    os-name "^1.0.0"
-    request "^2.40.0"
-    tough-cookie "^2.0.0"
-
-interpret@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d"
-
-intl@^1.0.1:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde"
-
-invariant@^2.2.0:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
-  dependencies:
-    loose-envify "^1.0.0"
-
-invert-kv@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
-
-ipaddr.js@1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
-
-is-absolute-url@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-
-is-arrayish@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
-is-binary-path@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
-  dependencies:
-    binary-extensions "^1.0.0"
-
-is-buffer@^1.0.2:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
-
-is-builtin-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
-  dependencies:
-    builtin-modules "^1.0.0"
-
-is-docker@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1"
-
-is-dotfile@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
-
-is-equal-shallow@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
-  dependencies:
-    is-primitive "^2.0.0"
-
-is-extendable@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-
-is-extglob@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
-
-is-extglob@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-
-is-finite@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-
-is-glob@^2.0.0, is-glob@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
-  dependencies:
-    is-extglob "^1.0.0"
-
-is-glob@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-  dependencies:
-    is-extglob "^2.1.0"
-
-is-my-json-valid@^2.12.4:
-  version "2.16.0"
-  resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
-  dependencies:
-    generate-function "^2.0.0"
-    generate-object-property "^1.1.0"
-    jsonpointer "^4.0.0"
-    xtend "^4.0.0"
-
-is-npm@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
-
-is-number-like@^1.0.3:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.7.tgz#a38d6b0fd2cd4282449128859eed86c03fd23552"
-  dependencies:
-    bubleify "^0.5.1"
-    lodash.isfinite "^3.3.2"
-
-is-number@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
-
-is-number@^2.0.2, is-number@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-obj@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-
-is-path-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
-
-is-path-in-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
-  dependencies:
-    is-path-inside "^1.0.0"
-
-is-path-inside@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
-  dependencies:
-    path-is-inside "^1.0.1"
-
-is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-
-is-posix-bracket@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
-
-is-primitive@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
-
-is-promise@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
-
-is-property@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
-
-is-redirect@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
-
-is-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
-
-is-retry-allowed@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
-
-is-root@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5"
-
-is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-
-is-supported-regexp-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz#8b520c85fae7a253382d4b02652e045576e13bb8"
-
-is-svg@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
-  dependencies:
-    html-comment-regex "^1.1.0"
-
-is-typedarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-is-utf8@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isbinaryfile@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
-
-isexe@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isobject@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
-  dependencies:
-    isarray "1.0.0"
-
-isstream@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-istanbul-instrumenter-loader@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-2.0.0.tgz#e5492900ab0bba835efa8024cb00be9b3eea2700"
-  dependencies:
-    convert-source-map "^1.3.0"
-    istanbul-lib-instrument "^1.1.3"
-    loader-utils "^0.2.16"
-    object-assign "^4.1.0"
-
-istanbul-lib-coverage@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.2.tgz#87a0c015b6910651cb3b184814dfb339337e25e1"
-
-istanbul-lib-instrument@^1.1.3:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.0.tgz#b8e0dc25709bb44e17336ab47b7bb5c97c23f659"
-  dependencies:
-    babel-generator "^6.18.0"
-    babel-template "^6.16.0"
-    babel-traverse "^6.18.0"
-    babel-types "^6.18.0"
-    babylon "^6.13.0"
-    istanbul-lib-coverage "^1.0.2"
-    semver "^5.3.0"
-
-istanbul@0.4.5, istanbul@0.x.x, istanbul@^0.4.0, istanbul@^0.4.3:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
-  dependencies:
-    abbrev "1.0.x"
-    async "1.x"
-    escodegen "1.8.x"
-    esprima "2.7.x"
-    glob "^5.0.15"
-    handlebars "^4.0.1"
-    js-yaml "3.x"
-    mkdirp "0.5.x"
-    nopt "3.x"
-    once "1.x"
-    resolve "1.1.x"
-    supports-color "^3.1.0"
-    which "^1.1.1"
-    wordwrap "^1.0.0"
-
-istextorbinary@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.1.0.tgz#dbed2a6f51be2f7475b68f89465811141b758874"
-  dependencies:
-    binaryextensions "1 || 2"
-    editions "^1.1.1"
-    textextensions "1 || 2"
-
-jasmine-core@2.5.2:
-  version "2.5.2"
-  resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.2.tgz#6f61bd79061e27f43e6f9355e44b3c6cab6ff297"
-
-jhipster-core@1.2.9:
-  version "1.2.9"
-  resolved "https://registry.yarnpkg.com/jhipster-core/-/jhipster-core-1.2.9.tgz#f6ab3eda8f2dbae2a593ce6af51b5ed23a45cb88"
-  dependencies:
-    lodash "4.17.4"
-
-jodid25519@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
-  dependencies:
-    jsbn "~0.1.0"
-
-jquery@3.2.1, jquery@>=1.9.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
-
-js-base64@^2.1.5, js-base64@^2.1.9:
-  version "2.1.9"
-  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
-
-js-tokens@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
-
-js-yaml@3.8.3, js-yaml@3.x, js-yaml@^3.4.3:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^3.1.1"
-
-js-yaml@~3.7.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^2.6.0"
-
-jsbn@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-jsesc@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
-
-jsesc@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-
-json-loader@^0.5.4:
-  version "0.5.4"
-  resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
-
-json-schema@0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stable-stringify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
-  dependencies:
-    jsonify "~0.0.0"
-
-json-stringify-safe@~5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-json3@3.3.2, json3@^3.3.2:
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
-
-json5@^0.5.0:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-
-jsonfile@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
-  optionalDependencies:
-    graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-
-jsonpointer@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
-
-jsprim@^1.2.2:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
-  dependencies:
-    assert-plus "1.0.0"
-    extsprintf "1.0.2"
-    json-schema "0.2.3"
-    verror "1.3.6"
-
-jstransform@^11.0.3:
-  version "11.0.3"
-  resolved "https://registry.yarnpkg.com/jstransform/-/jstransform-11.0.3.tgz#09a78993e0ae4d4ef4487f6155a91f6190cb4223"
-  dependencies:
-    base62 "^1.1.0"
-    commoner "^0.10.1"
-    esprima-fb "^15001.1.0-dev-harmony-fb"
-    object-assign "^2.0.0"
-    source-map "^0.4.2"
-
-karma-chrome-launcher@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25"
-  dependencies:
-    fs-access "^1.0.0"
-    which "^1.2.1"
-
-karma-coverage@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.1.tgz#5aff8b39cf6994dc22de4c84362c76001b637cf6"
-  dependencies:
-    dateformat "^1.0.6"
-    istanbul "^0.4.0"
-    lodash "^3.8.0"
-    minimatch "^3.0.0"
-    source-map "^0.5.1"
-
-karma-intl-shim@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/karma-intl-shim/-/karma-intl-shim-1.0.3.tgz#f07ab86b644a7c2c2a3299f38d40ed49af7ec0f0"
-  dependencies:
-    intl "^1.0.1"
-
-karma-jasmine@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf"
-
-karma-junit-reporter@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz#4f9c40cedfb1a395f8aef876abf96189917c6396"
-  dependencies:
-    path-is-absolute "^1.0.0"
-    xmlbuilder "8.2.2"
-
-karma-notify-reporter@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/karma-notify-reporter/-/karma-notify-reporter-1.0.1.tgz#d9bfb452bc535367143b6e60325dd400f49f20c8"
-  dependencies:
-    node-notifier "^4.5.0"
-
-karma-phantomjs-launcher@1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz#d23ca34801bda9863ad318e3bb4bd4062b13acd2"
-  dependencies:
-    lodash "^4.0.1"
-    phantomjs-prebuilt "^2.1.7"
-
-karma-remap-istanbul@0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/karma-remap-istanbul/-/karma-remap-istanbul-0.6.0.tgz#97f3b770065254f9b4724f2d9be4a3a2e1baf6fc"
-  dependencies:
-    istanbul "^0.4.3"
-    remap-istanbul "^0.9.0"
-
-karma-sourcemap-loader@0.3.7, karma-sourcemap-loader@^0.3.7:
-  version "0.3.7"
-  resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8"
-  dependencies:
-    graceful-fs "^4.1.2"
-
-karma-webpack@2.0.3, karma-webpack@^2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.3.tgz#39cebf5ca2580139b27f9ae69b78816b9c82fae6"
-  dependencies:
-    async "~0.9.0"
-    loader-utils "^0.2.5"
-    lodash "^3.8.0"
-    source-map "^0.1.41"
-    webpack-dev-middleware "^1.0.11"
-
-karma@1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/karma/-/karma-1.6.0.tgz#0e871d4527d5eac56c41d181f03c5c0a7e6dbf3e"
-  dependencies:
-    bluebird "^3.3.0"
-    body-parser "^1.16.1"
-    chokidar "^1.4.1"
-    colors "^1.1.0"
-    combine-lists "^1.0.0"
-    connect "^3.6.0"
-    core-js "^2.2.0"
-    di "^0.0.1"
-    dom-serialize "^2.2.0"
-    expand-braces "^0.1.1"
-    glob "^7.1.1"
-    graceful-fs "^4.1.2"
-    http-proxy "^1.13.0"
-    isbinaryfile "^3.0.0"
-    lodash "^3.8.0"
-    log4js "^0.6.31"
-    mime "^1.3.4"
-    minimatch "^3.0.2"
-    optimist "^0.6.1"
-    qjobs "^1.1.4"
-    range-parser "^1.2.0"
-    rimraf "^2.6.0"
-    safe-buffer "^5.0.1"
-    socket.io "1.7.3"
-    source-map "^0.5.3"
-    tmp "0.0.31"
-    useragent "^2.1.12"
-
-kew@~0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
-
-kind-of@^3.0.2:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
-  dependencies:
-    is-buffer "^1.0.2"
-
-klaw@^1.0.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
-  optionalDependencies:
-    graceful-fs "^4.1.9"
-
-latest-version@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b"
-  dependencies:
-    package-json "^2.0.0"
-
-latest-version@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
-  dependencies:
-    package-json "^4.0.0"
-
-lazy-cache@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-
-lazy-req@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4"
-
-lazypipe@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/lazypipe/-/lazypipe-1.0.1.tgz#1471aef6b37a340d51c34df44699dcef064c1940"
-  dependencies:
-    stream-combiner "*"
-
-lcid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
-  dependencies:
-    invert-kv "^1.0.0"
-
-less-loader@^2.2.3:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-2.2.3.tgz#b6d8f8139c8493df09d992a93a00734b08f84528"
-  dependencies:
-    loader-utils "^0.2.5"
-
-less@^2.7.2:
-  version "2.7.2"
-  resolved "https://registry.yarnpkg.com/less/-/less-2.7.2.tgz#368d6cc73e1fb03981183280918743c5dcf9b3df"
-  optionalDependencies:
-    errno "^0.1.1"
-    graceful-fs "^4.1.2"
-    image-size "~0.5.0"
-    mime "^1.2.11"
-    mkdirp "^0.5.0"
-    promise "^7.1.1"
-    request "^2.72.0"
-    source-map "^0.5.3"
-
-levn@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
-  dependencies:
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-
-limiter@^1.0.5:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913"
-
-load-json-file@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    strip-bom "^3.0.0"
-
-loader-runner@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
-
-loader-utils@0.x.x, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.5, loader-utils@^0.2.9, loader-utils@~0.2.2, loader-utils@~0.2.3, loader-utils@~0.2.5:
-  version "0.2.17"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
-  dependencies:
-    big.js "^3.1.3"
-    emojis-list "^2.0.0"
-    json5 "^0.5.0"
-    object-assign "^4.0.1"
-
-loader-utils@^1.0.2:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
-  dependencies:
-    big.js "^3.1.3"
-    emojis-list "^2.0.0"
-    json5 "^0.5.0"
-
-localtunnel@1.8.2:
-  version "1.8.2"
-  resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359"
-  dependencies:
-    debug "2.2.0"
-    openurl "1.1.0"
-    request "2.78.0"
-    yargs "3.29.0"
-
-locate-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-  dependencies:
-    p-locate "^2.0.0"
-    path-exists "^3.0.0"
-
-lodash._arraycopy@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
-
-lodash._arrayeach@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
-
-lodash._baseassign@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash.keys "^3.0.0"
-
-lodash._baseclone@^3.0.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7"
-  dependencies:
-    lodash._arraycopy "^3.0.0"
-    lodash._arrayeach "^3.0.0"
-    lodash._baseassign "^3.0.0"
-    lodash._basefor "^3.0.0"
-    lodash.isarray "^3.0.0"
-    lodash.keys "^3.0.0"
-
-lodash._basecopy@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-
-lodash._basefor@^3.0.0:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
-
-lodash._basetostring@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
-
-lodash._basevalues@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
-
-lodash._bindcallback@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-
-lodash._isiterateecall@^3.0.0:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-
-lodash._reescape@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
-
-lodash._reevaluate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
-
-lodash._reinterpolate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
-
-lodash._root@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
-
-lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
-
-lodash.assignin@^4.0.9:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
-
-lodash.bind@^4.1.4:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
-
-lodash.camelcase@^4.3.0:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
-
-lodash.clonedeep@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db"
-  dependencies:
-    lodash._baseclone "^3.0.0"
-    lodash._bindcallback "^3.0.0"
-
-lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
-
-lodash.debounce@^3.0.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-3.1.1.tgz#812211c378a94cc29d5aa4e3346cf0bfce3a7df5"
-  dependencies:
-    lodash._getnative "^3.0.0"
-
-lodash.defaults@^4.0.1:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
-
-lodash.escape@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
-  dependencies:
-    lodash._root "^3.0.0"
-
-lodash.filter@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
-
-lodash.flatten@^4.2.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
-
-lodash.foreach@^4.3.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
-
-lodash.isarguments@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
-
-lodash.isarray@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-
-lodash.isfinite@^3.3.2:
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3"
-
-lodash.keys@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
-  dependencies:
-    lodash._getnative "^3.0.0"
-    lodash.isarguments "^3.0.0"
-    lodash.isarray "^3.0.0"
-
-lodash.map@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
-
-lodash.memoize@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-
-lodash.merge@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
-
-lodash.mergewith@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55"
-
-lodash.pad@^4.1.0:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70"
-
-lodash.padend@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
-
-lodash.padstart@^4.1.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
-
-lodash.pick@^4.2.1:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
-
-lodash.reduce@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
-
-lodash.reject@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
-
-lodash.restparam@^3.0.0:
-  version "3.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
-
-lodash.some@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
-
-lodash.tail@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
-
-lodash.template@^3.0.0:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash._basetostring "^3.0.0"
-    lodash._basevalues "^3.0.0"
-    lodash._isiterateecall "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-    lodash.keys "^3.0.0"
-    lodash.restparam "^3.0.0"
-    lodash.templatesettings "^3.0.0"
-
-lodash.templatesettings@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
-  dependencies:
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-
-lodash.uniq@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-
-lodash@4.17.4, lodash@4.x.x, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.5.1:
-  version "4.17.4"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-
-lodash@^3.10.1, lodash@^3.2.0, lodash@^3.3.1, lodash@^3.8.0:
-  version "3.10.1"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
-
-lodash@~4.16.4:
-  version "4.16.6"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
-
-log-symbols@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
-  dependencies:
-    chalk "^1.0.0"
-
-log4js@^0.6.31:
-  version "0.6.38"
-  resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
-  dependencies:
-    readable-stream "~1.0.2"
-    semver "~4.3.3"
-
-longest@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-
-loose-envify@^1.0.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
-  dependencies:
-    js-tokens "^3.0.0"
-
-loud-rejection@^1.0.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
-  dependencies:
-    currently-unhandled "^0.4.1"
-    signal-exit "^3.0.0"
-
-lower-case@^1.1.1:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
-
-lowercase-keys@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
-
-lru-cache@2.2.x:
-  version "2.2.4"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
-
-lru-cache@^4.0.0, lru-cache@^4.0.1:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
-  dependencies:
-    pseudomap "^1.0.1"
-    yallist "^2.0.0"
-
-macaddress@^0.2.8:
-  version "0.2.8"
-  resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
-
-magic-string@^0.14.0:
-  version "0.14.0"
-  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462"
-  dependencies:
-    vlq "^0.2.1"
-
-magic-string@^0.19.0:
-  version "0.19.0"
-  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.19.0.tgz#198948217254e3e0b93080e01146b7c73b2a06b2"
-  dependencies:
-    vlq "^0.2.1"
-
-map-obj@^1.0.0, map-obj@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-
-map-stream@0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8"
-
-map-stream@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
-
-marked-terminal@^1.6.2:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904"
-  dependencies:
-    cardinal "^1.0.0"
-    chalk "^1.1.3"
-    cli-table "^0.3.1"
-    lodash.assign "^4.2.0"
-    node-emoji "^1.4.1"
-
-marked@^0.3.6:
-  version "0.3.6"
-  resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"
-
-matcher-collection@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-1.0.4.tgz#2f66ae0869996f29e43d0b62c83dd1d43e581755"
-  dependencies:
-    minimatch "^3.0.2"
-
-math-expression-evaluator@^1.2.14:
-  version "1.2.16"
-  resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9"
-
-media-typer@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-
-mem-fs-editor@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz#dd0a6eaf2bb8a6b37740067aa549eb530105af9f"
-  dependencies:
-    commondir "^1.0.1"
-    deep-extend "^0.4.0"
-    ejs "^2.3.1"
-    glob "^7.0.3"
-    globby "^6.1.0"
-    mkdirp "^0.5.0"
-    multimatch "^2.0.0"
-    rimraf "^2.2.8"
-    through2 "^2.0.0"
-    vinyl "^2.0.1"
-
-mem-fs@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc"
-  dependencies:
-    through2 "^2.0.0"
-    vinyl "^1.1.0"
-    vinyl-file "^2.0.0"
-
-memory-fs@^0.4.0, memory-fs@~0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
-  dependencies:
-    errno "^0.1.3"
-    readable-stream "^2.0.1"
-
-meow@^3.0.0, meow@^3.3.0, meow@^3.5.0, meow@^3.7.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
-  dependencies:
-    camelcase-keys "^2.0.0"
-    decamelize "^1.1.2"
-    loud-rejection "^1.0.0"
-    map-obj "^1.0.1"
-    minimist "^1.1.3"
-    normalize-package-data "^2.3.4"
-    object-assign "^4.0.1"
-    read-pkg-up "^1.0.1"
-    redent "^1.0.0"
-    trim-newlines "^1.0.0"
-
-merge-descriptors@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
-
-methods@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
-
-micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.11:
-  version "2.3.11"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
-  dependencies:
-    arr-diff "^2.0.0"
-    array-unique "^0.2.1"
-    braces "^1.8.2"
-    expand-brackets "^0.1.4"
-    extglob "^0.3.1"
-    filename-regex "^2.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.1"
-    kind-of "^3.0.2"
-    normalize-path "^2.0.1"
-    object.omit "^2.0.0"
-    parse-glob "^3.0.4"
-    regex-cache "^0.4.2"
-
-miller-rabin@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
-  dependencies:
-    bn.js "^4.0.0"
-    brorand "^1.0.1"
-
-"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
-  version "1.27.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
-
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
-  version "2.1.15"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
-  dependencies:
-    mime-db "~1.27.0"
-
-mime@1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7"
-
-mime@1.3.4, mime@1.3.x, "mime@>= 0.0.1", mime@^1.2.11, mime@^1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
-
-mimic-fn@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
-
-minimalistic-assert@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
-
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-
-"minimatch@2 || 3", minimatch@3.0.x, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
-  dependencies:
-    brace-expansion "^1.0.0"
-
-minimist@0.0.8, minimist@~0.0.1:
-  version "0.0.8"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-mkdirp@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
-
-mkdirp@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12"
-  dependencies:
-    minimist "0.0.8"
-
-mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
-  dependencies:
-    minimist "0.0.8"
-
-moment@^2.11.2:
-  version "2.18.1"
-  resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
-
-ms@0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-
-ms@0.7.2:
-  version "0.7.2"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
-
-multimatch@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
-  dependencies:
-    array-differ "^1.0.0"
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    minimatch "^3.0.0"
-
-multipipe@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
-  dependencies:
-    duplexer2 "0.0.2"
-
-mute-stream@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
-
-mute-stream@0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db"
-
-mute-stream@0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
-
-nan@^2.3.0, nan@^2.3.2:
-  version "2.6.2"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
-
-ncname@1.0.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
-  dependencies:
-    xml-char-classes "^1.0.0"
-
-negotiator@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
-
-ng-jhipster@0.1.12:
-  version "0.1.12"
-  resolved "https://registry.yarnpkg.com/ng-jhipster/-/ng-jhipster-0.1.12.tgz#22e2323baddb207a85b98443fd4842766cce6e81"
-  dependencies:
-    ng2-translate "4.2.0"
-
-ng2-translate@4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/ng2-translate/-/ng2-translate-4.2.0.tgz#83bc8feca329b5fc56a636e36073241c6280c659"
-
-ng2-webstorage@1.6.2:
-  version "1.6.2"
-  resolved "https://registry.yarnpkg.com/ng2-webstorage/-/ng2-webstorage-1.6.2.tgz#b363fedf56796a9ad8566cd79c2e5c7ad3473668"
-
-ngx-infinite-scroll@0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/ngx-infinite-scroll/-/ngx-infinite-scroll-0.4.1.tgz#1f0b0038400e34aa71d34c3ebbef7bace6155a3f"
-
-no-case@^2.2.0:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081"
-  dependencies:
-    lower-case "^1.1.1"
-
-node-dir@^0.1.10:
-  version "0.1.16"
-  resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.16.tgz#d2ef583aa50b90d93db8cdd26fcea58353957fe4"
-  dependencies:
-    minimatch "^3.0.2"
-
-node-emoji@^1.4.1:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.1.tgz#fd918e412769bf8c448051238233840b2aff16a1"
-  dependencies:
-    string.prototype.codepointat "^0.2.0"
-
-node-gyp@^3.3.1:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.0.tgz#7474f63a3a0501161dda0b6341f022f14c423fa6"
-  dependencies:
-    fstream "^1.0.0"
-    glob "^7.0.3"
-    graceful-fs "^4.1.2"
-    minimatch "^3.0.2"
-    mkdirp "^0.5.0"
-    nopt "2 || 3"
-    npmlog "0 || 1 || 2 || 3 || 4"
-    osenv "0"
-    request "2"
-    rimraf "2"
-    semver "~5.3.0"
-    tar "^2.0.0"
-    which "1"
-
-node-libs-browser@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
-  dependencies:
-    assert "^1.1.1"
-    browserify-zlib "^0.1.4"
-    buffer "^4.3.0"
-    console-browserify "^1.1.0"
-    constants-browserify "^1.0.0"
-    crypto-browserify "^3.11.0"
-    domain-browser "^1.1.1"
-    events "^1.0.0"
-    https-browserify "0.0.1"
-    os-browserify "^0.2.0"
-    path-browserify "0.0.0"
-    process "^0.11.0"
-    punycode "^1.2.4"
-    querystring-es3 "^0.2.0"
-    readable-stream "^2.0.5"
-    stream-browserify "^2.0.1"
-    stream-http "^2.3.1"
-    string_decoder "^0.10.25"
-    timers-browserify "^2.0.2"
-    tty-browserify "0.0.0"
-    url "^0.11.0"
-    util "^0.10.3"
-    vm-browserify "0.0.4"
-
-node-modules-path@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/node-modules-path/-/node-modules-path-1.0.1.tgz#40096b08ce7ad0ea14680863af449c7c75a5d1c8"
-
-node-notifier@^4.1.0, node-notifier@^4.5.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3"
-  dependencies:
-    cli-usage "^0.1.1"
-    growly "^1.2.0"
-    lodash.clonedeep "^3.0.0"
-    minimist "^1.1.1"
-    semver "^5.1.0"
-    shellwords "^0.1.0"
-    which "^1.0.5"
-
-node-pre-gyp@^0.6.29:
-  version "0.6.34"
-  resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
-  dependencies:
-    mkdirp "^0.5.1"
-    nopt "^4.0.1"
-    npmlog "^4.0.2"
-    rc "^1.1.7"
-    request "^2.81.0"
-    rimraf "^2.6.1"
-    semver "^5.3.0"
-    tar "^2.2.1"
-    tar-pack "^3.4.0"
-
-node-sass@4.5.0, node-sass@^4.3.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.0.tgz#532e37bad0ce587348c831535dbc98ea4289508b"
-  dependencies:
-    async-foreach "^0.1.3"
-    chalk "^1.1.1"
-    cross-spawn "^3.0.0"
-    gaze "^1.0.0"
-    get-stdin "^4.0.1"
-    glob "^7.0.3"
-    in-publish "^2.0.0"
-    lodash.assign "^4.2.0"
-    lodash.clonedeep "^4.3.2"
-    lodash.mergewith "^4.6.0"
-    meow "^3.7.0"
-    mkdirp "^0.5.1"
-    nan "^2.3.2"
-    node-gyp "^3.3.1"
-    npmlog "^4.0.0"
-    request "^2.61.0"
-    sass-graph "^2.1.1"
-    stdout-stream "^1.4.0"
-
-node-status-codes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
-
-node-uuid@~1.4.7:
-  version "1.4.8"
-  resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
-
-"nopt@2 || 3", nopt@3.0.x, nopt@3.x, nopt@~3.0.1:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
-  dependencies:
-    abbrev "1"
-
-nopt@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
-  dependencies:
-    abbrev "1"
-    osenv "^0.1.4"
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-  version "2.3.6"
-  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff"
-  dependencies:
-    hosted-git-info "^2.1.4"
-    is-builtin-module "^1.0.0"
-    semver "2 || 3 || 4 || 5"
-    validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.0.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
-  dependencies:
-    remove-trailing-separator "^1.0.1"
-
-normalize-range@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-
-normalize-url@^1.4.0:
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
-  dependencies:
-    object-assign "^4.0.1"
-    prepend-http "^1.0.0"
-    query-string "^4.1.0"
-    sort-keys "^1.0.0"
-
-npm-keyword@^4.1.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/npm-keyword/-/npm-keyword-4.2.0.tgz#98ffebfdbb1336f27ef5fe1baca0dcacd0acf6c0"
-  dependencies:
-    got "^5.0.0"
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-    registry-url "^3.0.3"
-
-npm-run-path@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f"
-  dependencies:
-    path-key "^1.0.0"
-
-npmconf@^2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/npmconf/-/npmconf-2.1.2.tgz#66606a4a736f1e77a059aa071a79c94ab781853a"
-  dependencies:
-    config-chain "~1.1.8"
-    inherits "~2.0.0"
-    ini "^1.2.0"
-    mkdirp "^0.5.0"
-    nopt "~3.0.1"
-    once "~1.3.0"
-    osenv "^0.1.0"
-    semver "2 || 3 || 4"
-    uid-number "0.0.5"
-
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
-  dependencies:
-    are-we-there-yet "~1.1.2"
-    console-control-strings "~1.1.0"
-    gauge "~2.7.1"
-    set-blocking "~2.0.0"
-
-npmlog@^2.0.3:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692"
-  dependencies:
-    ansi "~0.3.1"
-    are-we-there-yet "~1.1.2"
-    gauge "~1.2.5"
-
-nth-check@~1.0.0, nth-check@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
-  dependencies:
-    boolbase "~1.0.0"
-
-null-check@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
-
-num2fraction@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
-
-number-is-nan@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-oauth-sign@~0.8.1:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
-
-object-assign@4.x.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-assign@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
-
-object-assign@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
-
-object-component@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
-
-object-path@^0.9.0:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5"
-
-object-values@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105"
-
-object.omit@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
-  dependencies:
-    for-own "^0.1.4"
-    is-extendable "^0.1.1"
-
-obuf@^1.0.0, obuf@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
-
-on-finished@~2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  dependencies:
-    ee-first "1.1.1"
-
-on-headers@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
-
-once@1.x, once@^1.3.0, once@^1.3.3:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  dependencies:
-    wrappy "1"
-
-once@~1.3.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
-  dependencies:
-    wrappy "1"
-
-onetime@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
-
-onetime@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
-  dependencies:
-    mimic-fn "^1.0.0"
-
-openurl@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a"
-
-opn@4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
-  dependencies:
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-
-opn@^3.0.2:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a"
-  dependencies:
-    object-assign "^4.0.1"
-
-optimist@^0.6.1, optimist@~0.6.0:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
-  dependencies:
-    minimist "~0.0.1"
-    wordwrap "~0.0.2"
-
-optimist@~0.3, optimist@~0.3.5:
-  version "0.3.7"
-  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
-  dependencies:
-    wordwrap "~0.0.2"
-
-optionator@^0.8.1:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
-  dependencies:
-    deep-is "~0.1.3"
-    fast-levenshtein "~2.0.4"
-    levn "~0.3.0"
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-    wordwrap "~1.0.0"
-
-options@>=0.0.5:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
-
-original@>=0.0.5:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
-  dependencies:
-    url-parse "1.0.x"
-
-os-browserify@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
-
-os-homedir@^1.0.0, os-homedir@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-os-locale@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
-  dependencies:
-    lcid "^1.0.0"
-
-os-name@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/os-name/-/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf"
-  dependencies:
-    osx-release "^1.0.0"
-    win-release "^1.0.0"
-
-os-shim@^0.1.2:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
-
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-
-osenv@0, osenv@^0.1.0, osenv@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
-  dependencies:
-    os-homedir "^1.0.0"
-    os-tmpdir "^1.0.0"
-
-osx-release@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/osx-release/-/osx-release-1.1.0.tgz#f217911a28136949af1bf9308b241e2737d3cd6c"
-  dependencies:
-    minimist "^1.1.0"
-
-p-limit@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
-
-p-locate@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-  dependencies:
-    p-limit "^1.1.0"
-
-package-json@^2.0.0, package-json@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb"
-  dependencies:
-    got "^5.0.0"
-    registry-auth-token "^3.0.1"
-    registry-url "^3.0.3"
-    semver "^5.1.0"
-
-package-json@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.0.tgz#f3c9dc8738f5b59304d54d2cfb3f91d08fdd7998"
-  dependencies:
-    got "^6.7.1"
-    registry-auth-token "^3.0.1"
-    registry-url "^3.0.3"
-    semver "^5.1.0"
-
-pad-component@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/pad-component/-/pad-component-0.0.1.tgz#ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac"
-
-pako@~0.2.0:
-  version "0.2.9"
-  resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
-
-param-case@2.1.x:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
-  dependencies:
-    no-case "^2.2.0"
-
-parse-asn1@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
-  dependencies:
-    asn1.js "^4.0.0"
-    browserify-aes "^1.0.0"
-    create-hash "^1.1.0"
-    evp_bytestokey "^1.0.0"
-    pbkdf2 "^3.0.3"
-
-parse-glob@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
-  dependencies:
-    glob-base "^0.3.0"
-    is-dotfile "^1.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.0"
-
-parse-help@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/parse-help/-/parse-help-0.1.1.tgz#2f4df942e77a5581bba9967c0c3f48e4c66d7dda"
-  dependencies:
-    execall "^1.0.0"
-
-parse-json@^2.1.0, parse-json@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
-  dependencies:
-    error-ex "^1.2.0"
-
-parsejson@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseqs@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseuri@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseurl@~1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
-
-path-browserify@0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
-
-path-exists@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
-  dependencies:
-    pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-
-path-is-absolute@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-is-inside@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
-
-path-key@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af"
-
-path-parse@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-path-to-regexp@0.1.7:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
-
-path-type@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
-  dependencies:
-    pify "^2.0.0"
-
-pause-stream@0.0.11:
-  version "0.0.11"
-  resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
-  dependencies:
-    through "~2.3"
-
-pbkdf2@^3.0.3:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
-  dependencies:
-    create-hmac "^1.1.2"
-
-pend@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
-
-performance-now@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
-
-phantomjs-prebuilt@2.1.14, phantomjs-prebuilt@^2.1.7:
-  version "2.1.14"
-  resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz#d53d311fcfb7d1d08ddb24014558f1188c516da0"
-  dependencies:
-    es6-promise "~4.0.3"
-    extract-zip "~1.5.0"
-    fs-extra "~1.0.0"
-    hasha "~2.2.0"
-    kew "~0.7.0"
-    progress "~1.1.8"
-    request "~2.79.0"
-    request-progress "~2.0.1"
-    which "~1.2.10"
-
-pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-
-pinkie-promise@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
-  dependencies:
-    pinkie "^2.0.0"
-
-pinkie@^2.0.0:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-
-pluralize@4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
-
-portfinder@^1.0.9, portfinder@~1.0.12:
-  version "1.0.13"
-  resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
-  dependencies:
-    async "^1.5.2"
-    debug "^2.2.0"
-    mkdirp "0.5.x"
-
-portscanner@2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96"
-  dependencies:
-    async "1.5.2"
-    is-number-like "^1.0.3"
-
-postcss-calc@^5.2.0:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
-  dependencies:
-    postcss "^5.0.2"
-    postcss-message-helpers "^2.0.0"
-    reduce-css-calc "^1.2.6"
-
-postcss-colormin@^2.1.8:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
-  dependencies:
-    colormin "^1.0.5"
-    postcss "^5.0.13"
-    postcss-value-parser "^3.2.3"
-
-postcss-convert-values@^2.3.4:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
-  dependencies:
-    postcss "^5.0.11"
-    postcss-value-parser "^3.1.2"
-
-postcss-discard-comments@^2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-duplicates@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-discard-empty@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-overridden@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
-  dependencies:
-    postcss "^5.0.16"
-
-postcss-discard-unused@^2.2.1:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
-  dependencies:
-    postcss "^5.0.14"
-    uniqs "^2.0.0"
-
-postcss-filter-plugins@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
-  dependencies:
-    postcss "^5.0.4"
-    uniqid "^4.0.0"
-
-postcss-load-config@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
-  dependencies:
-    cosmiconfig "^2.1.0"
-    object-assign "^4.1.0"
-    postcss-load-options "^1.2.0"
-    postcss-load-plugins "^2.3.0"
-
-postcss-load-options@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
-  dependencies:
-    cosmiconfig "^2.1.0"
-    object-assign "^4.1.0"
-
-postcss-load-plugins@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
-  dependencies:
-    cosmiconfig "^2.1.1"
-    object-assign "^4.1.0"
-
-postcss-loader@1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-1.3.0.tgz#b073d425cd260fb0281f5c9be4cef070698eb8d2"
-  dependencies:
-    loader-utils "^0.2.16"
-    object-assign "^4.1.1"
-    postcss "^5.2.12"
-    postcss-load-config "^1.1.0"
-
-postcss-loader@^0.13.0:
-  version "0.13.0"
-  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-0.13.0.tgz#72fdaf0d29444df77d3751ce4e69dc40bc99ed85"
-  dependencies:
-    loader-utils "^0.2.15"
-    postcss "^5.2.0"
-
-postcss-merge-idents@^2.1.5:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.10"
-    postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-merge-rules@^2.0.3:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
-  dependencies:
-    browserslist "^1.5.2"
-    caniuse-api "^1.5.2"
-    postcss "^5.0.4"
-    postcss-selector-parser "^2.2.2"
-    vendors "^1.0.0"
-
-postcss-message-helpers@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
-
-postcss-minify-font-values@^1.0.2:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
-  dependencies:
-    object-assign "^4.0.1"
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-minify-gradients@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
-  dependencies:
-    postcss "^5.0.12"
-    postcss-value-parser "^3.3.0"
-
-postcss-minify-params@^1.0.4:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.2"
-    postcss-value-parser "^3.0.2"
-    uniqs "^2.0.0"
-
-postcss-minify-selectors@^2.0.4:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
-  dependencies:
-    alphanum-sort "^1.0.2"
-    has "^1.0.1"
-    postcss "^5.0.14"
-    postcss-selector-parser "^2.0.0"
-
-postcss-modules-extract-imports@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-modules-local-by-default@^1.0.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce"
-  dependencies:
-    css-selector-tokenizer "^0.6.0"
-    postcss "^5.0.4"
-
-postcss-modules-scope@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29"
-  dependencies:
-    css-selector-tokenizer "^0.6.0"
-    postcss "^5.0.4"
-
-postcss-modules-values@^1.1.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1"
-  dependencies:
-    icss-replace-symbols "^1.0.2"
-    postcss "^5.0.14"
-
-postcss-normalize-charset@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
-  dependencies:
-    postcss "^5.0.5"
-
-postcss-normalize-url@^3.0.7:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
-  dependencies:
-    is-absolute-url "^2.0.0"
-    normalize-url "^1.4.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-
-postcss-ordered-values@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.1"
-
-postcss-reduce-idents@^2.2.2:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-reduce-initial@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-reduce-transforms@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.8"
-    postcss-value-parser "^3.0.1"
-
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
-  dependencies:
-    flatten "^1.0.2"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
-postcss-svgo@^2.1.1:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
-  dependencies:
-    is-svg "^2.0.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-    svgo "^0.7.0"
-
-postcss-unique-selectors@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss-url@^5.1.2:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-5.1.2.tgz#98b3165be8d592471cb0caadde2c0d1f832f133e"
-  dependencies:
-    directory-encoder "^0.7.2"
-    js-base64 "^2.1.5"
-    mime "^1.2.11"
-    minimatch "^3.0.0"
-    mkdirp "^0.5.0"
-    path-is-absolute "^1.0.0"
-    postcss "^5.0.0"
-
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
-
-postcss-zindex@^2.0.1:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.0, postcss@^5.2.12, postcss@^5.2.16:
-  version "5.2.17"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b"
-  dependencies:
-    chalk "^1.1.3"
-    js-base64 "^2.1.9"
-    source-map "^0.5.6"
-    supports-color "^3.2.3"
-
-prelude-ls@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-
-prepend-http@^1.0.0, prepend-http@^1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-
-preserve@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-
-pretty-bytes@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
-
-pretty-error@^2.0.2:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8"
-  dependencies:
-    renderkid "^2.0.1"
-    utila "~0.4"
-
-private@^0.1.6, private@~0.1.5:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
-
-process-nextick-args@^1.0.6, process-nextick-args@~1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-
-process@^0.11.0:
-  version "0.11.9"
-  resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
-
-progress@~1.1.8:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
-
-promise@^7.0.3, promise@^7.1.1:
-  version "7.1.1"
-  resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
-  dependencies:
-    asap "~2.0.3"
-
-proto-list@~1.2.1:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-proxy-addr@~1.1.3:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3"
-  dependencies:
-    forwarded "~0.1.0"
-    ipaddr.js "1.3.0"
-
-proxy-middleware@0.15.0:
-  version "0.15.0"
-  resolved "https://registry.yarnpkg.com/proxy-middleware/-/proxy-middleware-0.15.0.tgz#a3fdf1befb730f951965872ac2f6074c61477a56"
-
-prr@~0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
-
-pseudomap@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-public-encrypt@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
-  dependencies:
-    bn.js "^4.1.0"
-    browserify-rsa "^4.0.0"
-    create-hash "^1.1.0"
-    parse-asn1 "^5.0.0"
-    randombytes "^2.0.1"
-
-punycode@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-
-punycode@^1.2.4, punycode@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-q@^1.1.2:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
-
-qjobs@^1.1.4:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
-
-qs@0.4.x:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f"
-
-qs@6.2.1:
-  version "6.2.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
-
-qs@6.4.0, "qs@>= 0.4.0", qs@~6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
-
-qs@~6.3.0:
-  version "6.3.2"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c"
-
-query-string@^4.1.0:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.2.tgz#ec0fd765f58a50031a3968c2431386f8947a5cdd"
-  dependencies:
-    object-assign "^4.1.0"
-    strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
-
-querystring@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-
-querystringify@0.0.x:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
-
-randexp@0.4.5:
-  version "0.4.5"
-  resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.5.tgz#ffe3a80c3f666cd71e6b008e477e584c1a32ff3e"
-  dependencies:
-    discontinuous-range "1.0.0"
-    ret "~0.1.10"
-
-randomatic@^1.1.3:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
-  dependencies:
-    is-number "^2.0.2"
-    kind-of "^3.0.2"
-
-randombytes@^2.0.0, randombytes@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
-
-range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-
-raw-body@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
-  dependencies:
-    bytes "2.4.0"
-    iconv-lite "0.4.15"
-    unpipe "1.0.0"
-
-raw-loader@^0.5.1, raw-loader@~0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
-
-rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
-  dependencies:
-    deep-extend "~0.4.0"
-    ini "~1.3.0"
-    minimist "^1.2.0"
-    strip-json-comments "~2.0.1"
-
-react-dom@^0.14.0:
-  version "0.14.9"
-  resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-0.14.9.tgz#05064a3dcf0fb1880a3b2bfc9d58c55d8d9f6293"
-
-react@^0.14.0:
-  version "0.14.9"
-  resolved "https://registry.yarnpkg.com/react/-/react-0.14.9.tgz#9110a6497c49d44ba1c0edd317aec29c2e0d91d1"
-  dependencies:
-    envify "^3.0.0"
-    fbjs "^0.6.1"
-
-read-all-stream@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
-  dependencies:
-    pinkie-promise "^2.0.0"
-    readable-stream "^2.0.0"
-
-read-chunk@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.0.0.tgz#3246e877829116cec059674c4d5f300f7a9261f3"
-  dependencies:
-    pify "^2.3.0"
-
-read-pkg-up@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
-  dependencies:
-    find-up "^1.0.0"
-    read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
-  dependencies:
-    find-up "^2.0.0"
-    read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
-  dependencies:
-    load-json-file "^1.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^1.0.0"
-
-read-pkg@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
-  dependencies:
-    load-json-file "^2.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^2.0.0"
-
-readable-stream@1.0, readable-stream@~1.0.2:
-  version "1.0.34"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readable-stream@1.1, readable-stream@~1.1.9:
-  version "1.1.13"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.6:
-  version "2.2.9"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
-  dependencies:
-    buffer-shims "~1.0.0"
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~1.0.0"
-    util-deprecate "~1.0.1"
-
-readable-stream@~2.0.0:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~0.10.x"
-    util-deprecate "~1.0.1"
-
-readdirp@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
-  dependencies:
-    graceful-fs "^4.1.2"
-    minimatch "^3.0.2"
-    readable-stream "^2.0.2"
-    set-immediate-shim "^1.0.1"
-
-readline2@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    mute-stream "0.0.5"
-
-recast@^0.11.17, recast@~0.11.12:
-  version "0.11.23"
-  resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
-  dependencies:
-    ast-types "0.9.6"
-    esprima "~3.1.0"
-    private "~0.1.5"
-    source-map "~0.5.0"
-
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
-  dependencies:
-    resolve "^1.1.6"
-
-redent@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
-  dependencies:
-    indent-string "^2.1.0"
-    strip-indent "^1.0.1"
-
-redeyed@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a"
-  dependencies:
-    esprima "~3.0.0"
-
-reduce-css-calc@^1.2.6:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
-  dependencies:
-    balanced-match "^0.4.2"
-    math-expression-evaluator "^1.2.14"
-    reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
-  dependencies:
-    balanced-match "^0.4.2"
-
-reflect-metadata@0.1.10, reflect-metadata@^0.1.2:
-  version "0.1.10"
-  resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a"
-
-regenerate@^1.2.1:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
-
-regenerator-runtime@^0.10.0:
-  version "0.10.3"
-  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
-
-regex-cache@^0.4.2:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
-  dependencies:
-    is-equal-shallow "^0.1.3"
-    is-primitive "^2.0.0"
-
-regexpu-core@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
-  dependencies:
-    regenerate "^1.2.1"
-    regjsgen "^0.2.0"
-    regjsparser "^0.1.4"
-
-registry-auth-token@^3.0.1:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.2.tgz#1b9e51a185c930da34a9894b12a52ea998f1adaf"
-  dependencies:
-    rc "^1.1.6"
-
-registry-url@^3.0.3:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
-  dependencies:
-    rc "^1.0.1"
-
-regjsgen@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
-
-regjsparser@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
-  dependencies:
-    jsesc "~0.5.0"
-
-relateurl@0.2.x:
-  version "0.2.7"
-  resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
-
-remap-istanbul@^0.9.0:
-  version "0.9.5"
-  resolved "https://registry.yarnpkg.com/remap-istanbul/-/remap-istanbul-0.9.5.tgz#a18617b1f31eec5a7dbee77538298b775606aaa8"
-  dependencies:
-    amdefine "^1.0.0"
-    gulp-util "3.0.7"
-    istanbul "0.4.5"
-    minimatch "^3.0.3"
-    source-map ">=0.5.6"
-    through2 "2.0.1"
-
-remove-trailing-separator@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
-
-renderkid@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319"
-  dependencies:
-    css-select "^1.1.0"
-    dom-converter "~0.1"
-    htmlparser2 "~3.3.0"
-    strip-ansi "^3.0.0"
-    utila "~0.3"
-
-repeat-element@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-
-repeat-string@^0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
-
-repeat-string@^1.5.2:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-
-repeating@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-  dependencies:
-    is-finite "^1.0.0"
-
-replace-ext@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
-
-replace-ext@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-
-request-progress@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08"
-  dependencies:
-    throttleit "^1.0.0"
-
-request@2, request@^2.40.0, request@^2.61.0, request@^2.72.0, request@^2.74.0, request@~2.79.0:
-  version "2.79.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.11.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~2.0.6"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    oauth-sign "~0.8.1"
-    qs "~6.3.0"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "~0.4.1"
-    uuid "^3.0.0"
-
-request@2.78.0:
-  version "2.78.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.11.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~2.0.6"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    node-uuid "~1.4.7"
-    oauth-sign "~0.8.1"
-    qs "~6.3.0"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "~0.4.1"
-
-request@^2.81.0:
-  version "2.81.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~4.2.1"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    oauth-sign "~0.8.1"
-    performance-now "^0.2.0"
-    qs "~6.4.0"
-    safe-buffer "^5.0.1"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "^0.6.0"
-    uuid "^3.0.0"
-
-require-directory@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-
-require-from-string@^1.1.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
-
-require-main-filename@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-
-requires-port@1.0.x, requires-port@1.x.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
-
-resolve@1.1.x:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-
-resolve@^1.1.6, resolve@^1.1.7:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
-  dependencies:
-    path-parse "^1.0.5"
-
-resp-modifier@6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f"
-  dependencies:
-    debug "^2.2.0"
-    minimatch "^3.0.2"
-
-restore-cursor@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
-  dependencies:
-    exit-hook "^1.0.0"
-    onetime "^1.0.0"
-
-restore-cursor@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
-  dependencies:
-    onetime "^2.0.0"
-    signal-exit "^3.0.2"
-
-ret@~0.1.10:
-  version "0.1.14"
-  resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.14.tgz#58c636837b12e161f8a380cf081c6a230fd1664e"
-
-right-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
-  dependencies:
-    align-text "^0.1.1"
-
-rimraf@2, rimraf@2.6.1, rimraf@^2.2.0, rimraf@^2.2.8, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.5.3, rimraf@^2.6.0, rimraf@^2.6.1:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
-  dependencies:
-    glob "^7.0.5"
-
-rimraf@~2.2.6:
-  version "2.2.8"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
-
-ripemd160@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
-
-root-check@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/root-check/-/root-check-1.0.0.tgz#c52a794bf0db9fad567536e41898f0c9e0a86697"
-  dependencies:
-    downgrade-root "^1.0.0"
-    sudo-block "^1.1.0"
-
-rsvp@^3.0.17:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.5.0.tgz#a62c573a4ae4e1dfd0697ebc6242e79c681eaa34"
-
-run-async@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
-  dependencies:
-    once "^1.3.0"
-
-run-async@^2.0.0, run-async@^2.2.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
-  dependencies:
-    is-promise "^2.1.0"
-
-run-sequence@1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb"
-  dependencies:
-    chalk "*"
-    gulp-util "*"
-
-rx-lite@^3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
-
-rx@4.1.0, rx@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
-
-rxjs@5.3.0, rxjs@^5.0.1:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.3.0.tgz#d88ccbdd46af290cbdb97d5d8055e52453fabe2d"
-  dependencies:
-    symbol-observable "^1.0.1"
-
-safe-buffer@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
-
-sass-graph@^2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b"
-  dependencies:
-    glob "^7.0.0"
-    lodash "^4.0.0"
-    yargs "^4.7.1"
-
-sass-loader@5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-5.0.1.tgz#4aa82f44242abe62ed8fdcd28d6331a34ef27c2d"
-  dependencies:
-    async "^2.0.1"
-    loader-utils "^0.2.15"
-    lodash.tail "^4.1.1"
-    pify "^2.3.0"
-
-sass-loader@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-4.1.1.tgz#79ef9468cf0bf646c29529e1f2cba6bd6e51c7bc"
-  dependencies:
-    async "^2.0.1"
-    loader-utils "^0.2.15"
-    object-assign "^4.1.0"
-
-sax@0.5.x:
-  version "0.5.8"
-  resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1"
-
-sax@>=0.6.0, sax@~1.2.1:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
-
-script-loader@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.0.tgz#685dc7e7069e0dee7a92674f0ebc5b0f55baa5ec"
-  dependencies:
-    raw-loader "~0.5.1"
-
-select-hose@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
-
-semver-diff@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
-  dependencies:
-    semver "^5.0.3"
-
-semver-dsl@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0"
-  dependencies:
-    semver "^5.3.0"
-
-semver-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
-
-semver-truncate@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8"
-  dependencies:
-    semver "^5.3.0"
-
-"semver@2 || 3 || 4", semver@^4.0.3, semver@~4.3.3:
-  version "4.3.6"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
-
-"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-
-send@0.14.1:
-  version "0.14.1"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a"
-  dependencies:
-    debug "~2.2.0"
-    depd "~1.1.0"
-    destroy "~1.0.4"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    etag "~1.7.0"
-    fresh "0.3.0"
-    http-errors "~1.5.0"
-    mime "1.3.4"
-    ms "0.7.1"
-    on-finished "~2.3.0"
-    range-parser "~1.2.0"
-    statuses "~1.3.0"
-
-send@0.15.1:
-  version "0.15.1"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f"
-  dependencies:
-    debug "2.6.1"
-    depd "~1.1.0"
-    destroy "~1.0.4"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    etag "~1.8.0"
-    fresh "0.5.0"
-    http-errors "~1.6.1"
-    mime "1.3.4"
-    ms "0.7.2"
-    on-finished "~2.3.0"
-    range-parser "~1.2.0"
-    statuses "~1.3.1"
-
-serve-index@1.8.0, serve-index@^1.7.2:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
-  dependencies:
-    accepts "~1.3.3"
-    batch "0.5.3"
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    http-errors "~1.5.0"
-    mime-types "~2.1.11"
-    parseurl "~1.3.1"
-
-serve-static@1.11.1:
-  version "1.11.1"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805"
-  dependencies:
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    parseurl "~1.3.1"
-    send "0.14.1"
-
-serve-static@1.12.1:
-  version "1.12.1"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039"
-  dependencies:
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    parseurl "~1.3.1"
-    send "0.15.1"
-
-server-destroy@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd"
-
-set-blocking@^2.0.0, set-blocking@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-
-setimmediate@^1.0.4:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-
-setprototypeof@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
-
-setprototypeof@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
-
-sha.js@^2.3.6:
-  version "2.4.8"
-  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
-  dependencies:
-    inherits "^2.0.1"
-
-shebang-command@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-  dependencies:
-    shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-shelljs@0.7.7, shelljs@^0.7.0:
-  version "0.7.7"
-  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
-  dependencies:
-    glob "^7.0.0"
-    interpret "^1.0.0"
-    rechoir "^0.6.2"
-
-shellwords@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14"
-
-signal-exit@^3.0.0, signal-exit@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-silent-error@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.0.1.tgz#71b7d503d1c6f94882b51b56be879b113cb4822c"
-  dependencies:
-    debug "^2.2.0"
-
-slide@^1.1.5:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
-
-sntp@1.x.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
-  dependencies:
-    hoek "2.x.x"
-
-socket.io-adapter@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
-  dependencies:
-    debug "2.3.3"
-    socket.io-parser "2.3.1"
-
-socket.io-client@1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.6.0.tgz#5b668f4f771304dfeed179064708386fa6717853"
-  dependencies:
-    backo2 "1.0.2"
-    component-bind "1.0.0"
-    component-emitter "1.2.1"
-    debug "2.3.3"
-    engine.io-client "1.8.0"
-    has-binary "0.1.7"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseuri "0.0.5"
-    socket.io-parser "2.3.1"
-    to-array "0.1.4"
-
-socket.io-client@1.7.3:
-  version "1.7.3"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
-  dependencies:
-    backo2 "1.0.2"
-    component-bind "1.0.0"
-    component-emitter "1.2.1"
-    debug "2.3.3"
-    engine.io-client "1.8.3"
-    has-binary "0.1.7"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseuri "0.0.5"
-    socket.io-parser "2.3.1"
-    to-array "0.1.4"
-
-socket.io-parser@2.3.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
-  dependencies:
-    component-emitter "1.1.2"
-    debug "2.2.0"
-    isarray "0.0.1"
-    json3 "3.3.2"
-
-socket.io@1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1"
-  dependencies:
-    debug "2.3.3"
-    engine.io "1.8.0"
-    has-binary "0.1.7"
-    object-assign "4.1.0"
-    socket.io-adapter "0.5.0"
-    socket.io-client "1.6.0"
-    socket.io-parser "2.3.1"
-
-socket.io@1.7.3:
-  version "1.7.3"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
-  dependencies:
-    debug "2.3.3"
-    engine.io "1.8.3"
-    has-binary "0.1.7"
-    object-assign "4.1.0"
-    socket.io-adapter "0.5.0"
-    socket.io-client "1.7.3"
-    socket.io-parser "2.3.1"
-
-sockjs-client@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.1.tgz#284843e9a9784d7c474b1571b3240fca9dda4bb0"
-  dependencies:
-    debug "^2.2.0"
-    eventsource "~0.1.6"
-    faye-websocket "~0.11.0"
-    inherits "^2.0.1"
-    json3 "^3.3.2"
-    url-parse "^1.1.1"
-
-sockjs-client@1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
-  dependencies:
-    debug "^2.2.0"
-    eventsource "0.1.6"
-    faye-websocket "~0.11.0"
-    inherits "^2.0.1"
-    json3 "^3.3.2"
-    url-parse "^1.1.1"
-
-sockjs@0.3.18:
-  version "0.3.18"
-  resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207"
-  dependencies:
-    faye-websocket "^0.10.0"
-    uuid "^2.0.2"
-
-sort-keys@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
-  dependencies:
-    is-plain-obj "^1.0.0"
-
-sort-on@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/sort-on/-/sort-on-1.3.0.tgz#0dfd5b364b23df7f2acd86985daeb889e1a7c840"
-  dependencies:
-    arrify "^1.0.0"
-    dot-prop "^2.0.0"
-
-source-list-map@^0.1.7, source-list-map@~0.1.7:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
-
-source-list-map@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
-
-source-map-loader@^0.1.5:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.1.6.tgz#c09903da6d73b9e53b7ed8ee5245597051e98e91"
-  dependencies:
-    async "^0.9.0"
-    loader-utils "~0.2.2"
-    source-map "~0.1.33"
-
-source-map-support@^0.4.11, source-map-support@^0.4.2:
-  version "0.4.14"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
-  dependencies:
-    source-map "^0.5.6"
-
-source-map@0.1.x, source-map@^0.1.41, source-map@~0.1.33, source-map@~0.1.38, source-map@~0.1.7:
-  version "0.1.43"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@0.5.x, source-map@>=0.5.6, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3:
-  version "0.5.6"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
-
-source-map@^0.4.2, source-map@^0.4.4:
-  version "0.4.4"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
-  dependencies:
-    amdefine ">=0.0.4"
-
-sourcemap-istanbul-instrumenter-loader@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/sourcemap-istanbul-instrumenter-loader/-/sourcemap-istanbul-instrumenter-loader-0.2.0.tgz#8fd72e8abd16ded58918a7474db5bb3d0dbbcacd"
-  dependencies:
-    istanbul "0.x.x"
-    loader-utils "0.x.x"
-    object-assign "4.x.x"
-
-sparkles@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
-
-spawn-sync@^1.0.15:
-  version "1.0.15"
-  resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
-  dependencies:
-    concat-stream "^1.4.7"
-    os-shim "^0.1.2"
-
-spdx-correct@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
-  dependencies:
-    spdx-license-ids "^1.0.2"
-
-spdx-expression-parse@~1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
-
-spdx-license-ids@^1.0.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
-
-spdy-transport@^2.0.15:
-  version "2.0.18"
-  resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz#43fc9c56be2cccc12bb3e2754aa971154e836ea6"
-  dependencies:
-    debug "^2.2.0"
-    hpack.js "^2.1.6"
-    obuf "^1.1.0"
-    readable-stream "^2.0.1"
-    wbuf "^1.4.0"
-
-spdy@^3.4.1:
-  version "3.4.4"
-  resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.4.tgz#e0406407ca90ff01b553eb013505442649f5a819"
-  dependencies:
-    debug "^2.2.0"
-    handle-thing "^1.2.4"
-    http-deceiver "^1.2.4"
-    select-hose "^2.0.0"
-    spdy-transport "^2.0.15"
-
-split@0.3:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
-  dependencies:
-    through "2"
-
-sprintf-js@^1.0.3, sprintf-js@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-sshpk@^1.7.0:
-  version "1.13.0"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
-  dependencies:
-    asn1 "~0.2.3"
-    assert-plus "^1.0.0"
-    dashdash "^1.12.0"
-    getpass "^0.1.1"
-  optionalDependencies:
-    bcrypt-pbkdf "^1.0.0"
-    ecc-jsbn "~0.1.1"
-    jodid25519 "^1.0.0"
-    jsbn "~0.1.0"
-    tweetnacl "~0.14.0"
-
-"statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-
-stdout-stream@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
-  dependencies:
-    readable-stream "^2.0.1"
-
-stream-browserify@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
-  dependencies:
-    inherits "~2.0.1"
-    readable-stream "^2.0.2"
-
-stream-combiner@*, stream-combiner@~0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
-  dependencies:
-    duplexer "~0.1.1"
-
-stream-http@^2.3.1:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
-  dependencies:
-    builtin-status-codes "^3.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.2.6"
-    to-arraybuffer "^1.0.0"
-    xtend "^4.0.0"
-
-stream-throttle@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
-  dependencies:
-    commander "^2.2.0"
-    limiter "^1.0.5"
-
-strict-uri-encode@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-
-string-length@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
-  dependencies:
-    strip-ansi "^3.0.0"
-
-string-replace-webpack-plugin@0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/string-replace-webpack-plugin/-/string-replace-webpack-plugin-0.1.3.tgz#73c657e759d66cfe80ae1e0cf091aa256d0e715c"
-  dependencies:
-    async "~0.2.10"
-    loader-utils "~0.2.3"
-  optionalDependencies:
-    css-loader "^0.9.1"
-    file-loader "^0.8.1"
-    style-loader "^0.8.3"
-
-string-template@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
-
-string-width@^1.0.0, string-width@^1.0.1, string-width@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    strip-ansi "^3.0.0"
-
-string-width@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
-  dependencies:
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^3.0.0"
-
-string.prototype.codepointat@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78"
-
-string_decoder@^0.10.25, string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
-  dependencies:
-    buffer-shims "~1.0.0"
-
-stringstream@~0.0.4:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-strip-bom-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca"
-  dependencies:
-    first-chunk-stream "^2.0.0"
-    strip-bom "^2.0.0"
-
-strip-bom@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
-  dependencies:
-    is-utf8 "^0.2.0"
-
-strip-bom@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-
-strip-eof@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-
-strip-indent@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
-  dependencies:
-    get-stdin "^4.0.1"
-
-strip-json-comments@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-style-loader@0.16.1:
-  version "0.16.1"
-  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.16.1.tgz#50e325258d4e78421dd9680636b41e8661595d10"
-  dependencies:
-    loader-utils "^1.0.2"
-
-style-loader@^0.13.1:
-  version "0.13.2"
-  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb"
-  dependencies:
-    loader-utils "^1.0.2"
-
-style-loader@^0.8.3:
-  version "0.8.3"
-  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.8.3.tgz#f4f92eb7db63768748f15065cd6700f5a1c85357"
-  dependencies:
-    loader-utils "^0.2.5"
-
-stylus-loader@^2.4.0:
-  version "2.5.1"
-  resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-2.5.1.tgz#d5ad8a7e0958adc12b8581e7bb169b9a61d54216"
-  dependencies:
-    loader-utils "^0.2.9"
-    lodash.clonedeep "^4.5.0"
-    when "~3.6.x"
-
-stylus@^0.54.5:
-  version "0.54.5"
-  resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79"
-  dependencies:
-    css-parse "1.7.x"
-    debug "*"
-    glob "7.0.x"
-    mkdirp "0.5.x"
-    sax "0.5.x"
-    source-map "0.1.x"
-
-sudo-block@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/sudo-block/-/sudo-block-1.2.0.tgz#cc539bf8191624d4f507d83eeb45b4cea27f3463"
-  dependencies:
-    chalk "^1.0.0"
-    is-docker "^1.0.0"
-    is-root "^1.0.0"
-
-supports-color@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2, supports-color@^3.2.3:
-  version "3.2.3"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
-  dependencies:
-    has-flag "^1.0.0"
-
-svgo@^0.7.0:
-  version "0.7.2"
-  resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
-  dependencies:
-    coa "~1.0.1"
-    colors "~1.1.2"
-    csso "~2.3.1"
-    js-yaml "~3.7.0"
-    mkdirp "~0.5.1"
-    sax "~1.2.1"
-    whet.extend "~0.9.9"
-
-swagger-ui@2.2.10:
-  version "2.2.10"
-  resolved "https://registry.yarnpkg.com/swagger-ui/-/swagger-ui-2.2.10.tgz#b25e7a21664e5d90bf391db30db08de41e852d7b"
-
-symbol-observable@^1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
-
-tabtab@^1.3.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/tabtab/-/tabtab-1.3.2.tgz#bb9c2ca6324f659fde7634c2caf3c096e1187ca7"
-  dependencies:
-    debug "^2.2.0"
-    inquirer "^1.0.2"
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    npmlog "^2.0.3"
-    object-assign "^4.1.0"
-
-taketalk@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd"
-  dependencies:
-    get-stdin "^4.0.1"
-    minimist "^1.1.0"
-
-tapable@^0.2.5, tapable@~0.2.5:
-  version "0.2.6"
-  resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
-
-tar-pack@^3.4.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
-  dependencies:
-    debug "^2.2.0"
-    fstream "^1.0.10"
-    fstream-ignore "^1.0.5"
-    once "^1.3.3"
-    readable-stream "^2.1.4"
-    rimraf "^2.5.1"
-    tar "^2.2.1"
-    uid-number "^0.0.6"
-
-tar@^2.0.0, tar@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
-  dependencies:
-    block-stream "*"
-    fstream "^1.0.2"
-    inherits "2"
-
-temp@0.8.3:
-  version "0.8.3"
-  resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
-  dependencies:
-    os-tmpdir "^1.0.0"
-    rimraf "~2.2.6"
-
-term-size@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca"
-  dependencies:
-    execa "^0.4.0"
-
-tether@1.4.0, tether@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/tether/-/tether-1.4.0.tgz#0f9fa171f75bf58485d8149e94799d7ae74d1c1a"
-
-text-table@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-
-"textextensions@1 || 2":
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.0.1.tgz#be8cf22d65379c151319f88f0335ad8f667abdca"
-
-tfunk@^3.0.1:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b"
-  dependencies:
-    chalk "^1.1.1"
-    object-path "^0.9.0"
-
-throttleit@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c"
-
-through2@2.0.1, through2@^2.0.0, through2@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9"
-  dependencies:
-    readable-stream "~2.0.0"
-    xtend "~4.0.0"
-
-through@2, through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.6:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-
-time-stamp@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151"
-
-timed-out@^3.0.0:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
-
-timed-out@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
-
-timers-browserify@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
-  dependencies:
-    setimmediate "^1.0.4"
-
-titleize@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
-
-tmp@0.0.31, tmp@0.0.x, tmp@^0.0.31:
-  version "0.0.31"
-  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
-  dependencies:
-    os-tmpdir "~1.0.1"
-
-tmp@^0.0.29:
-  version "0.0.29"
-  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0"
-  dependencies:
-    os-tmpdir "~1.0.1"
-
-to-array@0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
-
-to-arraybuffer@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-
-to-fast-properties@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
-
-to-string-loader@1.1.5:
-  version "1.1.5"
-  resolved "https://registry.yarnpkg.com/to-string-loader/-/to-string-loader-1.1.5.tgz#7b7aa17891b7bb4947a7a11bfb03b5fde9c6e695"
-  dependencies:
-    loader-utils "^0.2.16"
-
-toposort@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c"
-
-tough-cookie@^2.0.0, tough-cookie@~2.3.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
-  dependencies:
-    punycode "^1.4.1"
-
-trim-newlines@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
-
-trim-right@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-
-tsickle@^0.21.0:
-  version "0.21.6"
-  resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.21.6.tgz#53b01b979c5c13fdb13afb3fb958177e5991588d"
-  dependencies:
-    minimist "^1.2.0"
-    mkdirp "^0.5.1"
-    source-map "^0.5.6"
-    source-map-support "^0.4.2"
-
-tslint-loader@3.5.2:
-  version "3.5.2"
-  resolved "https://registry.yarnpkg.com/tslint-loader/-/tslint-loader-3.5.2.tgz#ef2f512c05a96fb1a22d94c32d22fb7975ef9917"
-  dependencies:
-    loader-utils "^1.0.2"
-    mkdirp "^0.5.1"
-    object-assign "^4.1.1"
-    rimraf "^2.4.4"
-    semver "^5.3.0"
-
-tslint@4.5.1:
-  version "4.5.1"
-  resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.5.1.tgz#05356871bef23a434906734006fc188336ba824b"
-  dependencies:
-    babel-code-frame "^6.20.0"
-    colors "^1.1.2"
-    diff "^3.0.1"
-    findup-sync "~0.3.0"
-    glob "^7.1.1"
-    optimist "~0.6.0"
-    resolve "^1.1.7"
-    tsutils "^1.1.0"
-    update-notifier "^2.0.0"
-
-tsutils@^1.1.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.6.0.tgz#1fd7fac2a61369ed99cd3997f0fbb437128850f2"
-
-tty-browserify@0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-
-tunnel-agent@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-tunnel-agent@~0.4.1:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-twig@^0.8.2:
-  version "0.8.9"
-  resolved "https://registry.yarnpkg.com/twig/-/twig-0.8.9.tgz#b1594f002b684e5f029de3e54e87bec4f084b6c2"
-  dependencies:
-    minimatch "3.0.x"
-    walk "2.3.x"
-
-type-check@~0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
-  dependencies:
-    prelude-ls "~1.1.2"
-
-type-is@~1.6.14:
-  version "1.6.15"
-  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
-  dependencies:
-    media-typer "0.3.0"
-    mime-types "~2.1.15"
-
-typedarray@~0.0.5:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-typescript@2.2.2, "typescript@>=2.0.0 <2.3.0":
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.2.tgz#606022508479b55ffa368b58fee963a03dfd7b0c"
-
-ua-parser-js@0.7.12, ua-parser-js@^0.7.9:
-  version "0.7.12"
-  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
-
-uglify-js@^2.6, uglify-js@^2.7.5, uglify-js@^2.8.5, uglify-js@~2.8.22:
-  version "2.8.22"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
-  dependencies:
-    source-map "~0.5.1"
-    yargs "~3.10.0"
-  optionalDependencies:
-    uglify-to-browserify "~1.0.0"
-
-uglify-js@~2.3:
-  version "2.3.6"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a"
-  dependencies:
-    async "~0.2.6"
-    optimist "~0.3.5"
-    source-map "~0.1.7"
-
-uglify-to-browserify@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-
-uid-number@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.5.tgz#5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e"
-
-uid-number@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
-
-ultron@1.0.x:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
-
-underscore@1.7.x:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
-
-uniq@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-
-uniqid@^4.0.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
-  dependencies:
-    macaddress "^0.2.8"
-
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-
-unique-string@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
-  dependencies:
-    crypto-random-string "^1.0.0"
-
-unpipe@1.0.0, unpipe@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-
-untildify@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0"
-  dependencies:
-    os-homedir "^1.0.0"
-
-unzip-response@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
-
-unzip-response@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
-
-update-notifier@^0.6.0:
-  version "0.6.3"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.6.3.tgz#776dec8daa13e962a341e8a1d98354306b67ae08"
-  dependencies:
-    boxen "^0.3.1"
-    chalk "^1.0.0"
-    configstore "^2.0.0"
-    is-npm "^1.0.0"
-    latest-version "^2.0.0"
-    semver-diff "^2.0.0"
-
-update-notifier@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9"
-  dependencies:
-    boxen "^1.0.0"
-    chalk "^1.0.0"
-    configstore "^3.0.0"
-    is-npm "^1.0.0"
-    latest-version "^3.0.0"
-    lazy-req "^2.0.0"
-    semver-diff "^2.0.0"
-    xdg-basedir "^3.0.0"
-
-upper-case@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-
-url-loader@^0.5.7:
-  version "0.5.8"
-  resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5"
-  dependencies:
-    loader-utils "^1.0.2"
-    mime "1.3.x"
-
-url-parse-lax@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
-  dependencies:
-    prepend-http "^1.0.1"
-
-url-parse@1.0.x:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b"
-  dependencies:
-    querystringify "0.0.x"
-    requires-port "1.0.x"
-
-url-parse@^1.1.1:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.8.tgz#7a65b3a8d57a1e86af6b4e2276e34774167c0156"
-  dependencies:
-    querystringify "0.0.x"
-    requires-port "1.0.x"
-
-url@^0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
-  dependencies:
-    punycode "1.3.2"
-    querystring "0.2.0"
-
-user-home@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
-  dependencies:
-    os-homedir "^1.0.0"
-
-useragent@^2.1.12:
-  version "2.1.13"
-  resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
-  dependencies:
-    lru-cache "2.2.x"
-    tmp "0.0.x"
-
-util-deprecate@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-util@0.10.3, util@^0.10.3:
-  version "0.10.3"
-  resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
-  dependencies:
-    inherits "2.0.1"
-
-utila@~0.3:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226"
-
-utila@~0.4:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
-
-utils-merge@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
-
-uuid@^2.0.1, uuid@^2.0.2:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-
-uuid@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
-
-validate-npm-package-license@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
-  dependencies:
-    spdx-correct "~1.0.0"
-    spdx-expression-parse "~1.0.0"
-
-vary@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
-
-vendors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
-
-verror@1.3.6:
-  version "1.3.6"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
-  dependencies:
-    extsprintf "1.0.2"
-
-vinyl-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.3.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^2.0.0"
-    vinyl "^1.1.0"
-
-vinyl@^0.5.0:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.1.tgz#1c3b4931e7ac4c1efee743f3b91a74c094407bb6"
-  dependencies:
-    clone "^1.0.0"
-    clone-buffer "^1.0.0"
-    clone-stats "^1.0.0"
-    cloneable-readable "^1.0.0"
-    is-stream "^1.1.0"
-    remove-trailing-separator "^1.0.1"
-    replace-ext "^1.0.0"
-
-vlq@^0.2.1:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1"
-
-vm-browserify@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
-  dependencies:
-    indexof "0.0.1"
-
-void-elements@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
-
-walk-sync@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.1.tgz#558a16aeac8c0db59c028b73c66f397684ece465"
-  dependencies:
-    ensure-posix-path "^1.0.0"
-    matcher-collection "^1.0.0"
-
-walk@2.3.x:
-  version "2.3.9"
-  resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.9.tgz#31b4db6678f2ae01c39ea9fb8725a9031e558a7b"
-  dependencies:
-    foreachasync "^3.0.0"
-
-watchpack@^1.2.0, watchpack@^1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
-  dependencies:
-    async "^2.1.2"
-    chokidar "^1.4.3"
-    graceful-fs "^4.1.2"
-
-wbuf@^1.1.0, wbuf@^1.4.0:
-  version "1.7.2"
-  resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe"
-  dependencies:
-    minimalistic-assert "^1.0.0"
-
-webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.9.0:
-  version "1.10.1"
-  resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893"
-  dependencies:
-    memory-fs "~0.4.1"
-    mime "^1.3.4"
-    path-is-absolute "^1.0.0"
-    range-parser "^1.0.3"
-
-webpack-dev-server@2.4.2:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.2.tgz#cf595d6b40878452b6d2ad7229056b686f8a16be"
-  dependencies:
-    ansi-html "0.0.7"
-    chokidar "^1.6.0"
-    compression "^1.5.2"
-    connect-history-api-fallback "^1.3.0"
-    express "^4.13.3"
-    html-entities "^1.2.0"
-    http-proxy-middleware "~0.17.4"
-    opn "4.0.2"
-    portfinder "^1.0.9"
-    serve-index "^1.7.2"
-    sockjs "0.3.18"
-    sockjs-client "1.1.2"
-    spdy "^3.4.1"
-    strip-ansi "^3.0.0"
-    supports-color "^3.1.1"
-    webpack-dev-middleware "^1.9.0"
-    yargs "^6.0.0"
-
-webpack-dev-server@~2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.3.0.tgz#0437704bbd4d941a6e4c061eb3cc232ed7d06101"
-  dependencies:
-    ansi-html "0.0.7"
-    chokidar "^1.6.0"
-    compression "^1.5.2"
-    connect-history-api-fallback "^1.3.0"
-    express "^4.13.3"
-    html-entities "^1.2.0"
-    http-proxy-middleware "~0.17.1"
-    opn "4.0.2"
-    portfinder "^1.0.9"
-    serve-index "^1.7.2"
-    sockjs "0.3.18"
-    sockjs-client "1.1.1"
-    spdy "^3.4.1"
-    strip-ansi "^3.0.0"
-    supports-color "^3.1.1"
-    webpack-dev-middleware "^1.9.0"
-    yargs "^6.0.0"
-
-webpack-merge@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e"
-  dependencies:
-    lodash "^4.17.4"
-
-webpack-merge@^2.4.0:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-2.6.1.tgz#f1d801d2c5d39f83ffec9f119240b3e3be994a1c"
-  dependencies:
-    lodash "^4.17.4"
-
-webpack-notifier@1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/webpack-notifier/-/webpack-notifier-1.5.0.tgz#c010007d448cebc34defc99ecf288fa5e8c6baf6"
-  dependencies:
-    node-notifier "^4.1.0"
-    object-assign "^4.1.0"
-    strip-ansi "^3.0.1"
-
-webpack-sources@^0.1.0, webpack-sources@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750"
-  dependencies:
-    source-list-map "~0.1.7"
-    source-map "~0.5.3"
-
-webpack-sources@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
-  dependencies:
-    source-list-map "^1.1.1"
-    source-map "~0.5.3"
-
-webpack-visualizer-plugin@0.1.11:
-  version "0.1.11"
-  resolved "https://registry.yarnpkg.com/webpack-visualizer-plugin/-/webpack-visualizer-plugin-0.1.11.tgz#b8770ad86b4f652612c68b1b782253faf9f8a34e"
-  dependencies:
-    d3 "^3.5.6"
-    mkdirp "^0.5.1"
-    react "^0.14.0"
-    react-dom "^0.14.0"
-
-webpack@2.3.3:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.3.3.tgz#eecc083c18fb7bf958ea4f40b57a6640c5a0cc78"
-  dependencies:
-    acorn "^4.0.4"
-    acorn-dynamic-import "^2.0.0"
-    ajv "^4.7.0"
-    ajv-keywords "^1.1.1"
-    async "^2.1.2"
-    enhanced-resolve "^3.0.0"
-    interpret "^1.0.0"
-    json-loader "^0.5.4"
-    loader-runner "^2.3.0"
-    loader-utils "^0.2.16"
-    memory-fs "~0.4.1"
-    mkdirp "~0.5.0"
-    node-libs-browser "^2.0.0"
-    source-map "^0.5.3"
-    supports-color "^3.1.0"
-    tapable "~0.2.5"
-    uglify-js "^2.8.5"
-    watchpack "^1.3.1"
-    webpack-sources "^0.2.3"
-    yargs "^6.0.0"
-
-webpack@~2.2.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.2.1.tgz#7bb1d72ae2087dd1a4af526afec15eed17dda475"
-  dependencies:
-    acorn "^4.0.4"
-    acorn-dynamic-import "^2.0.0"
-    ajv "^4.7.0"
-    ajv-keywords "^1.1.1"
-    async "^2.1.2"
-    enhanced-resolve "^3.0.0"
-    interpret "^1.0.0"
-    json-loader "^0.5.4"
-    loader-runner "^2.3.0"
-    loader-utils "^0.2.16"
-    memory-fs "~0.4.1"
-    mkdirp "~0.5.0"
-    node-libs-browser "^2.0.0"
-    source-map "^0.5.3"
-    supports-color "^3.1.0"
-    tapable "~0.2.5"
-    uglify-js "^2.7.5"
-    watchpack "^1.2.0"
-    webpack-sources "^0.1.4"
-    yargs "^6.0.0"
-
-websocket-driver@>=0.5.1:
-  version "0.6.5"
-  resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
-  dependencies:
-    websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
-
-weinre@^2.0.0-pre-I0Z7U9OV:
-  version "2.0.0-pre-I0Z7U9OV"
-  resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813"
-  dependencies:
-    express "2.5.x"
-    nopt "3.0.x"
-    underscore "1.7.x"
-
-whatwg-fetch@^0.9.0:
-  version "0.9.0"
-  resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz#0e3684c6cb9995b43efc9df03e4c365d95fd9cc0"
-
-when@~3.6.x:
-  version "3.6.4"
-  resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e"
-
-whet.extend@~0.9.9:
-  version "0.9.9"
-  resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
-
-which-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
-
-which@1, which@^1.0.5, which@^1.1.1, which@^1.2.1, which@^1.2.8, which@^1.2.9, which@~1.2.10:
-  version "1.2.14"
-  resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
-  dependencies:
-    isexe "^2.0.0"
-
-wide-align@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
-  dependencies:
-    string-width "^1.0.1"
-
-widest-line@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c"
-  dependencies:
-    string-width "^1.0.1"
-
-win-release@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209"
-  dependencies:
-    semver "^5.0.1"
-
-window-size@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
-
-window-size@^0.1.2:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
-
-window-size@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
-
-wordwrap@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-
-wordwrap@^1.0.0, wordwrap@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-
-wordwrap@~0.0.2:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
-
-wrap-ansi@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-write-file-atomic@^1.1.2:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a"
-  dependencies:
-    graceful-fs "^4.1.11"
-    imurmurhash "^0.1.4"
-    slide "^1.1.5"
-
-write-file-webpack-plugin@3.4.2:
-  version "3.4.2"
-  resolved "https://registry.yarnpkg.com/write-file-webpack-plugin/-/write-file-webpack-plugin-3.4.2.tgz#16f7a1bbadb781fa661a2960e31c499f0a61b9bb"
-  dependencies:
-    chalk "^1.1.1"
-    filesize "^3.2.1"
-    lodash "^4.5.1"
-    mkdirp "^0.5.1"
-    moment "^2.11.2"
-
-ws@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
-  dependencies:
-    options ">=0.0.5"
-    ultron "1.0.x"
-
-ws@1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
-  dependencies:
-    options ">=0.0.5"
-    ultron "1.0.x"
-
-wtf-8@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
-
-xdg-basedir@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
-  dependencies:
-    os-homedir "^1.0.0"
-
-xdg-basedir@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
-
-xml-char-classes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-
-xml2js@0.4.17:
-  version "0.4.17"
-  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868"
-  dependencies:
-    sax ">=0.6.0"
-    xmlbuilder "^4.1.0"
-
-xmlbuilder@8.2.2:
-  version "8.2.2"
-  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
-
-xmlbuilder@^4.1.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
-  dependencies:
-    lodash "^4.0.0"
-
-xmldom@^0.1.19:
-  version "0.1.27"
-  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"
-
-xmlhttprequest-ssl@1.5.3:
-  version "1.5.3"
-  resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
-
-xtend@^4.0.0, xtend@~4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-y18n@^3.2.0, y18n@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
-
-yallist@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-
-yargs-parser@^2.4.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4"
-  dependencies:
-    camelcase "^3.0.0"
-    lodash.assign "^4.0.6"
-
-yargs-parser@^4.1.0, yargs-parser@^4.2.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
-  dependencies:
-    camelcase "^3.0.0"
-
-yargs@3.29.0:
-  version "3.29.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c"
-  dependencies:
-    camelcase "^1.2.1"
-    cliui "^3.0.3"
-    decamelize "^1.0.0"
-    os-locale "^1.4.0"
-    window-size "^0.1.2"
-    y18n "^3.2.0"
-
-yargs@6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4"
-  dependencies:
-    camelcase "^3.0.0"
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.2"
-    which-module "^1.0.0"
-    window-size "^0.2.0"
-    y18n "^3.2.1"
-    yargs-parser "^4.1.0"
-
-yargs@6.6.0, yargs@^6.0.0:
-  version "6.6.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
-  dependencies:
-    camelcase "^3.0.0"
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.2"
-    which-module "^1.0.0"
-    y18n "^3.2.1"
-    yargs-parser "^4.2.0"
-
-yargs@^4.7.1:
-  version "4.8.1"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
-  dependencies:
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    lodash.assign "^4.0.3"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.1"
-    which-module "^1.0.0"
-    window-size "^0.2.0"
-    y18n "^3.2.1"
-    yargs-parser "^2.4.1"
-
-yargs@~3.10.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
-  dependencies:
-    camelcase "^1.0.2"
-    cliui "^2.1.0"
-    decamelize "^1.0.0"
-    window-size "0.1.0"
-
-yauzl@2.4.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
-  dependencies:
-    fd-slicer "~1.0.1"
-
-yeast@0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
-
-yeoman-character@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-character/-/yeoman-character-1.1.0.tgz#90d4b5beaf92759086177015b2fdfa2e0684d7c7"
-  dependencies:
-    supports-color "^3.1.2"
-
-yeoman-doctor@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/yeoman-doctor/-/yeoman-doctor-2.1.0.tgz#94ab784896a64f53a9fac452d5e9133e2750a236"
-  dependencies:
-    bin-version-check "^2.1.0"
-    chalk "^1.0.0"
-    each-async "^1.1.1"
-    log-symbols "^1.0.1"
-    object-values "^1.0.0"
-    semver "^5.0.3"
-    twig "^0.8.2"
-    user-home "^2.0.0"
-
-yeoman-environment@^1.1.0, yeoman-environment@^1.6.1:
-  version "1.6.6"
-  resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671"
-  dependencies:
-    chalk "^1.0.0"
-    debug "^2.0.0"
-    diff "^2.1.2"
-    escape-string-regexp "^1.0.2"
-    globby "^4.0.0"
-    grouped-queue "^0.3.0"
-    inquirer "^1.0.2"
-    lodash "^4.11.1"
-    log-symbols "^1.0.1"
-    mem-fs "^1.1.0"
-    text-table "^0.2.0"
-    untildify "^2.0.0"
-
-yeoman-generator@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-1.1.1.tgz#40c2b4f6cdfbe05e1952fdd72933f0d8925dbdf5"
-  dependencies:
-    async "^2.0.0"
-    chalk "^1.0.0"
-    class-extend "^0.1.0"
-    cli-table "^0.3.1"
-    cross-spawn "^5.0.1"
-    dargs "^5.1.0"
-    dateformat "^2.0.0"
-    debug "^2.1.0"
-    detect-conflict "^1.0.0"
-    error "^7.0.2"
-    find-up "^2.1.0"
-    github-username "^3.0.0"
-    glob "^7.0.3"
-    istextorbinary "^2.1.0"
-    lodash "^4.11.1"
-    mem-fs-editor "^3.0.0"
-    minimist "^1.2.0"
-    mkdirp "^0.5.0"
-    path-exists "^3.0.0"
-    path-is-absolute "^1.0.0"
-    pretty-bytes "^4.0.2"
-    read-chunk "^2.0.0"
-    read-pkg-up "^2.0.0"
-    rimraf "^2.2.0"
-    run-async "^2.0.0"
-    shelljs "^0.7.0"
-    text-table "^0.2.0"
-    through2 "^2.0.0"
-    user-home "^2.0.0"
-    yeoman-environment "^1.1.0"
-
-yo@1.8.5:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/yo/-/yo-1.8.5.tgz#776ab9ec79a7882f8d4f7a9e10214fdab050d928"
-  dependencies:
-    async "^1.0.0"
-    chalk "^1.0.0"
-    cli-list "^0.1.1"
-    configstore "^1.0.0"
-    cross-spawn "^3.0.1"
-    figures "^1.3.5"
-    fullname "^2.0.0"
-    got "^5.0.0"
-    humanize-string "^1.0.0"
-    inquirer "^0.11.0"
-    insight "^0.7.0"
-    lodash "^3.2.0"
-    meow "^3.0.0"
-    npm-keyword "^4.1.0"
-    opn "^3.0.2"
-    package-json "^2.1.0"
-    parse-help "^0.1.1"
-    read-pkg-up "^1.0.1"
-    repeating "^2.0.0"
-    root-check "^1.0.0"
-    sort-on "^1.0.0"
-    string-length "^1.0.0"
-    tabtab "^1.3.0"
-    titleize "^1.0.0"
-    update-notifier "^0.6.0"
-    user-home "^2.0.0"
-    yeoman-character "^1.0.0"
-    yeoman-doctor "^2.0.0"
-    yeoman-environment "^1.6.1"
-    yosay "^1.0.0"
-
-yosay@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/yosay/-/yosay-1.2.1.tgz#9466ef969830e85b474e267b50f7688693ed3b5b"
-  dependencies:
-    ansi-regex "^2.0.0"
-    ansi-styles "^2.0.0"
-    chalk "^1.0.0"
-    cli-boxes "^1.0.0"
-    pad-component "0.0.1"
-    repeating "^2.0.0"
-    string-width "^1.0.0"
-    strip-ansi "^3.0.0"
-    taketalk "^1.0.0"
-    wrap-ansi "^2.0.0"
-
-zone.js@0.8.5:
-  version "0.8.5"
-  resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.5.tgz#7906e017482cbff4c3f079c5c34305ce941f5ba2"
-
-zone.js@^0.7.2:
-  version "0.7.8"
-  resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.7.8.tgz#4f3fe8834d44597f2639053a0fa438df34fffded"
diff --git a/ADAPT/Monitoring/.gitignore b/ADAPT/Monitoring/.gitignore
index bae6085ecea23b83fa8896670c7e59f13f278809..8442565121be77e83f1bdfcdfbf5858fd574dd18 100644
--- a/ADAPT/Monitoring/.gitignore
+++ b/ADAPT/Monitoring/.gitignore
@@ -1,10 +1,10 @@
-**/bin/
-**/sources/
-**/target/
-**/generated/
-**/.classpath
-**/.settings/
-**/node_modules/
-jhipster-jdl.jh
-**/*.log
-/.project
+**/bin/
+**/sources/
+**/target/
+**/generated/
+**/.classpath
+**/.settings/
+**/node_modules/
+jhipster-jdl.jh
+**/*.log
+/.project
diff --git a/ADAPT/Monitoring/AdaptMonitoringLicense.txt b/ADAPT/Monitoring/AdaptMonitoringLicense.txt
index 1e8c4abd55c8006ea8379591a0755f96a866c829..1989cbbc9fc2c8eadf080ac3d700f7eac3be2cce 100644
--- a/ADAPT/Monitoring/AdaptMonitoringLicense.txt
+++ b/ADAPT/Monitoring/AdaptMonitoringLicense.txt
@@ -1,30 +1,30 @@
-/****************************************************************
-*Copyright (c) 2017 Tecnalia.
-*Licensed under MIT License (the "License");
-*Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is furnished 
-to do so, subject to the following conditions:
-*The above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the Software.
-*
-*
-*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*Contributors (in alphabetical order):
-*Gorka Benguria                                 Tecnalia
-*I�aki Etxaniz                                  Tecnalia
-*Juncal Alonso                                  Tecnalia
-*Leire Orue-Echevarria                          Tecnalia
-*Maria Jose Lopez                               Tecnalia
-*Marisa Escalante                               Tecnalia
-*
-*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-*****************************************************************************/
+/****************************************************************
+*Copyright (c) 2017 Tecnalia.
+*Licensed under MIT License (the "License");
+*Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is furnished 
+to do so, subject to the following conditions:
+*The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+*
+*
+*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*Contributors (in alphabetical order):
+*Gorka Benguria                                 Tecnalia
+*I�aki Etxaniz                                  Tecnalia
+*Juncal Alonso                                  Tecnalia
+*Leire Orue-Echevarria                          Tecnalia
+*Maria Jose Lopez                               Tecnalia
+*Marisa Escalante                               Tecnalia
+*
+*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*****************************************************************************/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.gitignore b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.gitignore
index edefd5d6e371cebf1edec9d266ba9f9dc22dbab0..a0ae82d6efeed3f01edb8feebdb7d4df37efaadd 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.gitignore
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.gitignore
@@ -1,12 +1,12 @@
-**/bin/
-**/sources/
-**/target/
-**/generated/
-**/.classpath
-**/.settings/
-**/node_modules/
-**/*.log
-**/.vagrant/
-**/output-virtualbox-iso/
-**/packer_cache/
+**/bin/
+**/sources/
+**/target/
+**/generated/
+**/.classpath
+**/.settings/
+**/node_modules/
+**/*.log
+**/.vagrant/
+**/output-virtualbox-iso/
+**/packer_cache/
 **/*.box
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.project b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.project
index e7eb32cb508ebecc727f2d55c2c07a35689581ad..13751d3802e8b21a6fb4408d67ce420407127e15 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.project
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/.project
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/AdaptMonitoringLicense.txt b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/AdaptMonitoringLicense.txt
index 1e8c4abd55c8006ea8379591a0755f96a866c829..1989cbbc9fc2c8eadf080ac3d700f7eac3be2cce 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/AdaptMonitoringLicense.txt
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/AdaptMonitoringLicense.txt
@@ -1,30 +1,30 @@
-/****************************************************************
-*Copyright (c) 2017 Tecnalia.
-*Licensed under MIT License (the "License");
-*Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is furnished 
-to do so, subject to the following conditions:
-*The above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the Software.
-*
-*
-*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*Contributors (in alphabetical order):
-*Gorka Benguria                                 Tecnalia
-*I�aki Etxaniz                                  Tecnalia
-*Juncal Alonso                                  Tecnalia
-*Leire Orue-Echevarria                          Tecnalia
-*Maria Jose Lopez                               Tecnalia
-*Marisa Escalante                               Tecnalia
-*
-*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-*****************************************************************************/
+/****************************************************************
+*Copyright (c) 2017 Tecnalia.
+*Licensed under MIT License (the "License");
+*Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is furnished 
+to do so, subject to the following conditions:
+*The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+*
+*
+*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*Contributors (in alphabetical order):
+*Gorka Benguria                                 Tecnalia
+*I�aki Etxaniz                                  Tecnalia
+*Juncal Alonso                                  Tecnalia
+*Leire Orue-Echevarria                          Tecnalia
+*Maria Jose Lopez                               Tecnalia
+*Marisa Escalante                               Tecnalia
+*
+*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*****************************************************************************/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerBuild b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerBuild
index 515875437203a2e910c7e0575a606b96f802251e..0d140efa7c032e604bcd5a59075b1d40fb85cedb 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerBuild
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerBuild
@@ -1,407 +1,407 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def sourcesRelativePath=null
-	def sourcesRepo=null
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentForceBuild=false
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-	Boolean currentForcePush=false
-				
-	try	{	
-		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
-		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def sourcesPath
-		def sourcesGitRepoPath
-		def sourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-		Boolean hasNewSources=false
-		Boolean requiresBuild=false
-		Boolean requiresPackage=false
-
-		Boolean hasDevopsPomPackaging=false
-		String devopsPomPackaging=""
-		Boolean hasPomPackaging=false
-		String pomPackaging=""
-		Boolean hasPomFile=false
-		String pomFile=""
-				
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-		String sourcesLastCommitFile
-        String sourcesLastChangedCommitFile
-
-		String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-		String devopsSourcesCurrentCommit
-		String sourcesLastCommit
-        String sourcesLastChangedCommit
-		String sourcesCurrentCommit
-		
-		String devopsSourcesDiffPreviousCommit
-		String sourcesLastDiffPreviousCommit
-		
-		String devopsImageLastSha256File
-		String devopsImageBuildResult
-		String devopsImageLastSha256=""
-		String devopsImageCurrentSha256=""
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def ForceBuild -> defaults to "false"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//def forcePush -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			if (hasSources) {
-				try{
-				    if (scmCredentials==null){ error "scm credentials empty"}
-				    hasCredentials=true;
-				} catch (err){
-				    println ("No scm credentials param")
-				}			
-				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
-				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
-			}
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
-			} catch (err){
-			    println ("forceBuild not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
-			try{
-			    currentForcePush=((forcePush=="true")||(forcePush==true))
-			} catch (err){
-			    println ("forcePush not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
-			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
-			if (hasSources){
-    		    sourcesPath=workspace+"/sources"
-	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
-			    sourcesGitRepoPath=workspace+"/sourcesRepo"
-				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
-			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
-				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
-        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
-	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
-                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
-	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
-			}
-		}		
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }
-        
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if(hasSources){
-		    stage ('Gather Sources'){
-		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
-    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
-		    }
-		}		
-		if(currentForceBuild||hasEmptyWorkspace){
-			hasNewDevopsSources=true
-			try{
-				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-			} catch (err){
-			}
-			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-			if (hasSources) {
-				hasNewSources=true
-				try{
-					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
-			}
-	        requiresBuild=true
-		}
-		else{
-    		stage ('Assess Built Need'){
-    		    sh "touch ${devopsSourcesLastCommitFile}" 
-    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-    			} catch (err){
-    			}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-    			if (devopsSourcesCurrentCommit!=''){
-    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-    			}
-    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-    		    	try{
-    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-    		    	} catch(err) {
-    		    	}
- 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
- 			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
- 		  				hasNewDevopsSources=true
-    		        	requiresBuild=true
- 			    	}
-			    }
-		        if (hasSources)
-		        {
-        		    sh "touch ${sourcesLastCommitFile}" 
-        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
-        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
-    		        try{
-    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-        			} catch (err){
-        			}
-       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
-        			if (devopsSourcesCurrentCommit!=''){
-        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
-        			}
-        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
-                        sh "touch ${sourcesLastChangedCommitFile}" 
-                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
-                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
-                        if (sourcesLastChangedCommit=="")  {
-	    		    		sourcesDiffPreviousCommit="force"
-	    		    	}
-	    		    	else {
-	    		    		try{
-	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
-	    		    		} catch(err) {
-	    		    		}
-	    		    	}
-	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
-	 			    	if (sourcesDiffPreviousCommit!=""){
-                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
- 		  				    hasNewSources=true
-	    		        	requiresBuild=true
-	 			    	}
-        		    }
-		        }
-    		}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
-       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
-		
-        if(requiresBuild){
-            stage ('Prepare Build Variables'){
-                // Get the Maven tool.
-                // ** NOTE: This 'M3' Maven tool must be configured
-                // **       in the global configuration.
-                mvnHome = tool 'Maven 3.3.9 colocated'
-            }
-             if(hasNewDevopsSources){
-	            stage ('Devops Source Move'){
-	                  sh "rm -rf ${devopsSourcesPath}/src"	   
-	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            if(hasNewSources){
-	            stage ('Source Move'){
-                  sh "rm -rf ${sourcesPath}"	   
-                  sh "mkdir ${sourcesPath}"	   
-	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
-	            }
-            	stage ('Assess Sources Install Need'){          	
-					try {
-					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
-					} catch (err){
-					}
-	            	hasPomFile=(""!=pomFile)
- 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
-                }	            
-                if (hasPomFile){
-	                stage ('Source Maven Install'){
-	                 	try {
-	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
-	                 	} catch (err){
-	                 	}
-	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
-	                 	hasPomPackaging=(""!=pomPackaging)
-	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
-	 					if 	(hasPomPackaging){
-	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
-	 					} else {
-		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
-	 					}
-	                }
-                }
-            }
-            if(currentVerbose){
-                stage ('Variables Echo'){
-                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-                }
-            }
-            stage ('Assess Package/Install Need'){          	
-             	try {
-                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
-             	} catch (err){
-             	}
-	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
-                hasDevopsPomPackaging=(""!=devopsPomPackaging)
- 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
-            }           
-            if (hasDevopsPomPackaging){
-                stage ('Maven Devops Install'){
-                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }
-            } else {
-                stage ('Maven Devops Package'){
-                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }            
-            }
-            if (currentStopContainer){
-	            stage ('Docker Stop'){
-	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            stage ('Docker Build Image'){
-                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
-            }
-        	if (!currentForcePush){
-			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
-			    sh "touch ${devopsImageLastSha256File}" 
-			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
-			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
-		        try{
-		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
-				} catch (err){
-				}			
-			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
-				if (devopsImageCurrentSha256!=''){
-					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
-				}
-			}
-			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
-	            stage ('Docker Push'){
-					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }				
-			if (currentContinueTasks) {
-				stage('Launch Depending Tasks') {
-					int i=0;
-					for (i=0;i<dependingTasks.size();i++){
-						if (dependingTasks[i]!=""){
-			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-						}
-					}
-			    }
-			}            
-        }
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def sourcesRelativePath=null
+	def sourcesRepo=null
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentForceBuild=false
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+	Boolean currentForcePush=false
+				
+	try	{	
+		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
+		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def sourcesPath
+		def sourcesGitRepoPath
+		def sourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+		Boolean hasNewSources=false
+		Boolean requiresBuild=false
+		Boolean requiresPackage=false
+
+		Boolean hasDevopsPomPackaging=false
+		String devopsPomPackaging=""
+		Boolean hasPomPackaging=false
+		String pomPackaging=""
+		Boolean hasPomFile=false
+		String pomFile=""
+				
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+		String sourcesLastCommitFile
+        String sourcesLastChangedCommitFile
+
+		String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+		String devopsSourcesCurrentCommit
+		String sourcesLastCommit
+        String sourcesLastChangedCommit
+		String sourcesCurrentCommit
+		
+		String devopsSourcesDiffPreviousCommit
+		String sourcesLastDiffPreviousCommit
+		
+		String devopsImageLastSha256File
+		String devopsImageBuildResult
+		String devopsImageLastSha256=""
+		String devopsImageCurrentSha256=""
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def ForceBuild -> defaults to "false"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//def forcePush -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			if (hasSources) {
+				try{
+				    if (scmCredentials==null){ error "scm credentials empty"}
+				    hasCredentials=true;
+				} catch (err){
+				    println ("No scm credentials param")
+				}			
+				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
+				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
+			}
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
+			} catch (err){
+			    println ("forceBuild not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
+			try{
+			    currentForcePush=((forcePush=="true")||(forcePush==true))
+			} catch (err){
+			    println ("forcePush not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
+			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
+			if (hasSources){
+    		    sourcesPath=workspace+"/sources"
+	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
+			    sourcesGitRepoPath=workspace+"/sourcesRepo"
+				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
+			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
+				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
+        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
+	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
+                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
+	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
+			}
+		}		
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }
+        
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if(hasSources){
+		    stage ('Gather Sources'){
+		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
+    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
+		    }
+		}		
+		if(currentForceBuild||hasEmptyWorkspace){
+			hasNewDevopsSources=true
+			try{
+				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+			} catch (err){
+			}
+			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+			if (hasSources) {
+				hasNewSources=true
+				try{
+					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+			}
+	        requiresBuild=true
+		}
+		else{
+    		stage ('Assess Built Need'){
+    		    sh "touch ${devopsSourcesLastCommitFile}" 
+    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+    			} catch (err){
+    			}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+    			if (devopsSourcesCurrentCommit!=''){
+    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+    			}
+    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+    		    	try{
+    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+    		    	} catch(err) {
+    		    	}
+ 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+ 			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+ 		  				hasNewDevopsSources=true
+    		        	requiresBuild=true
+ 			    	}
+			    }
+		        if (hasSources)
+		        {
+        		    sh "touch ${sourcesLastCommitFile}" 
+        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
+        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
+    		        try{
+    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+        			} catch (err){
+        			}
+       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
+        			if (devopsSourcesCurrentCommit!=''){
+        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
+        			}
+        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
+                        sh "touch ${sourcesLastChangedCommitFile}" 
+                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
+                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
+                        if (sourcesLastChangedCommit=="")  {
+	    		    		sourcesDiffPreviousCommit="force"
+	    		    	}
+	    		    	else {
+	    		    		try{
+	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
+	    		    		} catch(err) {
+	    		    		}
+	    		    	}
+	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
+	 			    	if (sourcesDiffPreviousCommit!=""){
+                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+ 		  				    hasNewSources=true
+	    		        	requiresBuild=true
+	 			    	}
+        		    }
+		        }
+    		}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
+       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
+		
+        if(requiresBuild){
+            stage ('Prepare Build Variables'){
+                // Get the Maven tool.
+                // ** NOTE: This 'M3' Maven tool must be configured
+                // **       in the global configuration.
+                mvnHome = tool 'Maven 3.3.9 colocated'
+            }
+             if(hasNewDevopsSources){
+	            stage ('Devops Source Move'){
+	                  sh "rm -rf ${devopsSourcesPath}/src"	   
+	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            if(hasNewSources){
+	            stage ('Source Move'){
+                  sh "rm -rf ${sourcesPath}"	   
+                  sh "mkdir ${sourcesPath}"	   
+	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
+	            }
+            	stage ('Assess Sources Install Need'){          	
+					try {
+					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
+					} catch (err){
+					}
+	            	hasPomFile=(""!=pomFile)
+ 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
+                }	            
+                if (hasPomFile){
+	                stage ('Source Maven Install'){
+	                 	try {
+	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
+	                 	} catch (err){
+	                 	}
+	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
+	                 	hasPomPackaging=(""!=pomPackaging)
+	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
+	 					if 	(hasPomPackaging){
+	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
+	 					} else {
+		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
+	 					}
+	                }
+                }
+            }
+            if(currentVerbose){
+                stage ('Variables Echo'){
+                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+                }
+            }
+            stage ('Assess Package/Install Need'){          	
+             	try {
+                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
+             	} catch (err){
+             	}
+	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
+                hasDevopsPomPackaging=(""!=devopsPomPackaging)
+ 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
+            }           
+            if (hasDevopsPomPackaging){
+                stage ('Maven Devops Install'){
+                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }
+            } else {
+                stage ('Maven Devops Package'){
+                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }            
+            }
+            if (currentStopContainer){
+	            stage ('Docker Stop'){
+	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            stage ('Docker Build Image'){
+                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
+            }
+        	if (!currentForcePush){
+			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
+			    sh "touch ${devopsImageLastSha256File}" 
+			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
+			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
+		        try{
+		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
+				} catch (err){
+				}			
+			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
+				if (devopsImageCurrentSha256!=''){
+					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
+				}
+			}
+			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
+	            stage ('Docker Push'){
+					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }				
+			if (currentContinueTasks) {
+				stage('Launch Depending Tasks') {
+					int i=0;
+					for (i=0;i<dependingTasks.size();i++){
+						if (dependingTasks[i]!=""){
+			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+						}
+					}
+			    }
+			}            
+        }
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerRunService b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerRunService
index cdf85b33412d13e042cb63f2d82eef7edb6d9e0b..3a23f92cd9f1b37902b2e05377fd9b0c7a7802e9 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerRunService
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/JenkinsfileDockerRunService
@@ -1,209 +1,209 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-				
-	try	{		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-
-		String devopsSourcesDiffPreviousCommit
-		String devopsSourcesCurrentCommit
-        String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		}
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }       
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if (hasEmptyWorkspace) {
-			hasNewDevopsSources=true
-		} else {
-			stage ('Assess New Sources'){
-			    sh "touch ${devopsSourcesLastCommitFile}" 
-			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-				if (devopsSourcesCurrentCommit!=''){
-					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-				}
-			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-			    	try{
-			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-			    	} catch(err) {
-			    	}
-			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
-			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-		  				hasNewDevopsSources=true
-			    	}
-			    }
-			}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-		
-        stage ('Prepare Variables'){
-            // Get the Maven tool.
-            // ** NOTE: This 'M3' Maven tool must be configured
-            // **       in the global configuration.
-            mvnHome = tool 'Maven 3.3.9 colocated'
-        }
-         if(hasNewDevopsSources){
-            stage ('Devops Source Move'){
-                  sh "rm -rf ${devopsSourcesPath}/src"	   
-                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if(currentVerbose){
-            stage ('Variables Echo'){
-            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if (currentStopContainer){
-            stage ('Docker Stop'){
-                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        stage ('Docker Start'){
-            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-        }
-  		if (currentContinueTasks) {
-			stage('Launch Depending Tasks') {
-				int i=0;
-				for (i=0;i<dependingTasks.size();i++){
-					if (dependingTasks[i]!=""){
-		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-					}
-				}
-		    }
-		}            
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+				
+	try	{		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+
+		String devopsSourcesDiffPreviousCommit
+		String devopsSourcesCurrentCommit
+        String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		}
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }       
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if (hasEmptyWorkspace) {
+			hasNewDevopsSources=true
+		} else {
+			stage ('Assess New Sources'){
+			    sh "touch ${devopsSourcesLastCommitFile}" 
+			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+				if (devopsSourcesCurrentCommit!=''){
+					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+				}
+			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+			    	try{
+			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+			    	} catch(err) {
+			    	}
+			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+		  				hasNewDevopsSources=true
+			    	}
+			    }
+			}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+		
+        stage ('Prepare Variables'){
+            // Get the Maven tool.
+            // ** NOTE: This 'M3' Maven tool must be configured
+            // **       in the global configuration.
+            mvnHome = tool 'Maven 3.3.9 colocated'
+        }
+         if(hasNewDevopsSources){
+            stage ('Devops Source Move'){
+                  sh "rm -rf ${devopsSourcesPath}/src"	   
+                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if(currentVerbose){
+            stage ('Variables Echo'){
+            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if (currentStopContainer){
+            stage ('Docker Stop'){
+                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        stage ('Docker Start'){
+            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+        }
+  		if (currentContinueTasks) {
+			stage('Launch Depending Tasks') {
+				int i=0;
+				for (i=0;i<dependingTasks.size();i++){
+					if (dependingTasks[i]!=""){
+		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+					}
+				}
+		    }
+		}            
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/pom.xml b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/pom.xml
index 06f604a019dcc6bfd3aa8d24b8dc07c9ca1feb7c..fe1e7b4c70c06a6b377cfb74ce0a1089eb1dae72 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/pom.xml
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/pom.xml
@@ -1,75 +1,75 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
-		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
-		<version>ALPHA</version>
-	</parent>
-	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.grafana.server</artifactId>
-	<packaging>pom</packaging>
-	<build>
-		<plugins>
-			<!-- We check the value of some properties values -->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<version>1.1</version>
-				<executions>
-					<execution>
-						<id>echo</id>
-						<phase>initialize</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<tasks>
-								<echo>Displaying values of properties</echo>
-								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
-								<echo>[docker.image.name]=${docker.image.name}</echo>
-								<echo>[docker.image.version]=${docker.image.version}</echo>
-								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
-							</tasks>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<!-- added to support docker image creation -->
-			<plugin>
-				<groupId>org.jolokia</groupId>
-				<artifactId>docker-maven-plugin</artifactId>
-				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
-				<version>0.13.9</version>
-				<configuration>
-					<images>
-						<image>
-							<alias>${docker.name}</alias>
-							<name>${docker.image.name}:${docker.image.version}</name>
-							<build>
-								<assembly>
-									<!-- this time we will do it from a docker file element is needed 
-										to switch the usage of the extrenal file -->
-									<dockerFileDir>.</dockerFileDir>
-									<!-- end -->
-								</assembly>
-							</build>
-							<run>
-								<namingStrategy>alias</namingStrategy>
-								<ports>
-									<port>${docker.port1.mapping}</port>
-								</ports>
-							</run>
-						</image>
-					</images>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	<properties>
-		<docker.name>eu.decideh2020.grafana.server</docker.name>
-		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
-		<docker.image.version>${project.version}</docker.image.version>
-		<docker.port1.external>${eu.decideh2020.grafana.port}</docker.port1.external>
-		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
-	</properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
+		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
+		<version>ALPHA</version>
+	</parent>
+	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.grafana.server</artifactId>
+	<packaging>pom</packaging>
+	<build>
+		<plugins>
+			<!-- We check the value of some properties values -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>echo</id>
+						<phase>initialize</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<tasks>
+								<echo>Displaying values of properties</echo>
+								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
+								<echo>[docker.image.name]=${docker.image.name}</echo>
+								<echo>[docker.image.version]=${docker.image.version}</echo>
+								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
+							</tasks>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<!-- added to support docker image creation -->
+			<plugin>
+				<groupId>org.jolokia</groupId>
+				<artifactId>docker-maven-plugin</artifactId>
+				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
+				<version>0.13.9</version>
+				<configuration>
+					<images>
+						<image>
+							<alias>${docker.name}</alias>
+							<name>${docker.image.name}:${docker.image.version}</name>
+							<build>
+								<assembly>
+									<!-- this time we will do it from a docker file element is needed 
+										to switch the usage of the extrenal file -->
+									<dockerFileDir>.</dockerFileDir>
+									<!-- end -->
+								</assembly>
+							</build>
+							<run>
+								<namingStrategy>alias</namingStrategy>
+								<ports>
+									<port>${docker.port1.mapping}</port>
+								</ports>
+							</run>
+						</image>
+					</images>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<properties>
+		<docker.name>eu.decideh2020.grafana.server</docker.name>
+		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
+		<docker.image.version>${project.version}</docker.image.version>
+		<docker.port1.external>${eu.decideh2020.grafana.port}</docker.port1.external>
+		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
+	</properties>
 </project>
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/Dockerfile b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/Dockerfile
index dd417fe06db6438ba658ac22d71aa2d311213c8a..68913dfca9bd41d472d406023f846d4cf923ab22 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/Dockerfile
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/Dockerfile
@@ -1,13 +1,13 @@
-# I take a official mono image https://hub.docker.com/r/grafana/grafana/
-
-FROM grafana/grafana
-
-ADD etc /etc
-ADD var /var
-
-ADD grafana-init.sh /grafana-init.sh
-RUN chmod 750 /grafana-init.sh
-ADD run-aux.sh /run-aux.sh
-RUN chmod 750 /run-aux.sh
-
+# I take a official mono image https://hub.docker.com/r/grafana/grafana/
+
+FROM grafana/grafana
+
+ADD etc /etc
+ADD var /var
+
+ADD grafana-init.sh /grafana-init.sh
+RUN chmod 750 /grafana-init.sh
+ADD run-aux.sh /run-aux.sh
+RUN chmod 750 /run-aux.sh
+
 ENTRYPOINT ["/run-aux.sh"]
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/etc/grafana/grafana.ini b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/etc/grafana/grafana.ini
index 397fe13e6f3282691706b072ebc14f511975e51e..4a988ace53bad331bef3e1e5d4358954caa7f109 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/etc/grafana/grafana.ini
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/etc/grafana/grafana.ini
@@ -1,413 +1,413 @@
-##################### Grafana Configuration Example #####################
-#
-# Everything has defaults so you only need to uncomment things you want to
-# change
-
-# possible values : production, development
-; app_mode = production
-
-# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
-; instance_name = ${HOSTNAME}
-
-#################################### Paths ####################################
-[paths]
-# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
-#
-;data = /var/lib/grafana
-#
-# Directory where grafana can store logs
-#
-;logs = /var/log/grafana
-#
-# Directory where grafana will automatically scan and look for plugins
-#
-;plugins = /var/lib/grafana/plugins
-
-#
-#################################### Server ####################################
-[server]
-# Protocol (http, https, socket)
-;protocol = http
-
-# The ip address to bind to, empty will bind to all interfaces
-;http_addr =
-
-# The http port  to use
-;http_port = 3000
-
-# The public facing domain name used to access grafana from a browser
-;domain = localhost
-
-# Redirect to correct domain if host header does not match domain
-# Prevents DNS rebinding attacks
-;enforce_domain = false
-
-# The full public facing url you use in browser, used for redirects and emails
-# If you use reverse proxy and sub path specify full url (with sub path)
-;root_url = http://localhost:3000
-
-# Log web requests
-;router_logging = false
-
-# the path relative working path
-;static_root_path = public
-
-# enable gzip
-;enable_gzip = false
-
-# https certs & key file
-;cert_file =
-;cert_key =
-
-# Unix socket path
-;socket =
-
-#################################### Database ####################################
-[database]
-# You can configure the database connection by specifying type, host, name, user and password
-# as seperate properties or as on string using the url propertie.
-
-# Either "mysql", "postgres" or "sqlite3", it's your choice
-;type = sqlite3
-;host = 127.0.0.1:3306
-;name = grafana
-;user = root
-# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
-;password =
-
-# Use either URL or the previous fields to configure the database
-# Example: mysql://user:secret@host:port/database
-;url =
-
-# For "postgres" only, either "disable", "require" or "verify-full"
-;ssl_mode = disable
-
-# For "sqlite3" only, path relative to data_path setting
-;path = grafana.db
-
-# Max conn setting default is 0 (mean not set)
-;max_idle_conn =
-;max_open_conn =
-
-
-#################################### Session ####################################
-[session]
-# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
-;provider = file
-
-# Provider config options
-# memory: not have any config yet
-# file: session dir path, is relative to grafana data_path
-# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
-# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
-# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
-;provider_config = sessions
-
-# Session cookie name
-;cookie_name = grafana_sess
-
-# If you use session in https only, default is false
-;cookie_secure = false
-
-# Session life time, default is 86400
-;session_life_time = 86400
-
-#################################### Data proxy ###########################
-[dataproxy]
-
-# This enables data proxy logging, default is false
-;logging = false
-
-
-#################################### Analytics ####################################
-[analytics]
-# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
-# No ip addresses are being tracked, only simple counters to track
-# running instances, dashboard and error counts. It is very helpful to us.
-# Change this option to false to disable reporting.
-;reporting_enabled = true
-
-# Set to false to disable all checks to https://grafana.net
-# for new vesions (grafana itself and plugins), check is used
-# in some UI views to notify that grafana or plugin update exists
-# This option does not cause any auto updates, nor send any information
-# only a GET request to http://grafana.com to get latest versions
-;check_for_updates = true
-
-# Google Analytics universal tracking code, only enabled if you specify an id here
-;google_analytics_ua_id =
-
-#################################### Security ####################################
-[security]
-# default admin user, created on startup
-;admin_user = admin
-
-# default admin password, can be changed before first start of grafana,  or in profile settings
-;admin_password = admin
-
-# used for signing
-;secret_key = SW2YcwTIb9zpOOhoPsMm
-
-# Auto-login remember days
-;login_remember_days = 7
-;cookie_username = grafana_user
-;cookie_remember_name = grafana_remember
-
-# disable gravatar profile images
-;disable_gravatar = false
-
-# data source proxy whitelist (ip_or_domain:port separated by spaces)
-;data_source_proxy_whitelist =
-
-[snapshots]
-# snapshot sharing options
-;external_enabled = true
-;external_snapshot_url = https://snapshots-origin.raintank.io
-;external_snapshot_name = Publish to snapshot.raintank.io
-
-# remove expired snapshot
-;snapshot_remove_expired = true
-
-# remove snapshots after 90 days
-;snapshot_TTL_days = 90
-
-#################################### Users ####################################
-[users]
-# disable user signup / registration
-;allow_sign_up = true
-
-# Allow non admin users to create organizations
-;allow_org_create = true
-
-# Set to true to automatically assign new users to the default organization (id 1)
-;auto_assign_org = true
-
-# Default role new users will be automatically assigned (if disabled above is set to true)
-;auto_assign_org_role = Viewer
-
-# Background text for the user field on the login page
-;login_hint = email or username
-
-# Default UI theme ("dark" or "light")
-;default_theme = dark
-
-[auth]
-# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
-;disable_login_form = false
-
-# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false
-;disable_signout_menu = false
-
-#################################### Anonymous Auth ##########################
-[auth.anonymous]
-# enable anonymous access
-;enabled = false
-
-# specify organization name that should be used for unauthenticated users
-;org_name = Main Org.
-
-# specify role for unauthenticated users
-;org_role = Viewer
-
-#################################### Github Auth ##########################
-[auth.github]
-;enabled = false
-;allow_sign_up = true
-;client_id = some_id
-;client_secret = some_secret
-;scopes = user:email,read:org
-;auth_url = https://github.com/login/oauth/authorize
-;token_url = https://github.com/login/oauth/access_token
-;api_url = https://api.github.com/user
-;team_ids =
-;allowed_organizations =
-
-#################################### Google Auth ##########################
-[auth.google]
-;enabled = false
-;allow_sign_up = true
-;client_id = some_client_id
-;client_secret = some_client_secret
-;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
-;auth_url = https://accounts.google.com/o/oauth2/auth
-;token_url = https://accounts.google.com/o/oauth2/token
-;api_url = https://www.googleapis.com/oauth2/v1/userinfo
-;allowed_domains =
-
-#################################### Generic OAuth ##########################
-[auth.generic_oauth]
-;enabled = false
-;name = OAuth
-;allow_sign_up = true
-;client_id = some_id
-;client_secret = some_secret
-;scopes = user:email,read:org
-;auth_url = https://foo.bar/login/oauth/authorize
-;token_url = https://foo.bar/login/oauth/access_token
-;api_url = https://foo.bar/user
-;team_ids =
-;allowed_organizations =
-
-#################################### Grafana.com Auth ####################
-[auth.grafana_com]
-;enabled = false
-;allow_sign_up = true
-;client_id = some_id
-;client_secret = some_secret
-;scopes = user:email
-;allowed_organizations =
-
-#################################### Auth Proxy ##########################
-[auth.proxy]
-;enabled = false
-;header_name = X-WEBAUTH-USER
-;header_property = username
-;auto_sign_up = true
-;ldap_sync_ttl = 60
-;whitelist = 192.168.1.1, 192.168.2.1
-
-#################################### Basic Auth ##########################
-[auth.basic]
-;enabled = true
-
-#################################### Auth LDAP ##########################
-[auth.ldap]
-;enabled = false
-;config_file = /etc/grafana/ldap.toml
-;allow_sign_up = true
-
-#################################### SMTP / Emailing ##########################
-[smtp]
-enabled=true
-host=smtp.europe.secureserver.net:80
-user=info@esilab.org
-password=9VstzQsA1L4kDGyl1oyA
-;enabled = false
-;host = localhost:25
-;user =
-# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
-;password =
-;cert_file =
-;key_file =
-;skip_verify = false
-;from_address = admin@grafana.localhost
-;from_name = Grafana
-
-[emails]
-;welcome_email_on_sign_up = false
-
-#################################### Logging ##########################
-[log]
-# Either "console", "file", "syslog". Default is console and  file
-# Use space to separate multiple modes, e.g. "console file"
-;mode = console file
-
-# Either "trace", "debug", "info", "warn", "error", "critical", default is "info"
-;level = info
-
-# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
-;filters =
-
-
-# For "console" mode only
-[log.console]
-;level =
-
-# log line format, valid options are text, console and json
-;format = console
-
-# For "file" mode only
-[log.file]
-;level =
-
-# log line format, valid options are text, console and json
-;format = text
-
-# This enables automated log rotate(switch of following options), default is true
-;log_rotate = true
-
-# Max line number of single file, default is 1000000
-;max_lines = 1000000
-
-# Max size shift of single file, default is 28 means 1 << 28, 256MB
-;max_size_shift = 28
-
-# Segment log daily, default is true
-;daily_rotate = true
-
-# Expired days of log file(delete after max days), default is 7
-;max_days = 7
-
-[log.syslog]
-;level =
-
-# log line format, valid options are text, console and json
-;format = text
-
-# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
-;network =
-;address =
-
-# Syslog facility. user, daemon and local0 through local7 are valid.
-;facility =
-
-# Syslog tag. By default, the process' argv[0] is used.
-;tag =
-
-
-#################################### AMQP Event Publisher ##########################
-[event_publisher]
-;enabled = false
-;rabbitmq_url = amqp://localhost/
-;exchange = grafana_events
-
-;#################################### Dashboard JSON files ##########################
-[dashboards.json]
-;enabled = false
-;path = /var/lib/grafana/dashboards
-enabled = true
-path = /var/lib/grafana/dashboards
-
-#################################### Alerting ############################
-[alerting]
-# Disable alerting engine & UI features
-;enabled = true
-# Makes it possible to turn off alert rule execution but alerting UI is visible
-;execute_alerts = true
-
-#################################### Internal Grafana Metrics ##########################
-# Metrics available at HTTP API Url /api/metrics
-[metrics]
-# Disable / Enable internal metrics
-;enabled           = true
-
-# Publish interval
-;interval_seconds  = 10
-
-# Send internal metrics to Graphite
-[metrics.graphite]
-# Enable by setting the address setting (ex localhost:2003)
-;address =
-;prefix = prod.grafana.%(instance_name)s.
-
-#################################### Grafana.com integration  ##########################
-# Url used to to import dashboards directly from Grafana.com
-[grafana_com]
-;url = https://grafana.com
-
-#################################### External image storage ##########################
-[external_image_storage]
-# Used for uploading images to public servers so they can be included in slack/email messages.
-# you can choose between (s3, webdav)
-;provider =
-
-[external_image_storage.s3]
-;bucket_url =
-;access_key =
-;secret_key =
-
-[external_image_storage.webdav]
-;url =
-;public_url =
-;username =
-;password =
+##################### Grafana Configuration Example #####################
+#
+# Everything has defaults so you only need to uncomment things you want to
+# change
+
+# possible values : production, development
+; app_mode = production
+
+# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
+; instance_name = ${HOSTNAME}
+
+#################################### Paths ####################################
+[paths]
+# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
+#
+;data = /var/lib/grafana
+#
+# Directory where grafana can store logs
+#
+;logs = /var/log/grafana
+#
+# Directory where grafana will automatically scan and look for plugins
+#
+;plugins = /var/lib/grafana/plugins
+
+#
+#################################### Server ####################################
+[server]
+# Protocol (http, https, socket)
+;protocol = http
+
+# The ip address to bind to, empty will bind to all interfaces
+;http_addr =
+
+# The http port  to use
+;http_port = 3000
+
+# The public facing domain name used to access grafana from a browser
+;domain = localhost
+
+# Redirect to correct domain if host header does not match domain
+# Prevents DNS rebinding attacks
+;enforce_domain = false
+
+# The full public facing url you use in browser, used for redirects and emails
+# If you use reverse proxy and sub path specify full url (with sub path)
+;root_url = http://localhost:3000
+
+# Log web requests
+;router_logging = false
+
+# the path relative working path
+;static_root_path = public
+
+# enable gzip
+;enable_gzip = false
+
+# https certs & key file
+;cert_file =
+;cert_key =
+
+# Unix socket path
+;socket =
+
+#################################### Database ####################################
+[database]
+# You can configure the database connection by specifying type, host, name, user and password
+# as seperate properties or as on string using the url propertie.
+
+# Either "mysql", "postgres" or "sqlite3", it's your choice
+;type = sqlite3
+;host = 127.0.0.1:3306
+;name = grafana
+;user = root
+# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
+;password =
+
+# Use either URL or the previous fields to configure the database
+# Example: mysql://user:secret@host:port/database
+;url =
+
+# For "postgres" only, either "disable", "require" or "verify-full"
+;ssl_mode = disable
+
+# For "sqlite3" only, path relative to data_path setting
+;path = grafana.db
+
+# Max conn setting default is 0 (mean not set)
+;max_idle_conn =
+;max_open_conn =
+
+
+#################################### Session ####################################
+[session]
+# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
+;provider = file
+
+# Provider config options
+# memory: not have any config yet
+# file: session dir path, is relative to grafana data_path
+# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
+# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
+# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
+;provider_config = sessions
+
+# Session cookie name
+;cookie_name = grafana_sess
+
+# If you use session in https only, default is false
+;cookie_secure = false
+
+# Session life time, default is 86400
+;session_life_time = 86400
+
+#################################### Data proxy ###########################
+[dataproxy]
+
+# This enables data proxy logging, default is false
+;logging = false
+
+
+#################################### Analytics ####################################
+[analytics]
+# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
+# No ip addresses are being tracked, only simple counters to track
+# running instances, dashboard and error counts. It is very helpful to us.
+# Change this option to false to disable reporting.
+;reporting_enabled = true
+
+# Set to false to disable all checks to https://grafana.net
+# for new vesions (grafana itself and plugins), check is used
+# in some UI views to notify that grafana or plugin update exists
+# This option does not cause any auto updates, nor send any information
+# only a GET request to http://grafana.com to get latest versions
+;check_for_updates = true
+
+# Google Analytics universal tracking code, only enabled if you specify an id here
+;google_analytics_ua_id =
+
+#################################### Security ####################################
+[security]
+# default admin user, created on startup
+;admin_user = admin
+
+# default admin password, can be changed before first start of grafana,  or in profile settings
+;admin_password = admin
+
+# used for signing
+;secret_key = SW2YcwTIb9zpOOhoPsMm
+
+# Auto-login remember days
+;login_remember_days = 7
+;cookie_username = grafana_user
+;cookie_remember_name = grafana_remember
+
+# disable gravatar profile images
+;disable_gravatar = false
+
+# data source proxy whitelist (ip_or_domain:port separated by spaces)
+;data_source_proxy_whitelist =
+
+[snapshots]
+# snapshot sharing options
+;external_enabled = true
+;external_snapshot_url = https://snapshots-origin.raintank.io
+;external_snapshot_name = Publish to snapshot.raintank.io
+
+# remove expired snapshot
+;snapshot_remove_expired = true
+
+# remove snapshots after 90 days
+;snapshot_TTL_days = 90
+
+#################################### Users ####################################
+[users]
+# disable user signup / registration
+;allow_sign_up = true
+
+# Allow non admin users to create organizations
+;allow_org_create = true
+
+# Set to true to automatically assign new users to the default organization (id 1)
+;auto_assign_org = true
+
+# Default role new users will be automatically assigned (if disabled above is set to true)
+;auto_assign_org_role = Viewer
+
+# Background text for the user field on the login page
+;login_hint = email or username
+
+# Default UI theme ("dark" or "light")
+;default_theme = dark
+
+[auth]
+# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
+;disable_login_form = false
+
+# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false
+;disable_signout_menu = false
+
+#################################### Anonymous Auth ##########################
+[auth.anonymous]
+# enable anonymous access
+;enabled = false
+
+# specify organization name that should be used for unauthenticated users
+;org_name = Main Org.
+
+# specify role for unauthenticated users
+;org_role = Viewer
+
+#################################### Github Auth ##########################
+[auth.github]
+;enabled = false
+;allow_sign_up = true
+;client_id = some_id
+;client_secret = some_secret
+;scopes = user:email,read:org
+;auth_url = https://github.com/login/oauth/authorize
+;token_url = https://github.com/login/oauth/access_token
+;api_url = https://api.github.com/user
+;team_ids =
+;allowed_organizations =
+
+#################################### Google Auth ##########################
+[auth.google]
+;enabled = false
+;allow_sign_up = true
+;client_id = some_client_id
+;client_secret = some_client_secret
+;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
+;auth_url = https://accounts.google.com/o/oauth2/auth
+;token_url = https://accounts.google.com/o/oauth2/token
+;api_url = https://www.googleapis.com/oauth2/v1/userinfo
+;allowed_domains =
+
+#################################### Generic OAuth ##########################
+[auth.generic_oauth]
+;enabled = false
+;name = OAuth
+;allow_sign_up = true
+;client_id = some_id
+;client_secret = some_secret
+;scopes = user:email,read:org
+;auth_url = https://foo.bar/login/oauth/authorize
+;token_url = https://foo.bar/login/oauth/access_token
+;api_url = https://foo.bar/user
+;team_ids =
+;allowed_organizations =
+
+#################################### Grafana.com Auth ####################
+[auth.grafana_com]
+;enabled = false
+;allow_sign_up = true
+;client_id = some_id
+;client_secret = some_secret
+;scopes = user:email
+;allowed_organizations =
+
+#################################### Auth Proxy ##########################
+[auth.proxy]
+;enabled = false
+;header_name = X-WEBAUTH-USER
+;header_property = username
+;auto_sign_up = true
+;ldap_sync_ttl = 60
+;whitelist = 192.168.1.1, 192.168.2.1
+
+#################################### Basic Auth ##########################
+[auth.basic]
+;enabled = true
+
+#################################### Auth LDAP ##########################
+[auth.ldap]
+;enabled = false
+;config_file = /etc/grafana/ldap.toml
+;allow_sign_up = true
+
+#################################### SMTP / Emailing ##########################
+[smtp]
+enabled=true
+host=smtp.europe.secureserver.net:80
+user=info@esilab.org
+password=9VstzQsA1L4kDGyl1oyA
+;enabled = false
+;host = localhost:25
+;user =
+# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
+;password =
+;cert_file =
+;key_file =
+;skip_verify = false
+;from_address = admin@grafana.localhost
+;from_name = Grafana
+
+[emails]
+;welcome_email_on_sign_up = false
+
+#################################### Logging ##########################
+[log]
+# Either "console", "file", "syslog". Default is console and  file
+# Use space to separate multiple modes, e.g. "console file"
+;mode = console file
+
+# Either "trace", "debug", "info", "warn", "error", "critical", default is "info"
+;level = info
+
+# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
+;filters =
+
+
+# For "console" mode only
+[log.console]
+;level =
+
+# log line format, valid options are text, console and json
+;format = console
+
+# For "file" mode only
+[log.file]
+;level =
+
+# log line format, valid options are text, console and json
+;format = text
+
+# This enables automated log rotate(switch of following options), default is true
+;log_rotate = true
+
+# Max line number of single file, default is 1000000
+;max_lines = 1000000
+
+# Max size shift of single file, default is 28 means 1 << 28, 256MB
+;max_size_shift = 28
+
+# Segment log daily, default is true
+;daily_rotate = true
+
+# Expired days of log file(delete after max days), default is 7
+;max_days = 7
+
+[log.syslog]
+;level =
+
+# log line format, valid options are text, console and json
+;format = text
+
+# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
+;network =
+;address =
+
+# Syslog facility. user, daemon and local0 through local7 are valid.
+;facility =
+
+# Syslog tag. By default, the process' argv[0] is used.
+;tag =
+
+
+#################################### AMQP Event Publisher ##########################
+[event_publisher]
+;enabled = false
+;rabbitmq_url = amqp://localhost/
+;exchange = grafana_events
+
+;#################################### Dashboard JSON files ##########################
+[dashboards.json]
+;enabled = false
+;path = /var/lib/grafana/dashboards
+enabled = true
+path = /var/lib/grafana/dashboards
+
+#################################### Alerting ############################
+[alerting]
+# Disable alerting engine & UI features
+;enabled = true
+# Makes it possible to turn off alert rule execution but alerting UI is visible
+;execute_alerts = true
+
+#################################### Internal Grafana Metrics ##########################
+# Metrics available at HTTP API Url /api/metrics
+[metrics]
+# Disable / Enable internal metrics
+;enabled           = true
+
+# Publish interval
+;interval_seconds  = 10
+
+# Send internal metrics to Graphite
+[metrics.graphite]
+# Enable by setting the address setting (ex localhost:2003)
+;address =
+;prefix = prod.grafana.%(instance_name)s.
+
+#################################### Grafana.com integration  ##########################
+# Url used to to import dashboards directly from Grafana.com
+[grafana_com]
+;url = https://grafana.com
+
+#################################### External image storage ##########################
+[external_image_storage]
+# Used for uploading images to public servers so they can be included in slack/email messages.
+# you can choose between (s3, webdav)
+;provider =
+
+[external_image_storage.s3]
+;bucket_url =
+;access_key =
+;secret_key =
+
+[external_image_storage.webdav]
+;url =
+;public_url =
+;username =
+;password =
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/grafana-init.sh b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/grafana-init.sh
index 14b4c0d1f761e98091c9cb70d6985f10394c74df..ea2abab45c181833de9e06150623b7d8d3b0a1f9 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/grafana-init.sh
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/grafana-init.sh
@@ -1,14 +1,14 @@
-#!/bin/bash
-
-echo 'Starting Grafana...'
-AddDataSource() {
-   curl --silent --output /dev/null 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"decideh2020adapt","type":"influxdb","url":"http://10.0.2.15:8086","access":"proxy","isDefault":false,"database":"decideh2020adapt","user":"n/a","password":"n/a"}' 
-}
-
-echo 'Configuring Grafana start...' 
-until AddDataSource; do
-  echo 'Configuring Grafana...' 
-  sleep 1
-done
-echo 'Done!'
-wait
+#!/bin/bash
+
+echo 'Starting Grafana...'
+AddDataSource() {
+   curl --silent --output /dev/null 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"decideh2020adapt","type":"influxdb","url":"http://10.0.2.15:8086","access":"proxy","isDefault":false,"database":"decideh2020adapt","user":"n/a","password":"n/a"}' 
+}
+
+echo 'Configuring Grafana start...' 
+until AddDataSource; do
+  echo 'Configuring Grafana...' 
+  sleep 1
+done
+echo 'Done!'
+wait
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/run-aux.sh b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/run-aux.sh
index 4b0287368a53d9ea4b4148d49134afe659aa60ef..85414b286a5ac0a07329386d2efa4ee5861a5c07 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/run-aux.sh
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/run-aux.sh
@@ -1,6 +1,6 @@
-#!/bin/bash
-
-./grafana-init.sh &
-./run.sh "${@}"
-
-#./run.sh 
+#!/bin/bash
+
+./grafana-init.sh &
+./run.sh "${@}"
+
+#./run.sh 
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/dashboards/DECIDE ADAPT M v0.3-1511344599346.json b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/dashboards/DECIDE ADAPT M v0.3-1511344599346.json
index 39fa3c81e1893a7f10100d8bc083e1ee57b64435..737bc4b8c18ca66aae4ff8cbae6ed7b7e0cae365 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/dashboards/DECIDE ADAPT M v0.3-1511344599346.json	
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/dashboards/DECIDE ADAPT M v0.3-1511344599346.json	
@@ -1,1340 +1,1340 @@
-{
-  "__inputs": [
-    {
-      "name": "DS_DECIDEH2020ADAPT",
-      "label": "decideh2020adapt",
-      "description": "",
-      "type": "datasource",
-      "pluginId": "influxdb",
-      "pluginName": "InfluxDB"
-    }
-  ],
-  "__requires": [
-    {
-      "type": "grafana",
-      "id": "grafana",
-      "name": "Grafana",
-      "version": "4.6.2"
-    },
-    {
-      "type": "panel",
-      "id": "graph",
-      "name": "Graph",
-      "version": ""
-    },
-    {
-      "type": "datasource",
-      "id": "influxdb",
-      "name": "InfluxDB",
-      "version": "1.0.0"
-    },
-    {
-      "type": "panel",
-      "id": "singlestat",
-      "name": "Singlestat",
-      "version": ""
-    },
-    {
-      "type": "panel",
-      "id": "table",
-      "name": "Table",
-      "version": ""
-    },
-    {
-      "type": "panel",
-      "id": "text",
-      "name": "Text",
-      "version": ""
-    }
-  ],
-  "annotations": {
-    "list": [
-      {
-        "builtIn": 1,
-        "datasource": "-- Grafana --",
-        "enable": true,
-        "hide": true,
-        "iconColor": "rgba(0, 211, 255, 1)",
-        "name": "Annotations & Alerts",
-        "type": "dashboard"
-      }
-    ]
-  },
-  "editable": true,
-  "gnetId": null,
-  "graphTooltip": 0,
-  "hideControls": false,
-  "id": null,
-  "links": [],
-  "refresh": false,
-  "rows": [
-    {
-      "collapse": false,
-      "height": 166,
-      "panels": [
-        {
-          "aliasColors": {
-            "A-series": "#e5a8e2"
-          },
-          "bars": false,
-          "dashLength": 10,
-          "dashes": false,
-          "datasource": "decideh2020adapt",
-          "description": "It presents the average response time of the HTTP requests performed to the different components of the sample application. Each component information is shown in different colors",
-          "fill": 1,
-          "hideTimeOverride": false,
-          "id": 1,
-          "legend": {
-            "alignAsTable": true,
-            "avg": true,
-            "current": true,
-            "max": true,
-            "min": true,
-            "rightSide": true,
-            "show": true,
-            "sideWidth": null,
-            "sort": null,
-            "sortDesc": null,
-            "total": false,
-            "values": true
-          },
-          "lines": true,
-          "linewidth": 1,
-          "links": [
-            {
-              "keepTime": false,
-              "type": "dashboard"
-            }
-          ],
-          "nullPointMode": "null",
-          "percentage": false,
-          "pointradius": 5,
-          "points": false,
-          "renderer": "flot",
-          "seriesOverrides": [
-            {},
-            {}
-          ],
-          "spaceLength": 10,
-          "span": 12,
-          "stack": false,
-          "steppedLine": false,
-          "targets": [
-            {
-              "alias": "Front end",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "10s"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "hide": false,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
-                }
-              ]
-            },
-            {
-              "alias": "Catalogue",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "10s"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "hide": false,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "B",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
-                }
-              ]
-            },
-            {
-              "alias": "Cart",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "10s"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "C",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
-                }
-              ]
-            },
-            {
-              "alias": "Orders",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "10s"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "D",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": [],
-          "timeFrom": null,
-          "timeShift": null,
-          "title": "Components availability (response time)",
-          "tooltip": {
-            "shared": true,
-            "sort": 0,
-            "value_type": "individual"
-          },
-          "type": "graph",
-          "xaxis": {
-            "buckets": null,
-            "mode": "time",
-            "name": null,
-            "show": true,
-            "values": []
-          },
-          "yaxes": [
-            {
-              "format": "short",
-              "label": "Time (s)",
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            },
-            {
-              "format": "short",
-              "label": null,
-              "logBase": 1,
-              "max": null,
-              "min": null,
-              "show": true
-            }
-          ]
-        }
-      ],
-      "repeat": null,
-      "repeatIteration": null,
-      "repeatRowId": null,
-      "showTitle": false,
-      "title": "Dashboard Row",
-      "titleSize": "h6"
-    },
-    {
-      "collapse": false,
-      "height": 157,
-      "panels": [
-        {
-          "content": "<html>\n<body bg color= \"red\">\n<h2><font color=\"blue\">Multi cloud App monitored: Sock Shop app</font></h2> <br/>\n<h4> 4 components are being monitored: front-end, catalogue (the associated catalogue-db is not being monitored),carts (the associated carts-db is not being monitored), and orders (the associated orders-db is not being monitored) </h4>\n</body>\n</html>",
-          "id": 19,
-          "links": [],
-          "mode": "html",
-          "span": 6,
-          "title": "Generic information of the Multi-cloud Application",
-          "transparent": false,
-          "type": "text"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": false,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "#ef843c",
-            "#d44a3a"
-          ],
-          "datasource": "decideh2020adapt",
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": true,
-            "thresholdLabels": false,
-            "thresholdMarkers": false
-          },
-          "id": 4,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "span": 6,
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "alias": "Maximun response time",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "1h"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "max"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
-                },
-                {
-                  "condition": "OR",
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
-                },
-                {
-                  "condition": "AND",
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-                },
-                {
-                  "condition": "OR",
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": "0.01,2",
-          "title": "Max response time in the APP (last hour)",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        }
-      ],
-      "repeat": null,
-      "repeatIteration": null,
-      "repeatRowId": null,
-      "showTitle": false,
-      "title": "Dashboard Row",
-      "titleSize": "h6"
-    },
-    {
-      "collapse": false,
-      "height": -2140,
-      "panels": [
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "#e0f9d7",
-            "#d44a3a"
-          ],
-          "datasource": "decideh2020adapt",
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "height": "20",
-          "id": 12,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "span": 3,
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "1h"
-                  ],
-                  "type": "time"
-                }
-              ],
-              "limit": 10,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "max"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "method",
-                  "operator": "=",
-                  "value": "GET"
-                },
-                {
-                  "condition": "AND",
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": "",
-          "title": "Max response time Front end (last hour)",
-          "transparent": false,
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "#fceaca",
-            "#d44a3a"
-          ],
-          "datasource": "decideh2020adapt",
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "height": "20",
-          "id": 13,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "span": 3,
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "alias": "Catalogue",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "1h"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "max"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": "",
-          "title": "Max response time catalogue (last hour)",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "#cffaff",
-            "#d44a3a"
-          ],
-          "datasource": "decideh2020adapt",
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "height": "50",
-          "id": 14,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "span": 3,
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "alias": "Orders",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "1h"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "max"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": "",
-          "title": "Max response time Orders (last hour)",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        },
-        {
-          "cacheTimeout": null,
-          "colorBackground": true,
-          "colorValue": false,
-          "colors": [
-            "#299c46",
-            "#fce2de",
-            "#d44a3a"
-          ],
-          "datasource": "decideh2020adapt",
-          "format": "s",
-          "gauge": {
-            "maxValue": 100,
-            "minValue": 0,
-            "show": false,
-            "thresholdLabels": false,
-            "thresholdMarkers": true
-          },
-          "height": "50",
-          "id": 15,
-          "interval": null,
-          "links": [],
-          "mappingType": 1,
-          "mappingTypes": [
-            {
-              "name": "value to text",
-              "value": 1
-            },
-            {
-              "name": "range to text",
-              "value": 2
-            }
-          ],
-          "maxDataPoints": 100,
-          "nullPointMode": "connected",
-          "nullText": null,
-          "postfix": "",
-          "postfixFontSize": "50%",
-          "prefix": "",
-          "prefixFontSize": "50%",
-          "rangeMaps": [
-            {
-              "from": "null",
-              "text": "N/A",
-              "to": "null"
-            }
-          ],
-          "span": 3,
-          "sparkline": {
-            "fillColor": "rgba(31, 118, 189, 0.18)",
-            "full": false,
-            "lineColor": "rgb(31, 120, 193)",
-            "show": false
-          },
-          "tableColumn": "",
-          "targets": [
-            {
-              "alias": "Carts",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "1h"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "response_time"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "max"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
-                }
-              ]
-            }
-          ],
-          "thresholds": "",
-          "title": "Max response time Carts (last hour)",
-          "type": "singlestat",
-          "valueFontSize": "80%",
-          "valueMaps": [
-            {
-              "op": "=",
-              "text": "N/A",
-              "value": "null"
-            }
-          ],
-          "valueName": "avg"
-        }
-      ],
-      "repeat": null,
-      "repeatIteration": null,
-      "repeatRowId": null,
-      "showTitle": false,
-      "title": "Dashboard Row",
-      "titleSize": "h6"
-    },
-    {
-      "collapse": false,
-      "height": 188,
-      "panels": [
-        {
-          "columns": [],
-          "datasource": "decideh2020adapt",
-          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
-          "fontSize": "100%",
-          "height": "20",
-          "id": 20,
-          "links": [],
-          "pageSize": null,
-          "repeat": null,
-          "scroll": true,
-          "showHeader": true,
-          "sort": {
-            "col": 0,
-            "desc": true
-          },
-          "span": 3,
-          "styles": [
-            {
-              "alias": "Time",
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "pattern": "Time",
-              "type": "date"
-            },
-            {
-              "alias": "",
-              "colorMode": null,
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "decimals": 2,
-              "pattern": "/.*/",
-              "thresholds": [],
-              "type": "number",
-              "unit": "short"
-            }
-          ],
-          "targets": [
-            {
-              "alias": "Front End",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "server"
-                  ],
-                  "type": "tag"
-                }
-              ],
-              "limit": 10,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "result_type"
-                    ],
-                    "type": "field"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
-                }
-              ]
-            }
-          ],
-          "title": "Request results type - Front end",
-          "transform": "timeseries_to_rows",
-          "transparent": false,
-          "type": "table"
-        },
-        {
-          "columns": [],
-          "datasource": "decideh2020adapt",
-          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
-          "fontSize": "100%",
-          "height": "20",
-          "id": 21,
-          "links": [],
-          "pageSize": null,
-          "scroll": true,
-          "showHeader": true,
-          "sort": {
-            "col": 0,
-            "desc": true
-          },
-          "span": 3,
-          "styles": [
-            {
-              "alias": "Time",
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "pattern": "Time",
-              "type": "date"
-            },
-            {
-              "alias": "",
-              "colorMode": null,
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "decimals": 2,
-              "pattern": "/.*/",
-              "thresholds": [],
-              "type": "number",
-              "unit": "short"
-            }
-          ],
-          "targets": [
-            {
-              "alias": "Catalogue",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "server"
-                  ],
-                  "type": "tag"
-                }
-              ],
-              "limit": 10,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "result_type"
-                    ],
-                    "type": "field"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
-                }
-              ]
-            }
-          ],
-          "title": "Request results type - Catalogue",
-          "transform": "timeseries_to_rows",
-          "transparent": false,
-          "type": "table"
-        },
-        {
-          "columns": [],
-          "datasource": "decideh2020adapt",
-          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
-          "fontSize": "100%",
-          "height": "20",
-          "id": 22,
-          "links": [],
-          "pageSize": null,
-          "scroll": true,
-          "showHeader": true,
-          "sort": {
-            "col": 0,
-            "desc": true
-          },
-          "span": 3,
-          "styles": [
-            {
-              "alias": "Time",
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "pattern": "Time",
-              "type": "date"
-            },
-            {
-              "alias": "",
-              "colorMode": null,
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "decimals": 2,
-              "pattern": "/.*/",
-              "thresholds": [],
-              "type": "number",
-              "unit": "short"
-            }
-          ],
-          "targets": [
-            {
-              "alias": "Orders",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "server"
-                  ],
-                  "type": "tag"
-                }
-              ],
-              "limit": 10,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "result_type"
-                    ],
-                    "type": "field"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-                }
-              ]
-            }
-          ],
-          "title": "Request results type - Orders",
-          "transform": "timeseries_to_rows",
-          "transparent": false,
-          "type": "table"
-        },
-        {
-          "columns": [],
-          "datasource": "decideh2020adapt",
-          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
-          "fontSize": "100%",
-          "height": "20",
-          "id": 23,
-          "links": [],
-          "pageSize": null,
-          "scroll": true,
-          "showHeader": true,
-          "sort": {
-            "col": 0,
-            "desc": true
-          },
-          "span": 3,
-          "styles": [
-            {
-              "alias": "Time",
-              "dateFormat": "YYYY-MM-DD HH:mm:ss",
-              "pattern": "Time",
-              "type": "date"
-            },
-            {
-              "alias": "",
-              "colorMode": null,
-              "colors": [
-                "rgba(245, 54, 54, 0.9)",
-                "rgba(237, 129, 40, 0.89)",
-                "rgba(50, 172, 45, 0.97)"
-              ],
-              "decimals": 2,
-              "pattern": "/.*/",
-              "thresholds": [],
-              "type": "number",
-              "unit": "short"
-            }
-          ],
-          "targets": [
-            {
-              "alias": "Orders",
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "server"
-                  ],
-                  "type": "tag"
-                }
-              ],
-              "limit": 10,
-              "measurement": "http_response",
-              "orderByTime": "ASC",
-              "policy": "default",
-              "refId": "A",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "result_type"
-                    ],
-                    "type": "field"
-                  }
-                ]
-              ],
-              "tags": [
-                {
-                  "key": "server",
-                  "operator": "=",
-                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-                }
-              ]
-            }
-          ],
-          "title": "Request results type - Carts",
-          "transform": "timeseries_to_rows",
-          "transparent": false,
-          "type": "table"
-        }
-      ],
-      "repeat": null,
-      "repeatIteration": null,
-      "repeatRowId": null,
-      "showTitle": false,
-      "title": "Dashboard Row",
-      "titleSize": "h6"
-    }
-  ],
-  "schemaVersion": 14,
-  "style": "dark",
-  "tags": [],
-  "templating": {
-    "list": []
-  },
-  "time": {
-    "from": "now-30m",
-    "to": "now"
-  },
-  "timepicker": {
-    "refresh_intervals": [
-      "5s",
-      "10s",
-      "30s",
-      "1m",
-      "5m",
-      "15m",
-      "30m",
-      "1h",
-      "2h",
-      "1d"
-    ],
-    "time_options": [
-      "5m",
-      "15m",
-      "1h",
-      "6h",
-      "12h",
-      "24h",
-      "2d",
-      "7d",
-      "30d"
-    ]
-  },
-  "timezone": "",
-  "title": "DECIDE ADAPT M v0.3",
-  "version": 3
+{
+  "__inputs": [
+    {
+      "name": "DS_DECIDEH2020ADAPT",
+      "label": "decideh2020adapt",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "influxdb",
+      "pluginName": "InfluxDB"
+    }
+  ],
+  "__requires": [
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "4.6.2"
+    },
+    {
+      "type": "panel",
+      "id": "graph",
+      "name": "Graph",
+      "version": ""
+    },
+    {
+      "type": "datasource",
+      "id": "influxdb",
+      "name": "InfluxDB",
+      "version": "1.0.0"
+    },
+    {
+      "type": "panel",
+      "id": "singlestat",
+      "name": "Singlestat",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "table",
+      "name": "Table",
+      "version": ""
+    },
+    {
+      "type": "panel",
+      "id": "text",
+      "name": "Text",
+      "version": ""
+    }
+  ],
+  "annotations": {
+    "list": [
+      {
+        "builtIn": 1,
+        "datasource": "-- Grafana --",
+        "enable": true,
+        "hide": true,
+        "iconColor": "rgba(0, 211, 255, 1)",
+        "name": "Annotations & Alerts",
+        "type": "dashboard"
+      }
+    ]
+  },
+  "editable": true,
+  "gnetId": null,
+  "graphTooltip": 0,
+  "hideControls": false,
+  "id": null,
+  "links": [],
+  "refresh": false,
+  "rows": [
+    {
+      "collapse": false,
+      "height": 166,
+      "panels": [
+        {
+          "aliasColors": {
+            "A-series": "#e5a8e2"
+          },
+          "bars": false,
+          "dashLength": 10,
+          "dashes": false,
+          "datasource": "decideh2020adapt",
+          "description": "It presents the average response time of the HTTP requests performed to the different components of the sample application. Each component information is shown in different colors",
+          "fill": 1,
+          "hideTimeOverride": false,
+          "id": 1,
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": true,
+            "max": true,
+            "min": true,
+            "rightSide": true,
+            "show": true,
+            "sideWidth": null,
+            "sort": null,
+            "sortDesc": null,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [
+            {
+              "keepTime": false,
+              "type": "dashboard"
+            }
+          ],
+          "nullPointMode": "null",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "seriesOverrides": [
+            {},
+            {}
+          ],
+          "spaceLength": 10,
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "Front end",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "10s"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": false,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
+                }
+              ]
+            },
+            {
+              "alias": "Catalogue",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "10s"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": false,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
+                }
+              ]
+            },
+            {
+              "alias": "Cart",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "10s"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
+                }
+              ]
+            },
+            {
+              "alias": "Orders",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "10s"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": [],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Components availability (response time)",
+          "tooltip": {
+            "shared": true,
+            "sort": 0,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "xaxis": {
+            "buckets": null,
+            "mode": "time",
+            "name": null,
+            "show": true,
+            "values": []
+          },
+          "yaxes": [
+            {
+              "format": "short",
+              "label": "Time (s)",
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            },
+            {
+              "format": "short",
+              "label": null,
+              "logBase": 1,
+              "max": null,
+              "min": null,
+              "show": true
+            }
+          ]
+        }
+      ],
+      "repeat": null,
+      "repeatIteration": null,
+      "repeatRowId": null,
+      "showTitle": false,
+      "title": "Dashboard Row",
+      "titleSize": "h6"
+    },
+    {
+      "collapse": false,
+      "height": 157,
+      "panels": [
+        {
+          "content": "<html>\n<body bg color= \"red\">\n<h2><font color=\"blue\">Multi cloud App monitored: Sock Shop app</font></h2> <br/>\n<h4> 4 components are being monitored: front-end, catalogue (the associated catalogue-db is not being monitored),carts (the associated carts-db is not being monitored), and orders (the associated orders-db is not being monitored) </h4>\n</body>\n</html>",
+          "id": 19,
+          "links": [],
+          "mode": "html",
+          "span": 6,
+          "title": "Generic information of the Multi-cloud Application",
+          "transparent": false,
+          "type": "text"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": false,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "#ef843c",
+            "#d44a3a"
+          ],
+          "datasource": "decideh2020adapt",
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": true,
+            "thresholdLabels": false,
+            "thresholdMarkers": false
+          },
+          "id": 4,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "span": 6,
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "alias": "Maximun response time",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "1h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "max"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
+                },
+                {
+                  "condition": "OR",
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
+                },
+                {
+                  "condition": "AND",
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+                },
+                {
+                  "condition": "OR",
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": "0.01,2",
+          "title": "Max response time in the APP (last hour)",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        }
+      ],
+      "repeat": null,
+      "repeatIteration": null,
+      "repeatRowId": null,
+      "showTitle": false,
+      "title": "Dashboard Row",
+      "titleSize": "h6"
+    },
+    {
+      "collapse": false,
+      "height": -2140,
+      "panels": [
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "#e0f9d7",
+            "#d44a3a"
+          ],
+          "datasource": "decideh2020adapt",
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "height": "20",
+          "id": 12,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "span": 3,
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "1h"
+                  ],
+                  "type": "time"
+                }
+              ],
+              "limit": 10,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "max"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "method",
+                  "operator": "=",
+                  "value": "GET"
+                },
+                {
+                  "condition": "AND",
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": "",
+          "title": "Max response time Front end (last hour)",
+          "transparent": false,
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "#fceaca",
+            "#d44a3a"
+          ],
+          "datasource": "decideh2020adapt",
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "height": "20",
+          "id": 13,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "span": 3,
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "alias": "Catalogue",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "1h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "max"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": "",
+          "title": "Max response time catalogue (last hour)",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "#cffaff",
+            "#d44a3a"
+          ],
+          "datasource": "decideh2020adapt",
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "height": "50",
+          "id": 14,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "span": 3,
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "alias": "Orders",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "1h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "max"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": "",
+          "title": "Max response time Orders (last hour)",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        },
+        {
+          "cacheTimeout": null,
+          "colorBackground": true,
+          "colorValue": false,
+          "colors": [
+            "#299c46",
+            "#fce2de",
+            "#d44a3a"
+          ],
+          "datasource": "decideh2020adapt",
+          "format": "s",
+          "gauge": {
+            "maxValue": 100,
+            "minValue": 0,
+            "show": false,
+            "thresholdLabels": false,
+            "thresholdMarkers": true
+          },
+          "height": "50",
+          "id": 15,
+          "interval": null,
+          "links": [],
+          "mappingType": 1,
+          "mappingTypes": [
+            {
+              "name": "value to text",
+              "value": 1
+            },
+            {
+              "name": "range to text",
+              "value": 2
+            }
+          ],
+          "maxDataPoints": 100,
+          "nullPointMode": "connected",
+          "nullText": null,
+          "postfix": "",
+          "postfixFontSize": "50%",
+          "prefix": "",
+          "prefixFontSize": "50%",
+          "rangeMaps": [
+            {
+              "from": "null",
+              "text": "N/A",
+              "to": "null"
+            }
+          ],
+          "span": 3,
+          "sparkline": {
+            "fillColor": "rgba(31, 118, 189, 0.18)",
+            "full": false,
+            "lineColor": "rgb(31, 120, 193)",
+            "show": false
+          },
+          "tableColumn": "",
+          "targets": [
+            {
+              "alias": "Carts",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "1h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "response_time"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "max"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
+                }
+              ]
+            }
+          ],
+          "thresholds": "",
+          "title": "Max response time Carts (last hour)",
+          "type": "singlestat",
+          "valueFontSize": "80%",
+          "valueMaps": [
+            {
+              "op": "=",
+              "text": "N/A",
+              "value": "null"
+            }
+          ],
+          "valueName": "avg"
+        }
+      ],
+      "repeat": null,
+      "repeatIteration": null,
+      "repeatRowId": null,
+      "showTitle": false,
+      "title": "Dashboard Row",
+      "titleSize": "h6"
+    },
+    {
+      "collapse": false,
+      "height": 188,
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "decideh2020adapt",
+          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
+          "fontSize": "100%",
+          "height": "20",
+          "id": 20,
+          "links": [],
+          "pageSize": null,
+          "repeat": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 3,
+          "styles": [
+            {
+              "alias": "Time",
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "alias": "",
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "Front End",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "server"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "limit": 10,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "result_type"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html"
+                }
+              ]
+            }
+          ],
+          "title": "Request results type - Front end",
+          "transform": "timeseries_to_rows",
+          "transparent": false,
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "decideh2020adapt",
+          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
+          "fontSize": "100%",
+          "height": "20",
+          "id": 21,
+          "links": [],
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 3,
+          "styles": [
+            {
+              "alias": "Time",
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "alias": "",
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "Catalogue",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "server"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "limit": 10,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "result_type"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
+                }
+              ]
+            }
+          ],
+          "title": "Request results type - Catalogue",
+          "transform": "timeseries_to_rows",
+          "transparent": false,
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "decideh2020adapt",
+          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
+          "fontSize": "100%",
+          "height": "20",
+          "id": 22,
+          "links": [],
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 3,
+          "styles": [
+            {
+              "alias": "Time",
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "alias": "",
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "Orders",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "server"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "limit": 10,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "result_type"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+                }
+              ]
+            }
+          ],
+          "title": "Request results type - Orders",
+          "transform": "timeseries_to_rows",
+          "transparent": false,
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "decideh2020adapt",
+          "description": "Posible result types success, timeout, response_string_mismatch, connection_failed",
+          "fontSize": "100%",
+          "height": "20",
+          "id": 23,
+          "links": [],
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 3,
+          "styles": [
+            {
+              "alias": "Time",
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "alias": "",
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "Orders",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "server"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "limit": 10,
+              "measurement": "http_response",
+              "orderByTime": "ASC",
+              "policy": "default",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "result_type"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "server",
+                  "operator": "=",
+                  "value": "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+                }
+              ]
+            }
+          ],
+          "title": "Request results type - Carts",
+          "transform": "timeseries_to_rows",
+          "transparent": false,
+          "type": "table"
+        }
+      ],
+      "repeat": null,
+      "repeatIteration": null,
+      "repeatRowId": null,
+      "showTitle": false,
+      "title": "Dashboard Row",
+      "titleSize": "h6"
+    }
+  ],
+  "schemaVersion": 14,
+  "style": "dark",
+  "tags": [],
+  "templating": {
+    "list": []
+  },
+  "time": {
+    "from": "now-30m",
+    "to": "now"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "timezone": "",
+  "title": "DECIDE ADAPT M v0.3",
+  "version": 3
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.editorconfig b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.editorconfig
index 9aac58c1bd234018ee8f9f5946ee9a547d2b4f21..fda5d2bc33243c5f910810026730a2b50d2b24bf 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.editorconfig
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.editorconfig
@@ -1,13 +1,13 @@
-# http://editorconfig.org
-root = true
-
-[*]
-indent_style = tab
-indent_size = 4
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
+# http://editorconfig.org
+root = true
+
+[*]
+indent_style = tab
+indent_size = 4
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.gitignore b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.gitignore
index 0eaf4050862392343b97c308186ede222a11d133..157db97e6ce72233f4361ab84393b846e81a8efe 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.gitignore
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/.gitignore
@@ -1,36 +1,36 @@
-node_modules
-npm-debug.log
-coverage/
-.aws-config.json
-awsconfig
-/emails/dist
-/public_gen
-/tmp
-vendor/phantomjs/phantomjs
-
-docs/AWS_S3_BUCKET
-docs/GIT_BRANCH
-docs/VERSION
-docs/GITCOMMIT
-docs/changed-files
-docs/changed-files
-
-# locally required config files
-public/css/*.min.css
-
-# Editor junk
-*.sublime-workspace
-*.swp
-.idea/
-*.iml
-
-/data/*
-/bin/*
-
-conf/custom.ini
-fig.yml
-profile.cov
-grafana
-.notouch
-.sass-cache/
-/dist/src/
+node_modules
+npm-debug.log
+coverage/
+.aws-config.json
+awsconfig
+/emails/dist
+/public_gen
+/tmp
+vendor/phantomjs/phantomjs
+
+docs/AWS_S3_BUCKET
+docs/GIT_BRANCH
+docs/VERSION
+docs/GITCOMMIT
+docs/changed-files
+docs/changed-files
+
+# locally required config files
+public/css/*.min.css
+
+# Editor junk
+*.sublime-workspace
+*.swp
+.idea/
+*.iml
+
+/data/*
+/bin/*
+
+conf/custom.ini
+fig.yml
+profile.cov
+grafana
+.notouch
+.sass-cache/
+/dist/src/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/Gruntfile.js b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/Gruntfile.js
index f2ede44effe1631d4a579ae3d0cc56f15dfef4b5..1d48367e2a2e8494220fad5b65dd1e6f1b08ef08 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/Gruntfile.js
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/Gruntfile.js
@@ -1,73 +1,73 @@
-module.exports = function(grunt) {
-
-  require('load-grunt-tasks')(grunt);
-
-  grunt.loadNpmTasks('grunt-execute');
-  grunt.loadNpmTasks('grunt-contrib-sass');
-  grunt.loadNpmTasks('grunt-contrib-clean');
-
-  grunt.initConfig({
-
-    clean: ["dist"],
-
-    copy: {
-      src_to_dist: {
-        cwd: 'src',
-        expand: true,
-        src: ['**/*', '!**/*.js', '!**/*.scss'],
-        dest: 'dist'
-      },
-      img_to_dist: {
-        cwd: 'src',
-        expand: true,
-        src: ['img/*'],
-        dest: 'dist/src/'
-      },
-      pluginDef: {
-        expand: true,
-        src: [ 'plugin.json', 'README.md' ],
-        dest: 'dist'
-      }
-    },
-
-    sass: {
-      dist: {
-        files: [{
-          expand: true,
-          cwd: 'src',
-          src: ['css/*.scss'],
-          dest: 'dist',
-          ext: '.css'
-        }]
-      }
-    },
-
-    watch: {
-      rebuild_all: {
-        files: ['src/**/*', 'plugin.json'],
-        tasks: ['default'],
-        options: {spawn: false}
-      }
-    },
-
-    babel: {
-      options: {
-        sourceMap: true,
-        presets:  ['es2015'],
-        plugins: ['transform-es2015-modules-systemjs', 'transform-es2015-for-of']
-      },
-      dist: {
-        files: [{
-          cwd: 'src',
-          expand: true,
-          src: ['*.js'],
-          dest: 'dist',
-          ext:'.js'
-        }]
-      }
-    }
-
-  });
-
-  grunt.registerTask('default', ['clean', 'sass', 'copy:src_to_dist', 'copy:img_to_dist', 'copy:pluginDef', 'babel']);
-};
+module.exports = function(grunt) {
+
+  require('load-grunt-tasks')(grunt);
+
+  grunt.loadNpmTasks('grunt-execute');
+  grunt.loadNpmTasks('grunt-contrib-sass');
+  grunt.loadNpmTasks('grunt-contrib-clean');
+
+  grunt.initConfig({
+
+    clean: ["dist"],
+
+    copy: {
+      src_to_dist: {
+        cwd: 'src',
+        expand: true,
+        src: ['**/*', '!**/*.js', '!**/*.scss'],
+        dest: 'dist'
+      },
+      img_to_dist: {
+        cwd: 'src',
+        expand: true,
+        src: ['img/*'],
+        dest: 'dist/src/'
+      },
+      pluginDef: {
+        expand: true,
+        src: [ 'plugin.json', 'README.md' ],
+        dest: 'dist'
+      }
+    },
+
+    sass: {
+      dist: {
+        files: [{
+          expand: true,
+          cwd: 'src',
+          src: ['css/*.scss'],
+          dest: 'dist',
+          ext: '.css'
+        }]
+      }
+    },
+
+    watch: {
+      rebuild_all: {
+        files: ['src/**/*', 'plugin.json'],
+        tasks: ['default'],
+        options: {spawn: false}
+      }
+    },
+
+    babel: {
+      options: {
+        sourceMap: true,
+        presets:  ['es2015'],
+        plugins: ['transform-es2015-modules-systemjs', 'transform-es2015-for-of']
+      },
+      dist: {
+        files: [{
+          cwd: 'src',
+          expand: true,
+          src: ['*.js'],
+          dest: 'dist',
+          ext:'.js'
+        }]
+      }
+    }
+
+  });
+
+  grunt.registerTask('default', ['clean', 'sass', 'copy:src_to_dist', 'copy:img_to_dist', 'copy:pluginDef', 'babel']);
+};
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/LICENSE.txt b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/LICENSE.txt
index 9089061707e1ec1ac63595bd2a43e3a9e89df8e6..1cecce8440f63cad56ec76abc9121c6221a56b4e 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/LICENSE.txt
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/LICENSE.txt
@@ -1,13 +1,13 @@
-Copyright 2016 Vonage Holdings Corp.
-
-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
+Copyright 2016 Vonage Holdings Corp.
+
+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/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/README.md b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/README.md
index 708b07f78d9d699c365a6b9a30a6345dce772415..8d05756199fe1c946b9e008e5f3945f7654ca902 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/README.md
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/README.md
@@ -1,77 +1,77 @@
-# Grafana Status Panel
-
-This is a plugin meant to be used as a centralized view for the status of component in a glance.
-It is very similar to the Single Stat panel, but it can hold multiple values from the same data source.
-Each value can be used to customize the panel in different ways: 
-* Mark the severity of the component
-* Mark if the component is disabled
-* Show extra data in the panel about the component  
-
-## The General Idea
-Lets say that you want to monitor a bunch of servers, and you want to keep track of multiple stats for each of them, and see in a glance the status of all of them.
-
-This plugin will make it easier to do. You just add all the metrics you want to track, and choose how you want their values to be treated:
-1. Component severity marker - Set the threshold for each and you get an overview that will report to you if there is anything wrong with any metrics. That means that if all the metrics are in the OK zone, the panel will be green. If evan one of the metrics is in the WARNING zone, it will be yellow, and red if any of them is CRITICAL.
-2. Component disable marker - Set the exact value that represent if the component is disabled, the panel will be grey.
-3. Display as text - show extra information about the component in the panel
-
-Severity and text values can be shown in 2 modes:
-1. Regular - under the panel title
-2. Annotation - In the top left side of the panel
-
-**Note:** The disable markers are prioritized over the severity ones. 
-
-You can also repeat the panel on a template if you have multiple instances that you want to watch.
-
-## How to install (for debugging purposes only)
-1. Copy the contents of "Grafana_Status_panel" to the "/var/lib/grafana/plugins" folder
-2. Restart grafana by using "service grafana-server restart"
-3. Now this panel should be installed.
-
-## How to use
-1. Add the queries you want to the panel and give each of them a unique alias
-2. Choose the name of the panel to be displayed in the `Panel Title` field.
-  **Note:** this field supports Grafana templates, so if you repeat the panel the correct name will show
-3. Go the the Options tab, and choose the how to treat each metric. 
-	1. For severity display, select the `Threshold` option type under `Handler Type`. Enter the `Warning` and `Critical` thresholds for each of your queries.
-		* If you want the result to always be displayed with it's value (regardless to the thresholds), check the box titled `Show Always`
-		* In case one of the fields (`Warning`/`Critical`) is a text, there will be equality check with the values.
- 		* In case both fields are numbers there will be range check with the values. The plugin automatically detects if higher values are good, or lower values are good by checking which threshold is higher/lower. i.e. if in your metric higher values are better, put a lower value in the `critical` threshold than the `warning` threshold.
-	2. For disable display, select the `Disable Criteria` option type under `Handler Type`. Enter the `Disable Value` for each of your queries.
-	3. For display the text without any condition, select the `Text Only` option type under `Handler Type`. The alias + the value of the metric will be shown on the panel by the `Display Type` value.
-4. If the query returns multiple values, choose the type of aggregation you want to be used (`None` will just use the most first result)
-
-## Other Features
-
-### Remove Prefix
-The plugins has a 'Remove Prefix' field in the configuration. This field is is meant for easier renaming of the panels when you repeat them from a Grafana template.
-
-i.e. you recognize your servers by domain, and they are all name in the following way `www.general-prefix.server.com`, and you would like to remove the prefix from the display, then you enter `www.general-prefix.` and all the panels will only display the `server.com` part.
-
-### Display Value by Regex
-When you want to display just part of the value for a specific metric in the screen, you can pass a regex in the `Value Regex` field, and if there is match, Only the first match will be displayed. Otherwise, the original value will be displayed.
-
-### Measurement URL
-Lets say that you want your user to be able to get instructions on what to do when a certain metric is at Warning or Critical levels. Just put a link in this field and the name will become clickable, and send your user to any URL you desire (like an internal wiki).
-
-### Show disable for no data
-If there is not data from any of the metrics, you can show the panel as disabled (in Grey), by checking the value `Make panel gray when no data` on the top of the options tab
-## Supported Data Sources
-Currently the plugin was tested with **influxDB** and **Graphite**. Support for other data sources could be added by demand
-
-## Release Notes
-### Version 1.0.3
-* Version (1.0.3) can have some conflicts with older versions.
-
-# Screenshots
-### Panel States
-![ok](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/ok.png?raw=true)
-![warning](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/warning.png?raw=true)
-![error](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/error.png?raw=true)
-
-### The end result should look like this
-![Result](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/environment_snapshot.png?raw=true)
-
-# License
-
-See the [LICENSE](https://github.com/Vonage/Grafana_Status_panel/blob/master/LICENSE.txt) file for license rights and limitations (Apache License, Version 2.0)
+# Grafana Status Panel
+
+This is a plugin meant to be used as a centralized view for the status of component in a glance.
+It is very similar to the Single Stat panel, but it can hold multiple values from the same data source.
+Each value can be used to customize the panel in different ways: 
+* Mark the severity of the component
+* Mark if the component is disabled
+* Show extra data in the panel about the component  
+
+## The General Idea
+Lets say that you want to monitor a bunch of servers, and you want to keep track of multiple stats for each of them, and see in a glance the status of all of them.
+
+This plugin will make it easier to do. You just add all the metrics you want to track, and choose how you want their values to be treated:
+1. Component severity marker - Set the threshold for each and you get an overview that will report to you if there is anything wrong with any metrics. That means that if all the metrics are in the OK zone, the panel will be green. If evan one of the metrics is in the WARNING zone, it will be yellow, and red if any of them is CRITICAL.
+2. Component disable marker - Set the exact value that represent if the component is disabled, the panel will be grey.
+3. Display as text - show extra information about the component in the panel
+
+Severity and text values can be shown in 2 modes:
+1. Regular - under the panel title
+2. Annotation - In the top left side of the panel
+
+**Note:** The disable markers are prioritized over the severity ones. 
+
+You can also repeat the panel on a template if you have multiple instances that you want to watch.
+
+## How to install (for debugging purposes only)
+1. Copy the contents of "Grafana_Status_panel" to the "/var/lib/grafana/plugins" folder
+2. Restart grafana by using "service grafana-server restart"
+3. Now this panel should be installed.
+
+## How to use
+1. Add the queries you want to the panel and give each of them a unique alias
+2. Choose the name of the panel to be displayed in the `Panel Title` field.
+  **Note:** this field supports Grafana templates, so if you repeat the panel the correct name will show
+3. Go the the Options tab, and choose the how to treat each metric. 
+	1. For severity display, select the `Threshold` option type under `Handler Type`. Enter the `Warning` and `Critical` thresholds for each of your queries.
+		* If you want the result to always be displayed with it's value (regardless to the thresholds), check the box titled `Show Always`
+		* In case one of the fields (`Warning`/`Critical`) is a text, there will be equality check with the values.
+ 		* In case both fields are numbers there will be range check with the values. The plugin automatically detects if higher values are good, or lower values are good by checking which threshold is higher/lower. i.e. if in your metric higher values are better, put a lower value in the `critical` threshold than the `warning` threshold.
+	2. For disable display, select the `Disable Criteria` option type under `Handler Type`. Enter the `Disable Value` for each of your queries.
+	3. For display the text without any condition, select the `Text Only` option type under `Handler Type`. The alias + the value of the metric will be shown on the panel by the `Display Type` value.
+4. If the query returns multiple values, choose the type of aggregation you want to be used (`None` will just use the most first result)
+
+## Other Features
+
+### Remove Prefix
+The plugins has a 'Remove Prefix' field in the configuration. This field is is meant for easier renaming of the panels when you repeat them from a Grafana template.
+
+i.e. you recognize your servers by domain, and they are all name in the following way `www.general-prefix.server.com`, and you would like to remove the prefix from the display, then you enter `www.general-prefix.` and all the panels will only display the `server.com` part.
+
+### Display Value by Regex
+When you want to display just part of the value for a specific metric in the screen, you can pass a regex in the `Value Regex` field, and if there is match, Only the first match will be displayed. Otherwise, the original value will be displayed.
+
+### Measurement URL
+Lets say that you want your user to be able to get instructions on what to do when a certain metric is at Warning or Critical levels. Just put a link in this field and the name will become clickable, and send your user to any URL you desire (like an internal wiki).
+
+### Show disable for no data
+If there is not data from any of the metrics, you can show the panel as disabled (in Grey), by checking the value `Make panel gray when no data` on the top of the options tab
+## Supported Data Sources
+Currently the plugin was tested with **influxDB** and **Graphite**. Support for other data sources could be added by demand
+
+## Release Notes
+### Version 1.0.3
+* Version (1.0.3) can have some conflicts with older versions.
+
+# Screenshots
+### Panel States
+![ok](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/ok.png?raw=true)
+![warning](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/warning.png?raw=true)
+![error](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/error.png?raw=true)
+
+### The end result should look like this
+![Result](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/environment_snapshot.png?raw=true)
+
+# License
+
+See the [LICENSE](https://github.com/Vonage/Grafana_Status_panel/blob/master/LICENSE.txt) file for license rights and limitations (Apache License, Version 2.0)
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/README.md b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/README.md
index 708b07f78d9d699c365a6b9a30a6345dce772415..8d05756199fe1c946b9e008e5f3945f7654ca902 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/README.md
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/README.md
@@ -1,77 +1,77 @@
-# Grafana Status Panel
-
-This is a plugin meant to be used as a centralized view for the status of component in a glance.
-It is very similar to the Single Stat panel, but it can hold multiple values from the same data source.
-Each value can be used to customize the panel in different ways: 
-* Mark the severity of the component
-* Mark if the component is disabled
-* Show extra data in the panel about the component  
-
-## The General Idea
-Lets say that you want to monitor a bunch of servers, and you want to keep track of multiple stats for each of them, and see in a glance the status of all of them.
-
-This plugin will make it easier to do. You just add all the metrics you want to track, and choose how you want their values to be treated:
-1. Component severity marker - Set the threshold for each and you get an overview that will report to you if there is anything wrong with any metrics. That means that if all the metrics are in the OK zone, the panel will be green. If evan one of the metrics is in the WARNING zone, it will be yellow, and red if any of them is CRITICAL.
-2. Component disable marker - Set the exact value that represent if the component is disabled, the panel will be grey.
-3. Display as text - show extra information about the component in the panel
-
-Severity and text values can be shown in 2 modes:
-1. Regular - under the panel title
-2. Annotation - In the top left side of the panel
-
-**Note:** The disable markers are prioritized over the severity ones. 
-
-You can also repeat the panel on a template if you have multiple instances that you want to watch.
-
-## How to install (for debugging purposes only)
-1. Copy the contents of "Grafana_Status_panel" to the "/var/lib/grafana/plugins" folder
-2. Restart grafana by using "service grafana-server restart"
-3. Now this panel should be installed.
-
-## How to use
-1. Add the queries you want to the panel and give each of them a unique alias
-2. Choose the name of the panel to be displayed in the `Panel Title` field.
-  **Note:** this field supports Grafana templates, so if you repeat the panel the correct name will show
-3. Go the the Options tab, and choose the how to treat each metric. 
-	1. For severity display, select the `Threshold` option type under `Handler Type`. Enter the `Warning` and `Critical` thresholds for each of your queries.
-		* If you want the result to always be displayed with it's value (regardless to the thresholds), check the box titled `Show Always`
-		* In case one of the fields (`Warning`/`Critical`) is a text, there will be equality check with the values.
- 		* In case both fields are numbers there will be range check with the values. The plugin automatically detects if higher values are good, or lower values are good by checking which threshold is higher/lower. i.e. if in your metric higher values are better, put a lower value in the `critical` threshold than the `warning` threshold.
-	2. For disable display, select the `Disable Criteria` option type under `Handler Type`. Enter the `Disable Value` for each of your queries.
-	3. For display the text without any condition, select the `Text Only` option type under `Handler Type`. The alias + the value of the metric will be shown on the panel by the `Display Type` value.
-4. If the query returns multiple values, choose the type of aggregation you want to be used (`None` will just use the most first result)
-
-## Other Features
-
-### Remove Prefix
-The plugins has a 'Remove Prefix' field in the configuration. This field is is meant for easier renaming of the panels when you repeat them from a Grafana template.
-
-i.e. you recognize your servers by domain, and they are all name in the following way `www.general-prefix.server.com`, and you would like to remove the prefix from the display, then you enter `www.general-prefix.` and all the panels will only display the `server.com` part.
-
-### Display Value by Regex
-When you want to display just part of the value for a specific metric in the screen, you can pass a regex in the `Value Regex` field, and if there is match, Only the first match will be displayed. Otherwise, the original value will be displayed.
-
-### Measurement URL
-Lets say that you want your user to be able to get instructions on what to do when a certain metric is at Warning or Critical levels. Just put a link in this field and the name will become clickable, and send your user to any URL you desire (like an internal wiki).
-
-### Show disable for no data
-If there is not data from any of the metrics, you can show the panel as disabled (in Grey), by checking the value `Make panel gray when no data` on the top of the options tab
-## Supported Data Sources
-Currently the plugin was tested with **influxDB** and **Graphite**. Support for other data sources could be added by demand
-
-## Release Notes
-### Version 1.0.3
-* Version (1.0.3) can have some conflicts with older versions.
-
-# Screenshots
-### Panel States
-![ok](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/ok.png?raw=true)
-![warning](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/warning.png?raw=true)
-![error](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/error.png?raw=true)
-
-### The end result should look like this
-![Result](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/environment_snapshot.png?raw=true)
-
-# License
-
-See the [LICENSE](https://github.com/Vonage/Grafana_Status_panel/blob/master/LICENSE.txt) file for license rights and limitations (Apache License, Version 2.0)
+# Grafana Status Panel
+
+This is a plugin meant to be used as a centralized view for the status of component in a glance.
+It is very similar to the Single Stat panel, but it can hold multiple values from the same data source.
+Each value can be used to customize the panel in different ways: 
+* Mark the severity of the component
+* Mark if the component is disabled
+* Show extra data in the panel about the component  
+
+## The General Idea
+Lets say that you want to monitor a bunch of servers, and you want to keep track of multiple stats for each of them, and see in a glance the status of all of them.
+
+This plugin will make it easier to do. You just add all the metrics you want to track, and choose how you want their values to be treated:
+1. Component severity marker - Set the threshold for each and you get an overview that will report to you if there is anything wrong with any metrics. That means that if all the metrics are in the OK zone, the panel will be green. If evan one of the metrics is in the WARNING zone, it will be yellow, and red if any of them is CRITICAL.
+2. Component disable marker - Set the exact value that represent if the component is disabled, the panel will be grey.
+3. Display as text - show extra information about the component in the panel
+
+Severity and text values can be shown in 2 modes:
+1. Regular - under the panel title
+2. Annotation - In the top left side of the panel
+
+**Note:** The disable markers are prioritized over the severity ones. 
+
+You can also repeat the panel on a template if you have multiple instances that you want to watch.
+
+## How to install (for debugging purposes only)
+1. Copy the contents of "Grafana_Status_panel" to the "/var/lib/grafana/plugins" folder
+2. Restart grafana by using "service grafana-server restart"
+3. Now this panel should be installed.
+
+## How to use
+1. Add the queries you want to the panel and give each of them a unique alias
+2. Choose the name of the panel to be displayed in the `Panel Title` field.
+  **Note:** this field supports Grafana templates, so if you repeat the panel the correct name will show
+3. Go the the Options tab, and choose the how to treat each metric. 
+	1. For severity display, select the `Threshold` option type under `Handler Type`. Enter the `Warning` and `Critical` thresholds for each of your queries.
+		* If you want the result to always be displayed with it's value (regardless to the thresholds), check the box titled `Show Always`
+		* In case one of the fields (`Warning`/`Critical`) is a text, there will be equality check with the values.
+ 		* In case both fields are numbers there will be range check with the values. The plugin automatically detects if higher values are good, or lower values are good by checking which threshold is higher/lower. i.e. if in your metric higher values are better, put a lower value in the `critical` threshold than the `warning` threshold.
+	2. For disable display, select the `Disable Criteria` option type under `Handler Type`. Enter the `Disable Value` for each of your queries.
+	3. For display the text without any condition, select the `Text Only` option type under `Handler Type`. The alias + the value of the metric will be shown on the panel by the `Display Type` value.
+4. If the query returns multiple values, choose the type of aggregation you want to be used (`None` will just use the most first result)
+
+## Other Features
+
+### Remove Prefix
+The plugins has a 'Remove Prefix' field in the configuration. This field is is meant for easier renaming of the panels when you repeat them from a Grafana template.
+
+i.e. you recognize your servers by domain, and they are all name in the following way `www.general-prefix.server.com`, and you would like to remove the prefix from the display, then you enter `www.general-prefix.` and all the panels will only display the `server.com` part.
+
+### Display Value by Regex
+When you want to display just part of the value for a specific metric in the screen, you can pass a regex in the `Value Regex` field, and if there is match, Only the first match will be displayed. Otherwise, the original value will be displayed.
+
+### Measurement URL
+Lets say that you want your user to be able to get instructions on what to do when a certain metric is at Warning or Critical levels. Just put a link in this field and the name will become clickable, and send your user to any URL you desire (like an internal wiki).
+
+### Show disable for no data
+If there is not data from any of the metrics, you can show the panel as disabled (in Grey), by checking the value `Make panel gray when no data` on the top of the options tab
+## Supported Data Sources
+Currently the plugin was tested with **influxDB** and **Graphite**. Support for other data sources could be added by demand
+
+## Release Notes
+### Version 1.0.3
+* Version (1.0.3) can have some conflicts with older versions.
+
+# Screenshots
+### Panel States
+![ok](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/ok.png?raw=true)
+![warning](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/warning.png?raw=true)
+![error](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/error.png?raw=true)
+
+### The end result should look like this
+![Result](https://github.com/Vonage/Grafana_Status_panel/blob/develop/src/img/environment_snapshot.png?raw=true)
+
+# License
+
+See the [LICENSE](https://github.com/Vonage/Grafana_Status_panel/blob/master/LICENSE.txt) file for license rights and limitations (Apache License, Version 2.0)
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css
index d3e38889beadd1bdbb4f3536cba9271343d5a2d3..be962211461bc59856e9aff48e9a2eb0dc27f246 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css
@@ -1,81 +1,81 @@
-.status-panel {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  text-align: center; }
-  .status-panel h1 {
-    font-size: 1.5rem; }
-  .status-panel .st-card-front {
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-content: center; }
-  .status-panel .st-card-back .top_section .status-panel-annotation_row {
-    text-align: left;
-    font-size: 0.85rem;
-    padding-bottom: 10px; }
-    .status-panel .st-card-back .top_section .status-panel-annotation_row .row-overflow {
-      max-width: 150px;
-      overflow: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap; }
-  .status-panel .st-card-back .bottom_section {
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-content: center; }
-    .status-panel .st-card-back .bottom_section .status_alerts_row {
-      min-height: 1px; }
-  .status-panel .st-card-front,
-  .status-panel .st-card-back {
-    backface-visibility: hidden;
-    transition: transform 0.5s; }
-
-.st-card-front .ok-text, .st-card-front .warning-text, .st-card-front .fail-text, .st-card-front .no-data-text, .st-card-front .disabled-text {
-  display: none;
-  font-size: 2.0rem; }
-
-.ok-state {
-  background-color: green; }
-  .ok-state .ok-text {
-    display: block; }
-
-.warn-state {
-  background-color: orange; }
-  .warn-state .warning-text {
-    display: block; }
-
-.error-state {
-  background-color: red; }
-  .error-state .fail-text {
-    display: block; }
-
-.no-data-state {
-  background-color: gray; }
-  .no-data-state .no-data-text {
-    display: block; }
-
-.disabled-state {
-  background-color: gray; }
-  .disabled-state .disabled-text {
-    display: block; }
-
-.st-card.effect-hover .st-card-back {
-  -webkit-transform: rotateY(-180deg);
-  transform: rotateY(-180deg); }
-
-.st-card.effect-hover:hover .st-card-front, .st-card.effect-hover.flipped .st-card-front {
-  -webkit-transform: rotateY(-180deg);
-  transform: rotateY(-180deg); }
-
-.st-card.effect-hover:hover .st-card-back, .st-card.effect-hover.flipped .st-card-back {
-  -webkit-transform: rotateY(0);
-  transform: rotateY(0); }
-
-.st-card:not(.effect-hover) .st-card-front {
-  display: none; }
-
-/*# sourceMappingURL=status_panel.css.map */
+.status-panel {
+  position: relative;
+  width: 100%;
+  height: 100%;
+  text-align: center; }
+  .status-panel h1 {
+    font-size: 1.5rem; }
+  .status-panel .st-card-front {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-content: center; }
+  .status-panel .st-card-back .top_section .status-panel-annotation_row {
+    text-align: left;
+    font-size: 0.85rem;
+    padding-bottom: 10px; }
+    .status-panel .st-card-back .top_section .status-panel-annotation_row .row-overflow {
+      max-width: 150px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap; }
+  .status-panel .st-card-back .bottom_section {
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-content: center; }
+    .status-panel .st-card-back .bottom_section .status_alerts_row {
+      min-height: 1px; }
+  .status-panel .st-card-front,
+  .status-panel .st-card-back {
+    backface-visibility: hidden;
+    transition: transform 0.5s; }
+
+.st-card-front .ok-text, .st-card-front .warning-text, .st-card-front .fail-text, .st-card-front .no-data-text, .st-card-front .disabled-text {
+  display: none;
+  font-size: 2.0rem; }
+
+.ok-state {
+  background-color: green; }
+  .ok-state .ok-text {
+    display: block; }
+
+.warn-state {
+  background-color: orange; }
+  .warn-state .warning-text {
+    display: block; }
+
+.error-state {
+  background-color: red; }
+  .error-state .fail-text {
+    display: block; }
+
+.no-data-state {
+  background-color: gray; }
+  .no-data-state .no-data-text {
+    display: block; }
+
+.disabled-state {
+  background-color: gray; }
+  .disabled-state .disabled-text {
+    display: block; }
+
+.st-card.effect-hover .st-card-back {
+  -webkit-transform: rotateY(-180deg);
+  transform: rotateY(-180deg); }
+
+.st-card.effect-hover:hover .st-card-front, .st-card.effect-hover.flipped .st-card-front {
+  -webkit-transform: rotateY(-180deg);
+  transform: rotateY(-180deg); }
+
+.st-card.effect-hover:hover .st-card-back, .st-card.effect-hover.flipped .st-card-back {
+  -webkit-transform: rotateY(0);
+  transform: rotateY(0); }
+
+.st-card:not(.effect-hover) .st-card-front {
+  display: none; }
+
+/*# sourceMappingURL=status_panel.css.map */
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css.map b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css.map
index e925e400543159e0dcadb321478743d580f208a0..de6d5af2d32f3252af3660ff5c8e13e17328a26f 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css.map
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/css/status_panel.css.map
@@ -1,7 +1,7 @@
-{
-"version": 3,
-"mappings": "AAAA,aAAc;EACb,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAElB,gBAAG;IACF,SAAS,EAAE,MAAM;EAGlB,4BAAe;IACd,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IAEZ,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;EAKpB,qEAA6B;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,IAAI;IAEpB,mFAAc;MACb,SAAS,EAAE,KAAK;MAChB,QAAQ,EAAE,MAAM;MAChB,aAAa,EAAE,QAAQ;MACvB,WAAW,EAAE,MAAM;EAKtB,2CAAgB;IACf,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;IAKrB,8DAAmB;MAClB,UAAU,EAAE,GAAG;EAKlB;6BACc;IACZ,mBAAmB,EAAE,MAAM;IAC3B,UAAU,EAAE,cAAc;;AAK5B,6IAAmE;EAClE,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,MAAM;;AAInB,SAAU;EACT,gBAAgB,EAAE,KAAK;EAEvB,kBAAS;IACR,OAAO,EAAE,KAAK;;AAIhB,WAAY;EACX,gBAAgB,EAAE,MAAM;EACxB,yBAAc;IACb,OAAO,EAAE,KAAK;;AAIhB,YAAa;EACZ,gBAAgB,EAAE,GAAG;EACrB,uBAAW;IACV,OAAO,EAAE,KAAK;;AAIhB,cAAe;EACd,gBAAgB,EAAE,IAAI;EAEtB,4BAAc;IACb,OAAO,EAAE,KAAK;;AAIhB,eAAgB;EACf,gBAAgB,EAAE,IAAI;EACtB,8BAAe;IACd,OAAO,EAAE,KAAK;;AAIhB,mCAAoC;EACnC,iBAAiB,EAAE,gBAAgB;EACnC,SAAS,EAAE,gBAAgB;;AAG5B,wFAAyF;EACxF,iBAAiB,EAAE,gBAAgB;EACnC,SAAS,EAAE,gBAAgB;;AAG5B,sFAAuF;EACtF,iBAAiB,EAAE,UAAU;EAC7B,SAAS,EAAE,UAAU;;AAGtB,0CAA2C;EAC1C,OAAO,EAAE,IAAI",
-"sources": ["../../src/css/status_panel.scss"],
-"names": [],
-"file": "status_panel.css"
-}
+{
+"version": 3,
+"mappings": "AAAA,aAAc;EACb,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,MAAM;EAElB,gBAAG;IACF,SAAS,EAAE,MAAM;EAGlB,4BAAe;IACd,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IAEZ,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;EAKpB,qEAA6B;IAC5B,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,IAAI;IAEpB,mFAAc;MACb,SAAS,EAAE,KAAK;MAChB,QAAQ,EAAE,MAAM;MAChB,aAAa,EAAE,QAAQ;MACvB,WAAW,EAAE,MAAM;EAKtB,2CAAgB;IACf,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;IAKrB,8DAAmB;MAClB,UAAU,EAAE,GAAG;EAKlB;6BACc;IACZ,mBAAmB,EAAE,MAAM;IAC3B,UAAU,EAAE,cAAc;;AAK5B,6IAAmE;EAClE,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,MAAM;;AAInB,SAAU;EACT,gBAAgB,EAAE,KAAK;EAEvB,kBAAS;IACR,OAAO,EAAE,KAAK;;AAIhB,WAAY;EACX,gBAAgB,EAAE,MAAM;EACxB,yBAAc;IACb,OAAO,EAAE,KAAK;;AAIhB,YAAa;EACZ,gBAAgB,EAAE,GAAG;EACrB,uBAAW;IACV,OAAO,EAAE,KAAK;;AAIhB,cAAe;EACd,gBAAgB,EAAE,IAAI;EAEtB,4BAAc;IACb,OAAO,EAAE,KAAK;;AAIhB,eAAgB;EACf,gBAAgB,EAAE,IAAI;EACtB,8BAAe;IACd,OAAO,EAAE,KAAK;;AAIhB,mCAAoC;EACnC,iBAAiB,EAAE,gBAAgB;EACnC,SAAS,EAAE,gBAAgB;;AAG5B,wFAAyF;EACxF,iBAAiB,EAAE,gBAAgB;EACnC,SAAS,EAAE,gBAAgB;;AAG5B,sFAAuF;EACtF,iBAAiB,EAAE,UAAU;EAC7B,SAAS,EAAE,UAAU;;AAGtB,0CAA2C;EAC1C,OAAO,EAAE,IAAI",
+"sources": ["../../src/css/status_panel.scss"],
+"names": [],
+"file": "status_panel.css"
+}
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/editor.html b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/editor.html
index dfb54a471cc7ed0dd9f69c0de8370224d11fd77a..f4907f38101e00939c07663e77b85ae40e6e0271 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/editor.html
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/editor.html
@@ -1,205 +1,205 @@
-<div>
-	<strong>Note:</strong> Every metric has to have a unique <strong>Alias</strong> to be used
-</div>
-
-<div ng-show="ctrl.duplicates">
-	<strong>Error</strong>: There are multiple metrics with the same alias. Please give each metric a unique name.
-</div>
-
-<div class="editor-row">
-	<div class="section gf-form-group">
-		<h5 class="section-heading">{{ measurement.alias }}</h5>
-		<div class="gf-form">
-			<span class="gf-form-label width-12">Panel Title</span>
-			<input type="text" ng-model="ctrl.panel.clusterName" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<div class="gf-form">
-		  <span class="gf-form-label width-12">
-			Remove Prefix
-			<info-popover mode="right-normal">
-			  A prefix to remove from the name (helps when repeating panel over a template)
-			</info-popover>
-		  </span>
-			<input type="text" ng-model="ctrl.panel.namePrefix" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<gf-form-switch class="gf-form"
-						label-class="width-12"
-						label="Flip card" checked="ctrl.panel.flipCard"
-						on-change="ctrl.onRender()"></gf-form-switch>
-		<div class="gf-form">
-			<span class="gf-form-label width-12">Flip interval</span>
-			<input type="text" ng-model="ctrl.panel.flipTime" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<gf-form-switch class="gf-form"
-						label-class="width-12"
-						label="Make panel gray when no data" checked="ctrl.panel.isGrayOnNoData"
-						on-change="ctrl.onRender()"></gf-form-switch>
-	</div>
-</div>
-
-<div>
-	<div class="editor-row" ng-repeat="measurement in ctrl.measurements">
-
-		<!--Metrics options header-->
-		<h5 class="section-heading" ng-if="measurement.alias">{{ measurement.alias }}</h5>
-		<div ng-if="!measurement.alias">
-			<h5 class="section-heading">Metric: {{ measurement.refId }}</h5>
-			<div>Please enter an alias for this measurement bellow</div>
-		</div>
-
-		<!--Display Settings-->
-		<div class="section gf-form-group">
-			<h5 class="section-heading">Display Settings</h5>
-
-			<!--Alias-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Alias
-				</span>
-				<input type="text" name="alias" ng-model="measurement.alias" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-			</div>
-
-			<!--Aggregation-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Aggregation
-				  <info-popover mode="right-normal">
-					What to do if the query returns multiple data points.
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.aggregation = (measurement.aggregation ? measurement.aggregation : ctrl.aggregations[0])"
-							ng-model="measurement.aggregation"
-							ng-options="t for t in ctrl.aggregations"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-
-			<!--Metric Display Regex-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Value Regex
-				  <info-popover mode="right-normal">
-					  A regex which will decide the part of the value to be displayed. <br/>
-					  In case the regex is empty or it doesn't match any part of the metrics value, all the metric value will be displayed.
-				  </info-popover>
-				</span>
-				<input type="text" name="valueDisplayRegex" ng-model="measurement.valueDisplayRegex" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" />
-				<div ng-if="!ctrl.validateRegex(measurement.valueDisplayRegex)" style="color: red; padding-left: 5px">
-					Invalid Regex
-				</div>
-			</div>
-
-			<!--Metric URL-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Metric URL
-				  <info-popover mode="right-normal">
-					Make the name of the metric clickable, and send the user to a link (with explanations what to do when this error occurs)
-				  </info-popover>
-				</span>
-				<input type="text" name="url" ng-model="measurement.url" class="gf-form-input" style="width: 300px" ng-change="ctrl.onRender()" />
-			</div>
-		</div>
-
-		<div class="section gf-form-group">
-			<h5 class="section-heading">Metric display type</h5>
-
-			<!--Metric Handler Type-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-					Handler Type
-				  <info-popover mode="right-normal">
-					The type of data to show to the panel<br/>
-					<strong>Note:</strong> 'Threshold' will select the first value. <br/> <br/>
-					<strong>Threshold</strong> - Change background color of the panel if got warning / error + show the alias of the problematic metrics. <br/>
-					<strong>Disable Criteria</strong> - Change background color of the panel to grey if disabled. <br/>
-					<strong>Text Only</strong> - Show the alias + the value on the panel without any condition.
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.valueHandler = (measurement.valueHandler ? measurement.valueHandler : ctrl.valueHandlers[0])"
-							ng-model="measurement.valueHandler"
-							ng-options="t for t in ctrl.valueHandlers"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-
-			<!--Display Type-->
-			<div class="gf-form" ng-if="measurement.valueHandler != 'Disable Criteria'">
-				<span class="gf-form-label width-12">
-				  Display Type
-				  <info-popover mode="right-normal">
-					The location the value will be displayed<br/>
-					<strong>Regular</strong> - The alias + the value will be display in the center, under the panel title<br/>
-					<strong>Annotation</strong> - The alias + the value will be displayed on top left. If the value answers a threshold condition, it will displayed as regular state<br/>
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.displayType = (measurement.displayType ? measurement.displayType : ctrl.displayTypes[0])"
-							ng-model="measurement.displayType"
-							ng-options="t for t in ctrl.displayTypes"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-		</div>
-
-		<div class="section gf-form-group">
-			<!--Threshold Section-->
-			<div ng-if="measurement.valueHandler == 'Threshold'">
-				<h5 class="section-heading">Threshold
-					<info-popover mode="normal">
-						The Warning and Critical fields get numbers or strings. <br/>
-						In case both of them are numbers, the thresholds will be used as ranges, and metric value will be checked if it is in the warning/critical ranges.<br/>
-						In case one of them is string, the thresholds will check equality to the value.
-					</info-popover>
-				</h5>
-
-				<!--Warning threshold-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Warning
-					</span>
-					<input type="text" name="warn" ng-model="measurement.warn" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-
-				<!--Critical threshold-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Critical
-					</span>
-					<input type="text" name="crit" ng-model="measurement.crit" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-
-				<!--Show value for threshold-->
-				<gf-form-switch class="gf-form"
-								label-class="width-12"
-								tooltip="Show the metric also if threshold is not satisfied"
-								label="Show Always" checked="measurement.display"
-								on-change="ctrl.render()"></gf-form-switch>
-			</div>
-
-			<!--Disable Section-->
-			<div ng-if="measurement.valueHandler == 'Disable Criteria'">
-				<h5 class="section-heading">Disable Criteria</h5>
-
-				<!--Disable Criteria-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Disable Value
-					   <info-popover mode="right-normal">
-					  The exact value which will make this panel to be displayed as disabled <br />
-					</info-popover>
-					</span>
-					<input type="text" name="disabledValue" ng-model="measurement.disabledValue" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-			</div>
-		</div>
-	</div>
-</div>
+<div>
+	<strong>Note:</strong> Every metric has to have a unique <strong>Alias</strong> to be used
+</div>
+
+<div ng-show="ctrl.duplicates">
+	<strong>Error</strong>: There are multiple metrics with the same alias. Please give each metric a unique name.
+</div>
+
+<div class="editor-row">
+	<div class="section gf-form-group">
+		<h5 class="section-heading">{{ measurement.alias }}</h5>
+		<div class="gf-form">
+			<span class="gf-form-label width-12">Panel Title</span>
+			<input type="text" ng-model="ctrl.panel.clusterName" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<div class="gf-form">
+		  <span class="gf-form-label width-12">
+			Remove Prefix
+			<info-popover mode="right-normal">
+			  A prefix to remove from the name (helps when repeating panel over a template)
+			</info-popover>
+		  </span>
+			<input type="text" ng-model="ctrl.panel.namePrefix" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<gf-form-switch class="gf-form"
+						label-class="width-12"
+						label="Flip card" checked="ctrl.panel.flipCard"
+						on-change="ctrl.onRender()"></gf-form-switch>
+		<div class="gf-form">
+			<span class="gf-form-label width-12">Flip interval</span>
+			<input type="text" ng-model="ctrl.panel.flipTime" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<gf-form-switch class="gf-form"
+						label-class="width-12"
+						label="Make panel gray when no data" checked="ctrl.panel.isGrayOnNoData"
+						on-change="ctrl.onRender()"></gf-form-switch>
+	</div>
+</div>
+
+<div>
+	<div class="editor-row" ng-repeat="measurement in ctrl.measurements">
+
+		<!--Metrics options header-->
+		<h5 class="section-heading" ng-if="measurement.alias">{{ measurement.alias }}</h5>
+		<div ng-if="!measurement.alias">
+			<h5 class="section-heading">Metric: {{ measurement.refId }}</h5>
+			<div>Please enter an alias for this measurement bellow</div>
+		</div>
+
+		<!--Display Settings-->
+		<div class="section gf-form-group">
+			<h5 class="section-heading">Display Settings</h5>
+
+			<!--Alias-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Alias
+				</span>
+				<input type="text" name="alias" ng-model="measurement.alias" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+			</div>
+
+			<!--Aggregation-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Aggregation
+				  <info-popover mode="right-normal">
+					What to do if the query returns multiple data points.
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.aggregation = (measurement.aggregation ? measurement.aggregation : ctrl.aggregations[0])"
+							ng-model="measurement.aggregation"
+							ng-options="t for t in ctrl.aggregations"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+
+			<!--Metric Display Regex-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Value Regex
+				  <info-popover mode="right-normal">
+					  A regex which will decide the part of the value to be displayed. <br/>
+					  In case the regex is empty or it doesn't match any part of the metrics value, all the metric value will be displayed.
+				  </info-popover>
+				</span>
+				<input type="text" name="valueDisplayRegex" ng-model="measurement.valueDisplayRegex" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" />
+				<div ng-if="!ctrl.validateRegex(measurement.valueDisplayRegex)" style="color: red; padding-left: 5px">
+					Invalid Regex
+				</div>
+			</div>
+
+			<!--Metric URL-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Metric URL
+				  <info-popover mode="right-normal">
+					Make the name of the metric clickable, and send the user to a link (with explanations what to do when this error occurs)
+				  </info-popover>
+				</span>
+				<input type="text" name="url" ng-model="measurement.url" class="gf-form-input" style="width: 300px" ng-change="ctrl.onRender()" />
+			</div>
+		</div>
+
+		<div class="section gf-form-group">
+			<h5 class="section-heading">Metric display type</h5>
+
+			<!--Metric Handler Type-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+					Handler Type
+				  <info-popover mode="right-normal">
+					The type of data to show to the panel<br/>
+					<strong>Note:</strong> 'Threshold' will select the first value. <br/> <br/>
+					<strong>Threshold</strong> - Change background color of the panel if got warning / error + show the alias of the problematic metrics. <br/>
+					<strong>Disable Criteria</strong> - Change background color of the panel to grey if disabled. <br/>
+					<strong>Text Only</strong> - Show the alias + the value on the panel without any condition.
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.valueHandler = (measurement.valueHandler ? measurement.valueHandler : ctrl.valueHandlers[0])"
+							ng-model="measurement.valueHandler"
+							ng-options="t for t in ctrl.valueHandlers"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+
+			<!--Display Type-->
+			<div class="gf-form" ng-if="measurement.valueHandler != 'Disable Criteria'">
+				<span class="gf-form-label width-12">
+				  Display Type
+				  <info-popover mode="right-normal">
+					The location the value will be displayed<br/>
+					<strong>Regular</strong> - The alias + the value will be display in the center, under the panel title<br/>
+					<strong>Annotation</strong> - The alias + the value will be displayed on top left. If the value answers a threshold condition, it will displayed as regular state<br/>
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.displayType = (measurement.displayType ? measurement.displayType : ctrl.displayTypes[0])"
+							ng-model="measurement.displayType"
+							ng-options="t for t in ctrl.displayTypes"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+		</div>
+
+		<div class="section gf-form-group">
+			<!--Threshold Section-->
+			<div ng-if="measurement.valueHandler == 'Threshold'">
+				<h5 class="section-heading">Threshold
+					<info-popover mode="normal">
+						The Warning and Critical fields get numbers or strings. <br/>
+						In case both of them are numbers, the thresholds will be used as ranges, and metric value will be checked if it is in the warning/critical ranges.<br/>
+						In case one of them is string, the thresholds will check equality to the value.
+					</info-popover>
+				</h5>
+
+				<!--Warning threshold-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Warning
+					</span>
+					<input type="text" name="warn" ng-model="measurement.warn" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+
+				<!--Critical threshold-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Critical
+					</span>
+					<input type="text" name="crit" ng-model="measurement.crit" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+
+				<!--Show value for threshold-->
+				<gf-form-switch class="gf-form"
+								label-class="width-12"
+								tooltip="Show the metric also if threshold is not satisfied"
+								label="Show Always" checked="measurement.display"
+								on-change="ctrl.render()"></gf-form-switch>
+			</div>
+
+			<!--Disable Section-->
+			<div ng-if="measurement.valueHandler == 'Disable Criteria'">
+				<h5 class="section-heading">Disable Criteria</h5>
+
+				<!--Disable Criteria-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Disable Value
+					   <info-popover mode="right-normal">
+					  The exact value which will make this panel to be displayed as disabled <br />
+					</info-popover>
+					</span>
+					<input type="text" name="disabledValue" ng-model="measurement.disabledValue" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/img/icon_status_panel.svg b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/img/icon_status_panel.svg
index 36bf7396dc20cf045fe9830d257e45359a3de6a1..d7b8d42365da75273e5a7f39ebb7bda21807d4ae 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/img/icon_status_panel.svg
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/img/icon_status_panel.svg
@@ -1,410 +1,410 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="100px" height="100px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
-<style type="text/css">
-	.st0{fill:#1F1F1F;}
-	.st1{fill:none;}
-	.st2{opacity:0.5;fill:#4D4D4D;}
-	.st3{fill:#898989;}
-	.st4{fill:url(#SVGID_1_);}
-	.st5{fill:url(#SVGID_2_);}
-	.st6{fill:url(#SVGID_3_);}
-	.st7{fill:url(#SVGID_4_);}
-	.st8{fill:url(#SVGID_5_);}
-	.st9{fill:url(#SVGID_6_);}
-	.st10{fill:url(#SVGID_7_);}
-	.st11{fill:url(#SVGID_8_);}
-	.st12{fill:url(#SVGID_9_);}
-	.st13{fill:url(#SVGID_10_);}
-	.st14{fill:url(#SVGID_11_);}
-	.st15{fill:url(#SVGID_12_);}
-	.st16{fill:url(#SVGID_13_);}
-	.st17{fill:url(#SVGID_14_);}
-	.st18{fill:url(#SVGID_15_);}
-	.st19{fill:url(#SVGID_16_);}
-</style>
-<g>
-	<rect class="st0" width="100" height="100"/>
-	<polygon class="st1" points="27.5,5.1 27.3,5.1 5,27.4 5,27.7 5,28 27.9,5.1 	"/>
-	<polygon class="st1" points="75.5,5.1 75.3,5.1 5,75.4 5,75.7 5,76 75.9,5.1 	"/>
-	<polygon class="st1" points="87.5,5.1 87.3,5.1 5,87.4 5,87.7 5,88 87.9,5.1 	"/>
-	<polygon class="st1" points="95,5.7 95,5.4 5.3,95.1 5.5,95.1 5.9,95.1 95,6 	"/>
-	<polygon class="st1" points="93.5,5.1 93.3,5.1 5,93.4 5,93.7 5,94 93.9,5.1 	"/>
-	<polygon class="st1" points="5.5,5.1 5.3,5.1 5,5.4 5,5.7 5,6 5.9,5.1 	"/>
-	<polygon class="st1" points="91.5,5.1 91.3,5.1 5,91.4 5,91.7 5,92 91.9,5.1 	"/>
-	<polygon class="st1" points="79.5,5.1 79.3,5.1 5,79.4 5,79.7 5,80 79.9,5.1 	"/>
-	<polygon class="st1" points="85.5,5.1 85.3,5.1 5,85.4 5,85.7 5,86 85.9,5.1 	"/>
-	<polygon class="st1" points="77.5,5.1 77.3,5.1 5,77.4 5,77.7 5,78 77.9,5.1 	"/>
-	<polygon class="st1" points="9.5,5.1 9.3,5.1 5,9.4 5,9.7 5,10 9.9,5.1 	"/>
-	<polygon class="st1" points="83.5,5.1 83.3,5.1 5,83.4 5,83.7 5,84 83.9,5.1 	"/>
-	<polygon class="st1" points="81.5,5.1 81.3,5.1 5,81.4 5,81.7 5,82 81.9,5.1 	"/>
-	<polygon class="st1" points="7.5,5.1 7.3,5.1 5,7.4 5,7.7 5,8 7.9,5.1 	"/>
-	<polygon class="st1" points="95,7.7 95,7.4 7.3,95.1 7.5,95.1 7.9,95.1 95,8 	"/>
-	<polygon class="st1" points="95,29.7 95,29.4 29.3,95.1 29.5,95.1 29.9,95.1 95,30 	"/>
-	<polygon class="st1" points="95,27.7 95,27.4 27.3,95.1 27.5,95.1 27.9,95.1 95,28 	"/>
-	<polygon class="st1" points="95,23.7 95,23.4 23.3,95.1 23.5,95.1 23.9,95.1 95,24 	"/>
-	<polygon class="st1" points="95,25.7 95,25.4 25.3,95.1 25.5,95.1 25.9,95.1 95,26 	"/>
-	<polygon class="st1" points="95,31.7 95,31.4 31.3,95.1 31.5,95.1 31.9,95.1 95,32 	"/>
-	<polygon class="st1" points="95,35.7 95,35.4 35.3,95.1 35.5,95.1 35.9,95.1 95,36 	"/>
-	<polygon class="st1" points="95,33.7 95,33.4 33.3,95.1 33.5,95.1 33.9,95.1 95,34 	"/>
-	<polygon class="st1" points="95,19.7 95,19.4 19.3,95.1 19.5,95.1 19.9,95.1 95,20 	"/>
-	<polygon class="st1" points="95,15.7 95,15.4 15.3,95.1 15.5,95.1 15.9,95.1 95,16 	"/>
-	<polygon class="st1" points="95,13.7 95,13.4 13.3,95.1 13.5,95.1 13.9,95.1 95,14 	"/>
-	<polygon class="st1" points="95,11.7 95,11.4 11.3,95.1 11.5,95.1 11.9,95.1 95,12 	"/>
-	<polygon class="st1" points="95,9.7 95,9.4 9.3,95.1 9.5,95.1 9.9,95.1 95,10 	"/>
-	<polygon class="st1" points="95,21.7 95,21.4 21.3,95.1 21.5,95.1 21.9,95.1 95,22 	"/>
-	<polygon class="st1" points="95,17.7 95,17.4 17.3,95.1 17.5,95.1 17.9,95.1 95,18 	"/>
-	<polygon class="st1" points="15.5,5.1 15.3,5.1 5,15.4 5,15.7 5,16 15.9,5.1 	"/>
-	<polygon class="st1" points="39.5,5.1 39.3,5.1 5,39.4 5,39.7 5,40 39.9,5.1 	"/>
-	<polygon class="st1" points="19.5,5.1 19.3,5.1 5,19.4 5,19.7 5,20 19.9,5.1 	"/>
-	<polygon class="st1" points="41.5,5.1 41.3,5.1 5,41.4 5,41.7 5,42 41.9,5.1 	"/>
-	<polygon class="st1" points="43.5,5.1 43.3,5.1 5,43.4 5,43.7 5,44 43.9,5.1 	"/>
-	<polygon class="st1" points="17.5,5.1 17.3,5.1 5,17.4 5,17.7 5,18 17.9,5.1 	"/>
-	<polygon class="st1" points="45.5,5.1 45.3,5.1 5,45.4 5,45.7 5,46 45.9,5.1 	"/>
-	<polygon class="st1" points="95,37.7 95,37.4 37.3,95.1 37.5,95.1 37.9,95.1 95,38 	"/>
-	<polygon class="st1" points="37.5,5.1 37.3,5.1 5,37.4 5,37.7 5,38 37.9,5.1 	"/>
-	<polygon class="st1" points="25.5,5.1 25.3,5.1 5,25.4 5,25.7 5,26 25.9,5.1 	"/>
-	<polygon class="st1" points="29.5,5.1 29.3,5.1 5,29.4 5,29.7 5,30 29.9,5.1 	"/>
-	<polygon class="st1" points="31.5,5.1 31.3,5.1 5,31.4 5,31.7 5,32 31.9,5.1 	"/>
-	<polygon class="st1" points="33.5,5.1 33.3,5.1 5,33.4 5,33.7 5,34 33.9,5.1 	"/>
-	<polygon class="st1" points="21.5,5.1 21.3,5.1 5,21.4 5,21.7 5,22 21.9,5.1 	"/>
-	<polygon class="st1" points="35.5,5.1 35.3,5.1 5,35.4 5,35.7 5,36 35.9,5.1 	"/>
-	<polygon class="st1" points="23.5,5.1 23.3,5.1 5,23.4 5,23.7 5,24 23.9,5.1 	"/>
-	<polygon class="st1" points="73.5,5.1 73.3,5.1 5,73.4 5,73.7 5,74 73.9,5.1 	"/>
-	<polygon class="st1" points="67.5,5.1 67.3,5.1 5,67.4 5,67.7 5,68 67.9,5.1 	"/>
-	<polygon class="st1" points="69.5,5.1 69.3,5.1 5,69.4 5,69.7 5,70 69.9,5.1 	"/>
-	<polygon class="st1" points="63.5,5.1 63.3,5.1 5,63.4 5,63.7 5,64 63.9,5.1 	"/>
-	<polygon class="st1" points="65.5,5.1 65.3,5.1 5,65.4 5,65.7 5,66 65.9,5.1 	"/>
-	<polygon class="st1" points="11.5,5.1 11.3,5.1 5,11.4 5,11.7 5,12 11.9,5.1 	"/>
-	<polygon class="st1" points="13.5,5.1 13.3,5.1 5,13.4 5,13.7 5,14 13.9,5.1 	"/>
-	<polygon class="st1" points="71.5,5.1 71.3,5.1 5,71.4 5,71.7 5,72 71.9,5.1 	"/>
-	<polygon class="st1" points="61.5,5.1 61.3,5.1 5,61.4 5,61.7 5,62 61.9,5.1 	"/>
-	<polygon class="st1" points="53.5,5.1 53.3,5.1 5,53.4 5,53.7 5,54 53.9,5.1 	"/>
-	<polygon class="st1" points="47.5,5.1 47.3,5.1 5,47.4 5,47.7 5,48 47.9,5.1 	"/>
-	<polygon class="st1" points="49.5,5.1 49.3,5.1 5,49.4 5,49.7 5,50 49.9,5.1 	"/>
-	<polygon class="st1" points="51.5,5.1 51.3,5.1 5,51.4 5,51.7 5,52 51.9,5.1 	"/>
-	<polygon class="st1" points="59.5,5.1 59.3,5.1 5,59.4 5,59.7 5,60 59.9,5.1 	"/>
-	<polygon class="st1" points="55.5,5.1 55.3,5.1 5,55.4 5,55.7 5,56 55.9,5.1 	"/>
-	<polygon class="st1" points="57.5,5.1 57.3,5.1 5,57.4 5,57.7 5,58 57.9,5.1 	"/>
-	<polygon class="st1" points="89.5,5.1 89.3,5.1 5,89.4 5,89.7 5,90 89.9,5.1 	"/>
-	<polygon class="st1" points="95,63.7 95,63.4 63.3,95.1 63.5,95.1 63.9,95.1 95,64 	"/>
-	<polygon class="st1" points="95,65.7 95,65.4 65.3,95.1 65.5,95.1 65.9,95.1 95,66 	"/>
-	<polygon class="st1" points="95,51.7 95,51.4 51.3,95.1 51.5,95.1 51.9,95.1 95,52 	"/>
-	<polygon class="st1" points="95,61.7 95,61.4 61.3,95.1 61.5,95.1 61.9,95.1 95,62 	"/>
-	<polygon class="st1" points="95,69.7 95,69.4 69.3,95.1 69.5,95.1 69.9,95.1 95,70 	"/>
-	<polygon class="st1" points="95,55.7 95,55.4 55.3,95.1 55.5,95.1 55.9,95.1 95,56 	"/>
-	<polygon class="st1" points="95,71.7 95,71.4 71.3,95.1 71.5,95.1 71.9,95.1 95,72 	"/>
-	<polygon class="st1" points="95,59.7 95,59.4 59.3,95.1 59.5,95.1 59.9,95.1 95,60 	"/>
-	<polygon class="st1" points="95,53.7 95,53.4 53.3,95.1 53.5,95.1 53.9,95.1 95,54 	"/>
-	<polygon class="st1" points="95,57.7 95,57.4 57.3,95.1 57.5,95.1 57.9,95.1 95,58 	"/>
-	<polygon class="st1" points="95,67.7 95,67.4 67.3,95.1 67.5,95.1 67.9,95.1 95,68 	"/>
-	<polygon class="st1" points="95,83.7 95,83.4 83.3,95.1 83.5,95.1 83.9,95.1 95,84 	"/>
-	<polygon class="st1" points="95,85.7 95,85.4 85.3,95.1 85.5,95.1 85.9,95.1 95,86 	"/>
-	<polygon class="st1" points="95,73.7 95,73.4 73.3,95.1 73.5,95.1 73.9,95.1 95,74 	"/>
-	<polygon class="st1" points="95,89.7 95,89.4 89.3,95.1 89.5,95.1 89.9,95.1 95,90 	"/>
-	<polygon class="st1" points="95,91.7 95,91.4 91.3,95.1 91.5,95.1 91.9,95.1 95,92 	"/>
-	<polygon class="st1" points="95,93.7 95,93.4 93.3,95.1 93.5,95.1 93.9,95.1 95,94 	"/>
-	<polygon class="st1" points="95,77.7 95,77.4 77.3,95.1 77.5,95.1 77.9,95.1 95,78 	"/>
-	<polygon class="st1" points="95,75.7 95,75.4 75.3,95.1 75.5,95.1 75.9,95.1 95,76 	"/>
-	<polygon class="st1" points="95,81.7 95,81.4 81.3,95.1 81.5,95.1 81.9,95.1 95,82 	"/>
-	<polygon class="st1" points="95,79.7 95,79.4 79.3,95.1 79.5,95.1 79.9,95.1 95,80 	"/>
-	<polygon class="st1" points="95,87.7 95,87.4 87.3,95.1 87.5,95.1 87.9,95.1 95,88 	"/>
-	<polygon class="st1" points="95,43.7 95,43.4 43.3,95.1 43.5,95.1 43.9,95.1 95,44 	"/>
-	<polygon class="st1" points="95,41.7 95,41.4 41.3,95.1 41.5,95.1 41.9,95.1 95,42 	"/>
-	<polygon class="st1" points="95,47.7 95,47.4 47.3,95.1 47.5,95.1 47.9,95.1 95,48 	"/>
-	<polygon class="st1" points="95,39.7 95,39.4 39.3,95.1 39.5,95.1 39.9,95.1 95,40 	"/>
-	<polygon class="st1" points="95,45.7 95,45.4 45.3,95.1 45.5,95.1 45.9,95.1 95,46 	"/>
-	<polygon class="st1" points="95,49.7 95,49.4 49.3,95.1 49.5,95.1 49.9,95.1 95,50 	"/>
-	<polygon class="st2" points="5,5.1 5,5.4 5.3,5.1 	"/>
-	<polygon class="st2" points="6.9,5.1 5.9,5.1 5,6 5,7.1 5,7.4 7.3,5.1 	"/>
-	<polygon class="st2" points="8.9,5.1 7.9,5.1 5,8 5,9.1 5,9.4 9.3,5.1 	"/>
-	<polygon class="st2" points="10.9,5.1 9.9,5.1 5,10 5,11.1 5,11.4 11.3,5.1 	"/>
-	<polygon class="st2" points="12.9,5.1 11.9,5.1 5,12 5,13.1 5,13.4 13.3,5.1 	"/>
-	<polygon class="st2" points="14.9,5.1 13.9,5.1 5,14 5,15.1 5,15.4 15.3,5.1 	"/>
-	<polygon class="st2" points="16.9,5.1 15.9,5.1 5,16 5,17.1 5,17.4 17.3,5.1 	"/>
-	<polygon class="st2" points="18.9,5.1 17.9,5.1 5,18 5,19.1 5,19.4 19.3,5.1 	"/>
-	<polygon class="st2" points="20.9,5.1 19.9,5.1 5,20 5,21.1 5,21.4 21.3,5.1 	"/>
-	<polygon class="st2" points="22.9,5.1 21.9,5.1 5,22 5,23.1 5,23.4 23.3,5.1 	"/>
-	<polygon class="st2" points="24.9,5.1 23.9,5.1 5,24 5,25.1 5,25.4 25.3,5.1 	"/>
-	<polygon class="st2" points="26.9,5.1 25.9,5.1 5,26 5,27.1 5,27.4 27.3,5.1 	"/>
-	<polygon class="st2" points="28.9,5.1 27.9,5.1 5,28 5,29.1 5,29.4 29.3,5.1 	"/>
-	<polygon class="st2" points="30.9,5.1 29.9,5.1 5,30 5,31.1 5,31.4 31.3,5.1 	"/>
-	<polygon class="st2" points="32.9,5.1 31.9,5.1 5,32 5,33.1 5,33.4 33.3,5.1 	"/>
-	<polygon class="st2" points="34.9,5.1 33.9,5.1 5,34 5,35.1 5,35.4 35.3,5.1 	"/>
-	<polygon class="st2" points="36.9,5.1 35.9,5.1 5,36 5,37.1 5,37.4 37.3,5.1 	"/>
-	<polygon class="st2" points="38.9,5.1 37.9,5.1 5,38 5,39.1 5,39.4 39.3,5.1 	"/>
-	<polygon class="st2" points="40.9,5.1 39.9,5.1 5,40 5,41.1 5,41.4 41.3,5.1 	"/>
-	<polygon class="st2" points="42.9,5.1 41.9,5.1 5,42 5,43.1 5,43.4 43.3,5.1 	"/>
-	<polygon class="st2" points="44.9,5.1 43.9,5.1 5,44 5,45.1 5,45.4 45.3,5.1 	"/>
-	<polygon class="st2" points="46.9,5.1 45.9,5.1 5,46 5,47.1 5,47.4 47.3,5.1 	"/>
-	<polygon class="st2" points="48.9,5.1 47.9,5.1 5,48 5,49.1 5,49.4 49.3,5.1 	"/>
-	<polygon class="st2" points="50.9,5.1 49.9,5.1 5,50 5,51.1 5,51.4 51.3,5.1 	"/>
-	<polygon class="st2" points="52.9,5.1 51.9,5.1 5,52 5,53.1 5,53.4 53.3,5.1 	"/>
-	<polygon class="st2" points="54.9,5.1 53.9,5.1 5,54 5,55.1 5,55.4 55.3,5.1 	"/>
-	<polygon class="st2" points="56.9,5.1 55.9,5.1 5,56 5,57.1 5,57.4 57.3,5.1 	"/>
-	<polygon class="st2" points="58.9,5.1 57.9,5.1 5,58 5,59.1 5,59.4 59.3,5.1 	"/>
-	<polygon class="st2" points="60.9,5.1 59.9,5.1 5,60 5,61.1 5,61.4 61.3,5.1 	"/>
-	<polygon class="st2" points="62.9,5.1 61.9,5.1 5,62 5,63.1 5,63.4 63.3,5.1 	"/>
-	<polygon class="st2" points="64.9,5.1 63.9,5.1 5,64 5,65.1 5,65.4 65.3,5.1 	"/>
-	<polygon class="st2" points="66.9,5.1 65.9,5.1 5,66 5,67.1 5,67.4 67.3,5.1 	"/>
-	<polygon class="st2" points="68.9,5.1 67.9,5.1 5,68 5,69.1 5,69.4 69.3,5.1 	"/>
-	<polygon class="st2" points="70.9,5.1 69.9,5.1 5,70 5,71.1 5,71.4 71.3,5.1 	"/>
-	<polygon class="st2" points="72.9,5.1 71.9,5.1 5,72 5,73.1 5,73.4 73.3,5.1 	"/>
-	<polygon class="st2" points="74.9,5.1 73.9,5.1 5,74 5,75.1 5,75.4 75.3,5.1 	"/>
-	<polygon class="st2" points="76.9,5.1 75.9,5.1 5,76 5,77.1 5,77.4 77.3,5.1 	"/>
-	<polygon class="st2" points="78.9,5.1 77.9,5.1 5,78 5,79.1 5,79.4 79.3,5.1 	"/>
-	<polygon class="st2" points="80.9,5.1 79.9,5.1 5,80 5,81.1 5,81.4 81.3,5.1 	"/>
-	<polygon class="st2" points="82.9,5.1 81.9,5.1 5,82 5,83.1 5,83.4 83.3,5.1 	"/>
-	<polygon class="st2" points="84.9,5.1 83.9,5.1 5,84 5,85.1 5,85.4 85.3,5.1 	"/>
-	<polygon class="st2" points="86.9,5.1 85.9,5.1 5,86 5,87.1 5,87.4 87.3,5.1 	"/>
-	<polygon class="st2" points="88.9,5.1 87.9,5.1 5,88 5,89.1 5,89.4 89.3,5.1 	"/>
-	<polygon class="st2" points="90.9,5.1 89.9,5.1 5,90 5,91.1 5,91.4 91.3,5.1 	"/>
-	<polygon class="st2" points="92.9,5.1 91.9,5.1 5,92 5,93.1 5,93.4 93.3,5.1 	"/>
-	<polygon class="st2" points="95,5.1 94.9,5.1 93.9,5.1 5,94 5,95.1 5,95.1 5.3,95.1 95,5.4 	"/>
-	<polygon class="st2" points="95,7.1 95,6 5.9,95.1 6.9,95.1 7.3,95.1 95,7.4 	"/>
-	<polygon class="st2" points="95,9.1 95,8 7.9,95.1 8.9,95.1 9.3,95.1 95,9.4 	"/>
-	<polygon class="st2" points="95,11.1 95,10 9.9,95.1 10.9,95.1 11.3,95.1 95,11.4 	"/>
-	<polygon class="st2" points="95,13.1 95,12 11.9,95.1 12.9,95.1 13.3,95.1 95,13.4 	"/>
-	<polygon class="st2" points="95,15.1 95,14 13.9,95.1 14.9,95.1 15.3,95.1 95,15.4 	"/>
-	<polygon class="st2" points="95,17.1 95,16 15.9,95.1 16.9,95.1 17.3,95.1 95,17.4 	"/>
-	<polygon class="st2" points="95,19.1 95,18 17.9,95.1 18.9,95.1 19.3,95.1 95,19.4 	"/>
-	<polygon class="st2" points="95,21.1 95,20 19.9,95.1 20.9,95.1 21.3,95.1 95,21.4 	"/>
-	<polygon class="st2" points="95,23.1 95,22 21.9,95.1 22.9,95.1 23.3,95.1 95,23.4 	"/>
-	<polygon class="st2" points="95,25.1 95,24 23.9,95.1 24.9,95.1 25.3,95.1 95,25.4 	"/>
-	<polygon class="st2" points="95,27.1 95,26 25.9,95.1 26.9,95.1 27.3,95.1 95,27.4 	"/>
-	<polygon class="st2" points="95,29.1 95,28 27.9,95.1 28.9,95.1 29.3,95.1 95,29.4 	"/>
-	<polygon class="st2" points="95,31.1 95,30 29.9,95.1 30.9,95.1 31.3,95.1 95,31.4 	"/>
-	<polygon class="st2" points="95,33.1 95,32 31.9,95.1 32.9,95.1 33.3,95.1 95,33.4 	"/>
-	<polygon class="st2" points="95,35.1 95,34 33.9,95.1 34.9,95.1 35.3,95.1 95,35.4 	"/>
-	<polygon class="st2" points="95,37.1 95,36 35.9,95.1 36.9,95.1 37.3,95.1 95,37.4 	"/>
-	<polygon class="st2" points="95,39.1 95,38 37.9,95.1 38.9,95.1 39.3,95.1 95,39.4 	"/>
-	<polygon class="st2" points="95,41.1 95,40 39.9,95.1 40.9,95.1 41.3,95.1 95,41.4 	"/>
-	<polygon class="st2" points="95,43.1 95,42 41.9,95.1 42.9,95.1 43.3,95.1 95,43.4 	"/>
-	<polygon class="st2" points="95,45.1 95,44 43.9,95.1 44.9,95.1 45.3,95.1 95,45.4 	"/>
-	<polygon class="st2" points="95,47.1 95,46 45.9,95.1 46.9,95.1 47.3,95.1 95,47.4 	"/>
-	<polygon class="st2" points="95,49.1 95,48 47.9,95.1 48.9,95.1 49.3,95.1 95,49.4 	"/>
-	<polygon class="st2" points="95,51.1 95,50 49.9,95.1 50.9,95.1 51.3,95.1 95,51.4 	"/>
-	<polygon class="st2" points="95,53.1 95,52 51.9,95.1 52.9,95.1 53.3,95.1 95,53.4 	"/>
-	<polygon class="st2" points="95,55.1 95,54 53.9,95.1 54.9,95.1 55.3,95.1 95,55.4 	"/>
-	<polygon class="st2" points="95,57.1 95,56 55.9,95.1 56.9,95.1 57.3,95.1 95,57.4 	"/>
-	<polygon class="st2" points="95,59.1 95,58 57.9,95.1 58.9,95.1 59.3,95.1 95,59.4 	"/>
-	<polygon class="st2" points="95,61.1 95,60 59.9,95.1 60.9,95.1 61.3,95.1 95,61.4 	"/>
-	<polygon class="st2" points="95,63.1 95,62 61.9,95.1 62.9,95.1 63.3,95.1 95,63.4 	"/>
-	<polygon class="st2" points="95,65.1 95,64 63.9,95.1 64.9,95.1 65.3,95.1 95,65.4 	"/>
-	<polygon class="st2" points="95,67.1 95,66 65.9,95.1 66.9,95.1 67.3,95.1 95,67.4 	"/>
-	<polygon class="st2" points="95,69.1 95,68 67.9,95.1 68.9,95.1 69.3,95.1 95,69.4 	"/>
-	<polygon class="st2" points="95,71.1 95,70 69.9,95.1 70.9,95.1 71.3,95.1 95,71.4 	"/>
-	<polygon class="st2" points="95,73.1 95,72 71.9,95.1 72.9,95.1 73.3,95.1 95,73.4 	"/>
-	<polygon class="st2" points="95,75.1 95,74 73.9,95.1 74.9,95.1 75.3,95.1 95,75.4 	"/>
-	<polygon class="st2" points="95,77.1 95,76 75.9,95.1 76.9,95.1 77.3,95.1 95,77.4 	"/>
-	<polygon class="st2" points="95,79.1 95,78 77.9,95.1 78.9,95.1 79.3,95.1 95,79.4 	"/>
-	<polygon class="st2" points="95,81.1 95,80 79.9,95.1 80.9,95.1 81.3,95.1 95,81.4 	"/>
-	<polygon class="st2" points="95,83.1 95,82 81.9,95.1 82.9,95.1 83.3,95.1 95,83.4 	"/>
-	<polygon class="st2" points="95,85.1 95,84 83.9,95.1 84.9,95.1 85.3,95.1 95,85.4 	"/>
-	<polygon class="st2" points="95,87.1 95,86 85.9,95.1 86.9,95.1 87.3,95.1 95,87.4 	"/>
-	<polygon class="st2" points="95,89.1 95,88 87.9,95.1 88.9,95.1 89.3,95.1 95,89.4 	"/>
-	<polygon class="st2" points="95,91.1 95,90 89.9,95.1 90.9,95.1 91.3,95.1 95,91.4 	"/>
-	<polygon class="st2" points="95,93.1 95,92 91.9,95.1 92.9,95.1 93.3,95.1 95,93.4 	"/>
-	<polygon class="st2" points="95,95.1 95,95.1 95,94 93.9,95.1 94.9,95.1 	"/>
-	<path class="st3" d="M96,95v-0.6v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4V9V8.7V8.4V8.1V7V6.7V6.4V6.1V5V4.7V4.4V4.1h-0.1h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2H9.9h-1H8.5H8.3H7.9h-1H6.5
-		H6.3H4.9H4.3H4v0.3V5v1.4v0.2V7v1v0.4v0.2V9v1v0.4v0.2V11v1v0.4v0.2V13v1v0.4v0.2V15v1v0.4v0.2V17v1v0.4v0.2V19v1v0.4v0.2V21v1v0.4
-		v0.2V23v1v0.4v0.2V25v1v0.4v0.2V27v1v0.4v0.2V29v1v0.4v0.2V31v1v0.4v0.2V33v1v0.4v0.2V35v1v0.4v0.2V37v1v0.4v0.2V39v1v0.4v0.2V41v1
-		v0.4v0.2V43v1v0.4v0.2V45v1v0.4v0.2V47v1v0.4v0.2V49v1v0.4v0.2V51v1v0.4v0.2V53v1v0.4v0.2V55v1v0.4v0.2V57v1v0.4v0.2V59v1v0.4v0.2
-		V61v1v0.4v0.2V63v1v0.4v0.2V65v1v0.4v0.2V67v1v0.4v0.2V69v1v0.4v0.2V71v1v0.4v0.2V73v1v0.4v0.2V75v1v0.4v0.2V77v1v0.4v0.2V79v1v0.4
-		v0.2V81v1v0.4v0.2V83v1v0.4v0.2V85v1v0.4v0.2V87v1v0.4v0.2V89v1v0.4v0.2V91v1v0.4v0.2V93v1v0.4v0.2V95v1v0.1h0.3h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.6H96V95z
-		 M93.9,95.1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1H9.5H9.3H8.9h-1H7.5H7.3H6.9h-1H5.5H5.3H5v-0.1v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1V9.7V9.4V9.1V8V7.7V7.4V7.1V6V5.7V5.4V5.1h0.3h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1H95v0.3v0.2V6v1v0.4
-		v0.2V8v1v0.4v0.2V10v1v0.4v0.2V12v1v0.4v0.2V14v1v0.4v0.2V16v1v0.4v0.2V18v1v0.4v0.2V20v1v0.4v0.2V22v1v0.4v0.2V24v1v0.4v0.2V26v1
-		v0.4v0.2V28v1v0.4v0.2V30v1v0.4v0.2V32v1v0.4v0.2V34v1v0.4v0.2V36v1v0.4v0.2V38v1v0.4v0.2V40v1v0.4v0.2V42v1v0.4v0.2V44v1v0.4v0.2
-		V46v1v0.4v0.2V48v1v0.4v0.2V50v1v0.4v0.2V52v1v0.4v0.2V54v1v0.4v0.2V56v1v0.4v0.2V58v1v0.4v0.2V60v1v0.4v0.2V62v1v0.4v0.2V64v1v0.4
-		v0.2V66v1v0.4v0.2V68v1v0.4v0.2V70v1v0.4v0.2V72v1v0.4v0.2V74v1v0.4v0.2V76v1v0.4v0.2V78v1v0.4v0.2V80v1v0.4v0.2V82v1v0.4v0.2V84v1
-		v0.4v0.2V86v1v0.4v0.2V88v1v0.4v0.2V90v1v0.4v0.2V92v1v0.4v0.2V94v1v0.1h-0.1H93.9z"/>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="26.9745" x2="17.4475" y2="-9.6175">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="7.4" y="7.3" class="st4" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="25.8788" x2="39.2057" y2="-6.0125">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="29.1" y="7.3" class="st5" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="60.964" y1="26.0979" x2="60.964" y2="-3.9383">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="50.9" y="7.3" class="st6" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="26.3171" x2="82.7222" y2="-10.4484">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="7.3" class="st7" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="48.0129" x2="17.4475" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="29.2" class="st8" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="48.0129" x2="39.2057" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="29.1" y="29.2" class="st9" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="60.964" y1="48.0129" x2="60.964" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="50.9" y="29.2" class="st10" width="20.1" height="20.1"/>
-	<g>
-		<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="48.6703" x2="82.7222" y2="21.4878">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="72.7" y="29.2" class="st11" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="70.8044" x2="17.4475" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="51.1" class="st12" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="69.9278" x2="39.2057" y2="39.4826">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="29.1" y="51.1" class="st13" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="60.964" y1="70.8044" x2="60.964" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="50.9" y="51.1" class="st14" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="70.8044" x2="82.7222" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="51.1" class="st15" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="92.7193" x2="17.4475" y2="60.5282">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="73" class="st16" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="91.8427" x2="39.2057" y2="59.2196">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="29.1" y="73" class="st17" width="20.1" height="20.1"/>
-	<g>
-		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="60.964" y1="92.9385" x2="60.964" y2="58.7505">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="50.9" y="73" class="st18" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="92.7193" x2="82.7222" y2="60.5282">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="73" class="st19" width="20.1" height="20.1"/>
-</g>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="100px" height="100px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#1F1F1F;}
+	.st1{fill:none;}
+	.st2{opacity:0.5;fill:#4D4D4D;}
+	.st3{fill:#898989;}
+	.st4{fill:url(#SVGID_1_);}
+	.st5{fill:url(#SVGID_2_);}
+	.st6{fill:url(#SVGID_3_);}
+	.st7{fill:url(#SVGID_4_);}
+	.st8{fill:url(#SVGID_5_);}
+	.st9{fill:url(#SVGID_6_);}
+	.st10{fill:url(#SVGID_7_);}
+	.st11{fill:url(#SVGID_8_);}
+	.st12{fill:url(#SVGID_9_);}
+	.st13{fill:url(#SVGID_10_);}
+	.st14{fill:url(#SVGID_11_);}
+	.st15{fill:url(#SVGID_12_);}
+	.st16{fill:url(#SVGID_13_);}
+	.st17{fill:url(#SVGID_14_);}
+	.st18{fill:url(#SVGID_15_);}
+	.st19{fill:url(#SVGID_16_);}
+</style>
+<g>
+	<rect class="st0" width="100" height="100"/>
+	<polygon class="st1" points="27.5,5.1 27.3,5.1 5,27.4 5,27.7 5,28 27.9,5.1 	"/>
+	<polygon class="st1" points="75.5,5.1 75.3,5.1 5,75.4 5,75.7 5,76 75.9,5.1 	"/>
+	<polygon class="st1" points="87.5,5.1 87.3,5.1 5,87.4 5,87.7 5,88 87.9,5.1 	"/>
+	<polygon class="st1" points="95,5.7 95,5.4 5.3,95.1 5.5,95.1 5.9,95.1 95,6 	"/>
+	<polygon class="st1" points="93.5,5.1 93.3,5.1 5,93.4 5,93.7 5,94 93.9,5.1 	"/>
+	<polygon class="st1" points="5.5,5.1 5.3,5.1 5,5.4 5,5.7 5,6 5.9,5.1 	"/>
+	<polygon class="st1" points="91.5,5.1 91.3,5.1 5,91.4 5,91.7 5,92 91.9,5.1 	"/>
+	<polygon class="st1" points="79.5,5.1 79.3,5.1 5,79.4 5,79.7 5,80 79.9,5.1 	"/>
+	<polygon class="st1" points="85.5,5.1 85.3,5.1 5,85.4 5,85.7 5,86 85.9,5.1 	"/>
+	<polygon class="st1" points="77.5,5.1 77.3,5.1 5,77.4 5,77.7 5,78 77.9,5.1 	"/>
+	<polygon class="st1" points="9.5,5.1 9.3,5.1 5,9.4 5,9.7 5,10 9.9,5.1 	"/>
+	<polygon class="st1" points="83.5,5.1 83.3,5.1 5,83.4 5,83.7 5,84 83.9,5.1 	"/>
+	<polygon class="st1" points="81.5,5.1 81.3,5.1 5,81.4 5,81.7 5,82 81.9,5.1 	"/>
+	<polygon class="st1" points="7.5,5.1 7.3,5.1 5,7.4 5,7.7 5,8 7.9,5.1 	"/>
+	<polygon class="st1" points="95,7.7 95,7.4 7.3,95.1 7.5,95.1 7.9,95.1 95,8 	"/>
+	<polygon class="st1" points="95,29.7 95,29.4 29.3,95.1 29.5,95.1 29.9,95.1 95,30 	"/>
+	<polygon class="st1" points="95,27.7 95,27.4 27.3,95.1 27.5,95.1 27.9,95.1 95,28 	"/>
+	<polygon class="st1" points="95,23.7 95,23.4 23.3,95.1 23.5,95.1 23.9,95.1 95,24 	"/>
+	<polygon class="st1" points="95,25.7 95,25.4 25.3,95.1 25.5,95.1 25.9,95.1 95,26 	"/>
+	<polygon class="st1" points="95,31.7 95,31.4 31.3,95.1 31.5,95.1 31.9,95.1 95,32 	"/>
+	<polygon class="st1" points="95,35.7 95,35.4 35.3,95.1 35.5,95.1 35.9,95.1 95,36 	"/>
+	<polygon class="st1" points="95,33.7 95,33.4 33.3,95.1 33.5,95.1 33.9,95.1 95,34 	"/>
+	<polygon class="st1" points="95,19.7 95,19.4 19.3,95.1 19.5,95.1 19.9,95.1 95,20 	"/>
+	<polygon class="st1" points="95,15.7 95,15.4 15.3,95.1 15.5,95.1 15.9,95.1 95,16 	"/>
+	<polygon class="st1" points="95,13.7 95,13.4 13.3,95.1 13.5,95.1 13.9,95.1 95,14 	"/>
+	<polygon class="st1" points="95,11.7 95,11.4 11.3,95.1 11.5,95.1 11.9,95.1 95,12 	"/>
+	<polygon class="st1" points="95,9.7 95,9.4 9.3,95.1 9.5,95.1 9.9,95.1 95,10 	"/>
+	<polygon class="st1" points="95,21.7 95,21.4 21.3,95.1 21.5,95.1 21.9,95.1 95,22 	"/>
+	<polygon class="st1" points="95,17.7 95,17.4 17.3,95.1 17.5,95.1 17.9,95.1 95,18 	"/>
+	<polygon class="st1" points="15.5,5.1 15.3,5.1 5,15.4 5,15.7 5,16 15.9,5.1 	"/>
+	<polygon class="st1" points="39.5,5.1 39.3,5.1 5,39.4 5,39.7 5,40 39.9,5.1 	"/>
+	<polygon class="st1" points="19.5,5.1 19.3,5.1 5,19.4 5,19.7 5,20 19.9,5.1 	"/>
+	<polygon class="st1" points="41.5,5.1 41.3,5.1 5,41.4 5,41.7 5,42 41.9,5.1 	"/>
+	<polygon class="st1" points="43.5,5.1 43.3,5.1 5,43.4 5,43.7 5,44 43.9,5.1 	"/>
+	<polygon class="st1" points="17.5,5.1 17.3,5.1 5,17.4 5,17.7 5,18 17.9,5.1 	"/>
+	<polygon class="st1" points="45.5,5.1 45.3,5.1 5,45.4 5,45.7 5,46 45.9,5.1 	"/>
+	<polygon class="st1" points="95,37.7 95,37.4 37.3,95.1 37.5,95.1 37.9,95.1 95,38 	"/>
+	<polygon class="st1" points="37.5,5.1 37.3,5.1 5,37.4 5,37.7 5,38 37.9,5.1 	"/>
+	<polygon class="st1" points="25.5,5.1 25.3,5.1 5,25.4 5,25.7 5,26 25.9,5.1 	"/>
+	<polygon class="st1" points="29.5,5.1 29.3,5.1 5,29.4 5,29.7 5,30 29.9,5.1 	"/>
+	<polygon class="st1" points="31.5,5.1 31.3,5.1 5,31.4 5,31.7 5,32 31.9,5.1 	"/>
+	<polygon class="st1" points="33.5,5.1 33.3,5.1 5,33.4 5,33.7 5,34 33.9,5.1 	"/>
+	<polygon class="st1" points="21.5,5.1 21.3,5.1 5,21.4 5,21.7 5,22 21.9,5.1 	"/>
+	<polygon class="st1" points="35.5,5.1 35.3,5.1 5,35.4 5,35.7 5,36 35.9,5.1 	"/>
+	<polygon class="st1" points="23.5,5.1 23.3,5.1 5,23.4 5,23.7 5,24 23.9,5.1 	"/>
+	<polygon class="st1" points="73.5,5.1 73.3,5.1 5,73.4 5,73.7 5,74 73.9,5.1 	"/>
+	<polygon class="st1" points="67.5,5.1 67.3,5.1 5,67.4 5,67.7 5,68 67.9,5.1 	"/>
+	<polygon class="st1" points="69.5,5.1 69.3,5.1 5,69.4 5,69.7 5,70 69.9,5.1 	"/>
+	<polygon class="st1" points="63.5,5.1 63.3,5.1 5,63.4 5,63.7 5,64 63.9,5.1 	"/>
+	<polygon class="st1" points="65.5,5.1 65.3,5.1 5,65.4 5,65.7 5,66 65.9,5.1 	"/>
+	<polygon class="st1" points="11.5,5.1 11.3,5.1 5,11.4 5,11.7 5,12 11.9,5.1 	"/>
+	<polygon class="st1" points="13.5,5.1 13.3,5.1 5,13.4 5,13.7 5,14 13.9,5.1 	"/>
+	<polygon class="st1" points="71.5,5.1 71.3,5.1 5,71.4 5,71.7 5,72 71.9,5.1 	"/>
+	<polygon class="st1" points="61.5,5.1 61.3,5.1 5,61.4 5,61.7 5,62 61.9,5.1 	"/>
+	<polygon class="st1" points="53.5,5.1 53.3,5.1 5,53.4 5,53.7 5,54 53.9,5.1 	"/>
+	<polygon class="st1" points="47.5,5.1 47.3,5.1 5,47.4 5,47.7 5,48 47.9,5.1 	"/>
+	<polygon class="st1" points="49.5,5.1 49.3,5.1 5,49.4 5,49.7 5,50 49.9,5.1 	"/>
+	<polygon class="st1" points="51.5,5.1 51.3,5.1 5,51.4 5,51.7 5,52 51.9,5.1 	"/>
+	<polygon class="st1" points="59.5,5.1 59.3,5.1 5,59.4 5,59.7 5,60 59.9,5.1 	"/>
+	<polygon class="st1" points="55.5,5.1 55.3,5.1 5,55.4 5,55.7 5,56 55.9,5.1 	"/>
+	<polygon class="st1" points="57.5,5.1 57.3,5.1 5,57.4 5,57.7 5,58 57.9,5.1 	"/>
+	<polygon class="st1" points="89.5,5.1 89.3,5.1 5,89.4 5,89.7 5,90 89.9,5.1 	"/>
+	<polygon class="st1" points="95,63.7 95,63.4 63.3,95.1 63.5,95.1 63.9,95.1 95,64 	"/>
+	<polygon class="st1" points="95,65.7 95,65.4 65.3,95.1 65.5,95.1 65.9,95.1 95,66 	"/>
+	<polygon class="st1" points="95,51.7 95,51.4 51.3,95.1 51.5,95.1 51.9,95.1 95,52 	"/>
+	<polygon class="st1" points="95,61.7 95,61.4 61.3,95.1 61.5,95.1 61.9,95.1 95,62 	"/>
+	<polygon class="st1" points="95,69.7 95,69.4 69.3,95.1 69.5,95.1 69.9,95.1 95,70 	"/>
+	<polygon class="st1" points="95,55.7 95,55.4 55.3,95.1 55.5,95.1 55.9,95.1 95,56 	"/>
+	<polygon class="st1" points="95,71.7 95,71.4 71.3,95.1 71.5,95.1 71.9,95.1 95,72 	"/>
+	<polygon class="st1" points="95,59.7 95,59.4 59.3,95.1 59.5,95.1 59.9,95.1 95,60 	"/>
+	<polygon class="st1" points="95,53.7 95,53.4 53.3,95.1 53.5,95.1 53.9,95.1 95,54 	"/>
+	<polygon class="st1" points="95,57.7 95,57.4 57.3,95.1 57.5,95.1 57.9,95.1 95,58 	"/>
+	<polygon class="st1" points="95,67.7 95,67.4 67.3,95.1 67.5,95.1 67.9,95.1 95,68 	"/>
+	<polygon class="st1" points="95,83.7 95,83.4 83.3,95.1 83.5,95.1 83.9,95.1 95,84 	"/>
+	<polygon class="st1" points="95,85.7 95,85.4 85.3,95.1 85.5,95.1 85.9,95.1 95,86 	"/>
+	<polygon class="st1" points="95,73.7 95,73.4 73.3,95.1 73.5,95.1 73.9,95.1 95,74 	"/>
+	<polygon class="st1" points="95,89.7 95,89.4 89.3,95.1 89.5,95.1 89.9,95.1 95,90 	"/>
+	<polygon class="st1" points="95,91.7 95,91.4 91.3,95.1 91.5,95.1 91.9,95.1 95,92 	"/>
+	<polygon class="st1" points="95,93.7 95,93.4 93.3,95.1 93.5,95.1 93.9,95.1 95,94 	"/>
+	<polygon class="st1" points="95,77.7 95,77.4 77.3,95.1 77.5,95.1 77.9,95.1 95,78 	"/>
+	<polygon class="st1" points="95,75.7 95,75.4 75.3,95.1 75.5,95.1 75.9,95.1 95,76 	"/>
+	<polygon class="st1" points="95,81.7 95,81.4 81.3,95.1 81.5,95.1 81.9,95.1 95,82 	"/>
+	<polygon class="st1" points="95,79.7 95,79.4 79.3,95.1 79.5,95.1 79.9,95.1 95,80 	"/>
+	<polygon class="st1" points="95,87.7 95,87.4 87.3,95.1 87.5,95.1 87.9,95.1 95,88 	"/>
+	<polygon class="st1" points="95,43.7 95,43.4 43.3,95.1 43.5,95.1 43.9,95.1 95,44 	"/>
+	<polygon class="st1" points="95,41.7 95,41.4 41.3,95.1 41.5,95.1 41.9,95.1 95,42 	"/>
+	<polygon class="st1" points="95,47.7 95,47.4 47.3,95.1 47.5,95.1 47.9,95.1 95,48 	"/>
+	<polygon class="st1" points="95,39.7 95,39.4 39.3,95.1 39.5,95.1 39.9,95.1 95,40 	"/>
+	<polygon class="st1" points="95,45.7 95,45.4 45.3,95.1 45.5,95.1 45.9,95.1 95,46 	"/>
+	<polygon class="st1" points="95,49.7 95,49.4 49.3,95.1 49.5,95.1 49.9,95.1 95,50 	"/>
+	<polygon class="st2" points="5,5.1 5,5.4 5.3,5.1 	"/>
+	<polygon class="st2" points="6.9,5.1 5.9,5.1 5,6 5,7.1 5,7.4 7.3,5.1 	"/>
+	<polygon class="st2" points="8.9,5.1 7.9,5.1 5,8 5,9.1 5,9.4 9.3,5.1 	"/>
+	<polygon class="st2" points="10.9,5.1 9.9,5.1 5,10 5,11.1 5,11.4 11.3,5.1 	"/>
+	<polygon class="st2" points="12.9,5.1 11.9,5.1 5,12 5,13.1 5,13.4 13.3,5.1 	"/>
+	<polygon class="st2" points="14.9,5.1 13.9,5.1 5,14 5,15.1 5,15.4 15.3,5.1 	"/>
+	<polygon class="st2" points="16.9,5.1 15.9,5.1 5,16 5,17.1 5,17.4 17.3,5.1 	"/>
+	<polygon class="st2" points="18.9,5.1 17.9,5.1 5,18 5,19.1 5,19.4 19.3,5.1 	"/>
+	<polygon class="st2" points="20.9,5.1 19.9,5.1 5,20 5,21.1 5,21.4 21.3,5.1 	"/>
+	<polygon class="st2" points="22.9,5.1 21.9,5.1 5,22 5,23.1 5,23.4 23.3,5.1 	"/>
+	<polygon class="st2" points="24.9,5.1 23.9,5.1 5,24 5,25.1 5,25.4 25.3,5.1 	"/>
+	<polygon class="st2" points="26.9,5.1 25.9,5.1 5,26 5,27.1 5,27.4 27.3,5.1 	"/>
+	<polygon class="st2" points="28.9,5.1 27.9,5.1 5,28 5,29.1 5,29.4 29.3,5.1 	"/>
+	<polygon class="st2" points="30.9,5.1 29.9,5.1 5,30 5,31.1 5,31.4 31.3,5.1 	"/>
+	<polygon class="st2" points="32.9,5.1 31.9,5.1 5,32 5,33.1 5,33.4 33.3,5.1 	"/>
+	<polygon class="st2" points="34.9,5.1 33.9,5.1 5,34 5,35.1 5,35.4 35.3,5.1 	"/>
+	<polygon class="st2" points="36.9,5.1 35.9,5.1 5,36 5,37.1 5,37.4 37.3,5.1 	"/>
+	<polygon class="st2" points="38.9,5.1 37.9,5.1 5,38 5,39.1 5,39.4 39.3,5.1 	"/>
+	<polygon class="st2" points="40.9,5.1 39.9,5.1 5,40 5,41.1 5,41.4 41.3,5.1 	"/>
+	<polygon class="st2" points="42.9,5.1 41.9,5.1 5,42 5,43.1 5,43.4 43.3,5.1 	"/>
+	<polygon class="st2" points="44.9,5.1 43.9,5.1 5,44 5,45.1 5,45.4 45.3,5.1 	"/>
+	<polygon class="st2" points="46.9,5.1 45.9,5.1 5,46 5,47.1 5,47.4 47.3,5.1 	"/>
+	<polygon class="st2" points="48.9,5.1 47.9,5.1 5,48 5,49.1 5,49.4 49.3,5.1 	"/>
+	<polygon class="st2" points="50.9,5.1 49.9,5.1 5,50 5,51.1 5,51.4 51.3,5.1 	"/>
+	<polygon class="st2" points="52.9,5.1 51.9,5.1 5,52 5,53.1 5,53.4 53.3,5.1 	"/>
+	<polygon class="st2" points="54.9,5.1 53.9,5.1 5,54 5,55.1 5,55.4 55.3,5.1 	"/>
+	<polygon class="st2" points="56.9,5.1 55.9,5.1 5,56 5,57.1 5,57.4 57.3,5.1 	"/>
+	<polygon class="st2" points="58.9,5.1 57.9,5.1 5,58 5,59.1 5,59.4 59.3,5.1 	"/>
+	<polygon class="st2" points="60.9,5.1 59.9,5.1 5,60 5,61.1 5,61.4 61.3,5.1 	"/>
+	<polygon class="st2" points="62.9,5.1 61.9,5.1 5,62 5,63.1 5,63.4 63.3,5.1 	"/>
+	<polygon class="st2" points="64.9,5.1 63.9,5.1 5,64 5,65.1 5,65.4 65.3,5.1 	"/>
+	<polygon class="st2" points="66.9,5.1 65.9,5.1 5,66 5,67.1 5,67.4 67.3,5.1 	"/>
+	<polygon class="st2" points="68.9,5.1 67.9,5.1 5,68 5,69.1 5,69.4 69.3,5.1 	"/>
+	<polygon class="st2" points="70.9,5.1 69.9,5.1 5,70 5,71.1 5,71.4 71.3,5.1 	"/>
+	<polygon class="st2" points="72.9,5.1 71.9,5.1 5,72 5,73.1 5,73.4 73.3,5.1 	"/>
+	<polygon class="st2" points="74.9,5.1 73.9,5.1 5,74 5,75.1 5,75.4 75.3,5.1 	"/>
+	<polygon class="st2" points="76.9,5.1 75.9,5.1 5,76 5,77.1 5,77.4 77.3,5.1 	"/>
+	<polygon class="st2" points="78.9,5.1 77.9,5.1 5,78 5,79.1 5,79.4 79.3,5.1 	"/>
+	<polygon class="st2" points="80.9,5.1 79.9,5.1 5,80 5,81.1 5,81.4 81.3,5.1 	"/>
+	<polygon class="st2" points="82.9,5.1 81.9,5.1 5,82 5,83.1 5,83.4 83.3,5.1 	"/>
+	<polygon class="st2" points="84.9,5.1 83.9,5.1 5,84 5,85.1 5,85.4 85.3,5.1 	"/>
+	<polygon class="st2" points="86.9,5.1 85.9,5.1 5,86 5,87.1 5,87.4 87.3,5.1 	"/>
+	<polygon class="st2" points="88.9,5.1 87.9,5.1 5,88 5,89.1 5,89.4 89.3,5.1 	"/>
+	<polygon class="st2" points="90.9,5.1 89.9,5.1 5,90 5,91.1 5,91.4 91.3,5.1 	"/>
+	<polygon class="st2" points="92.9,5.1 91.9,5.1 5,92 5,93.1 5,93.4 93.3,5.1 	"/>
+	<polygon class="st2" points="95,5.1 94.9,5.1 93.9,5.1 5,94 5,95.1 5,95.1 5.3,95.1 95,5.4 	"/>
+	<polygon class="st2" points="95,7.1 95,6 5.9,95.1 6.9,95.1 7.3,95.1 95,7.4 	"/>
+	<polygon class="st2" points="95,9.1 95,8 7.9,95.1 8.9,95.1 9.3,95.1 95,9.4 	"/>
+	<polygon class="st2" points="95,11.1 95,10 9.9,95.1 10.9,95.1 11.3,95.1 95,11.4 	"/>
+	<polygon class="st2" points="95,13.1 95,12 11.9,95.1 12.9,95.1 13.3,95.1 95,13.4 	"/>
+	<polygon class="st2" points="95,15.1 95,14 13.9,95.1 14.9,95.1 15.3,95.1 95,15.4 	"/>
+	<polygon class="st2" points="95,17.1 95,16 15.9,95.1 16.9,95.1 17.3,95.1 95,17.4 	"/>
+	<polygon class="st2" points="95,19.1 95,18 17.9,95.1 18.9,95.1 19.3,95.1 95,19.4 	"/>
+	<polygon class="st2" points="95,21.1 95,20 19.9,95.1 20.9,95.1 21.3,95.1 95,21.4 	"/>
+	<polygon class="st2" points="95,23.1 95,22 21.9,95.1 22.9,95.1 23.3,95.1 95,23.4 	"/>
+	<polygon class="st2" points="95,25.1 95,24 23.9,95.1 24.9,95.1 25.3,95.1 95,25.4 	"/>
+	<polygon class="st2" points="95,27.1 95,26 25.9,95.1 26.9,95.1 27.3,95.1 95,27.4 	"/>
+	<polygon class="st2" points="95,29.1 95,28 27.9,95.1 28.9,95.1 29.3,95.1 95,29.4 	"/>
+	<polygon class="st2" points="95,31.1 95,30 29.9,95.1 30.9,95.1 31.3,95.1 95,31.4 	"/>
+	<polygon class="st2" points="95,33.1 95,32 31.9,95.1 32.9,95.1 33.3,95.1 95,33.4 	"/>
+	<polygon class="st2" points="95,35.1 95,34 33.9,95.1 34.9,95.1 35.3,95.1 95,35.4 	"/>
+	<polygon class="st2" points="95,37.1 95,36 35.9,95.1 36.9,95.1 37.3,95.1 95,37.4 	"/>
+	<polygon class="st2" points="95,39.1 95,38 37.9,95.1 38.9,95.1 39.3,95.1 95,39.4 	"/>
+	<polygon class="st2" points="95,41.1 95,40 39.9,95.1 40.9,95.1 41.3,95.1 95,41.4 	"/>
+	<polygon class="st2" points="95,43.1 95,42 41.9,95.1 42.9,95.1 43.3,95.1 95,43.4 	"/>
+	<polygon class="st2" points="95,45.1 95,44 43.9,95.1 44.9,95.1 45.3,95.1 95,45.4 	"/>
+	<polygon class="st2" points="95,47.1 95,46 45.9,95.1 46.9,95.1 47.3,95.1 95,47.4 	"/>
+	<polygon class="st2" points="95,49.1 95,48 47.9,95.1 48.9,95.1 49.3,95.1 95,49.4 	"/>
+	<polygon class="st2" points="95,51.1 95,50 49.9,95.1 50.9,95.1 51.3,95.1 95,51.4 	"/>
+	<polygon class="st2" points="95,53.1 95,52 51.9,95.1 52.9,95.1 53.3,95.1 95,53.4 	"/>
+	<polygon class="st2" points="95,55.1 95,54 53.9,95.1 54.9,95.1 55.3,95.1 95,55.4 	"/>
+	<polygon class="st2" points="95,57.1 95,56 55.9,95.1 56.9,95.1 57.3,95.1 95,57.4 	"/>
+	<polygon class="st2" points="95,59.1 95,58 57.9,95.1 58.9,95.1 59.3,95.1 95,59.4 	"/>
+	<polygon class="st2" points="95,61.1 95,60 59.9,95.1 60.9,95.1 61.3,95.1 95,61.4 	"/>
+	<polygon class="st2" points="95,63.1 95,62 61.9,95.1 62.9,95.1 63.3,95.1 95,63.4 	"/>
+	<polygon class="st2" points="95,65.1 95,64 63.9,95.1 64.9,95.1 65.3,95.1 95,65.4 	"/>
+	<polygon class="st2" points="95,67.1 95,66 65.9,95.1 66.9,95.1 67.3,95.1 95,67.4 	"/>
+	<polygon class="st2" points="95,69.1 95,68 67.9,95.1 68.9,95.1 69.3,95.1 95,69.4 	"/>
+	<polygon class="st2" points="95,71.1 95,70 69.9,95.1 70.9,95.1 71.3,95.1 95,71.4 	"/>
+	<polygon class="st2" points="95,73.1 95,72 71.9,95.1 72.9,95.1 73.3,95.1 95,73.4 	"/>
+	<polygon class="st2" points="95,75.1 95,74 73.9,95.1 74.9,95.1 75.3,95.1 95,75.4 	"/>
+	<polygon class="st2" points="95,77.1 95,76 75.9,95.1 76.9,95.1 77.3,95.1 95,77.4 	"/>
+	<polygon class="st2" points="95,79.1 95,78 77.9,95.1 78.9,95.1 79.3,95.1 95,79.4 	"/>
+	<polygon class="st2" points="95,81.1 95,80 79.9,95.1 80.9,95.1 81.3,95.1 95,81.4 	"/>
+	<polygon class="st2" points="95,83.1 95,82 81.9,95.1 82.9,95.1 83.3,95.1 95,83.4 	"/>
+	<polygon class="st2" points="95,85.1 95,84 83.9,95.1 84.9,95.1 85.3,95.1 95,85.4 	"/>
+	<polygon class="st2" points="95,87.1 95,86 85.9,95.1 86.9,95.1 87.3,95.1 95,87.4 	"/>
+	<polygon class="st2" points="95,89.1 95,88 87.9,95.1 88.9,95.1 89.3,95.1 95,89.4 	"/>
+	<polygon class="st2" points="95,91.1 95,90 89.9,95.1 90.9,95.1 91.3,95.1 95,91.4 	"/>
+	<polygon class="st2" points="95,93.1 95,92 91.9,95.1 92.9,95.1 93.3,95.1 95,93.4 	"/>
+	<polygon class="st2" points="95,95.1 95,95.1 95,94 93.9,95.1 94.9,95.1 	"/>
+	<path class="st3" d="M96,95v-0.6v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4V9V8.7V8.4V8.1V7V6.7V6.4V6.1V5V4.7V4.4V4.1h-0.1h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2H9.9h-1H8.5H8.3H7.9h-1H6.5
+		H6.3H4.9H4.3H4v0.3V5v1.4v0.2V7v1v0.4v0.2V9v1v0.4v0.2V11v1v0.4v0.2V13v1v0.4v0.2V15v1v0.4v0.2V17v1v0.4v0.2V19v1v0.4v0.2V21v1v0.4
+		v0.2V23v1v0.4v0.2V25v1v0.4v0.2V27v1v0.4v0.2V29v1v0.4v0.2V31v1v0.4v0.2V33v1v0.4v0.2V35v1v0.4v0.2V37v1v0.4v0.2V39v1v0.4v0.2V41v1
+		v0.4v0.2V43v1v0.4v0.2V45v1v0.4v0.2V47v1v0.4v0.2V49v1v0.4v0.2V51v1v0.4v0.2V53v1v0.4v0.2V55v1v0.4v0.2V57v1v0.4v0.2V59v1v0.4v0.2
+		V61v1v0.4v0.2V63v1v0.4v0.2V65v1v0.4v0.2V67v1v0.4v0.2V69v1v0.4v0.2V71v1v0.4v0.2V73v1v0.4v0.2V75v1v0.4v0.2V77v1v0.4v0.2V79v1v0.4
+		v0.2V81v1v0.4v0.2V83v1v0.4v0.2V85v1v0.4v0.2V87v1v0.4v0.2V89v1v0.4v0.2V91v1v0.4v0.2V93v1v0.4v0.2V95v1v0.1h0.3h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.6H96V95z
+		 M93.9,95.1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1H9.5H9.3H8.9h-1H7.5H7.3H6.9h-1H5.5H5.3H5v-0.1v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1V9.7V9.4V9.1V8V7.7V7.4V7.1V6V5.7V5.4V5.1h0.3h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1H95v0.3v0.2V6v1v0.4
+		v0.2V8v1v0.4v0.2V10v1v0.4v0.2V12v1v0.4v0.2V14v1v0.4v0.2V16v1v0.4v0.2V18v1v0.4v0.2V20v1v0.4v0.2V22v1v0.4v0.2V24v1v0.4v0.2V26v1
+		v0.4v0.2V28v1v0.4v0.2V30v1v0.4v0.2V32v1v0.4v0.2V34v1v0.4v0.2V36v1v0.4v0.2V38v1v0.4v0.2V40v1v0.4v0.2V42v1v0.4v0.2V44v1v0.4v0.2
+		V46v1v0.4v0.2V48v1v0.4v0.2V50v1v0.4v0.2V52v1v0.4v0.2V54v1v0.4v0.2V56v1v0.4v0.2V58v1v0.4v0.2V60v1v0.4v0.2V62v1v0.4v0.2V64v1v0.4
+		v0.2V66v1v0.4v0.2V68v1v0.4v0.2V70v1v0.4v0.2V72v1v0.4v0.2V74v1v0.4v0.2V76v1v0.4v0.2V78v1v0.4v0.2V80v1v0.4v0.2V82v1v0.4v0.2V84v1
+		v0.4v0.2V86v1v0.4v0.2V88v1v0.4v0.2V90v1v0.4v0.2V92v1v0.4v0.2V94v1v0.1h-0.1H93.9z"/>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="26.9745" x2="17.4475" y2="-9.6175">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="7.4" y="7.3" class="st4" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="25.8788" x2="39.2057" y2="-6.0125">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="29.1" y="7.3" class="st5" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="60.964" y1="26.0979" x2="60.964" y2="-3.9383">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="50.9" y="7.3" class="st6" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="26.3171" x2="82.7222" y2="-10.4484">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="7.3" class="st7" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="48.0129" x2="17.4475" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="29.2" class="st8" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="48.0129" x2="39.2057" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="29.1" y="29.2" class="st9" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="60.964" y1="48.0129" x2="60.964" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="50.9" y="29.2" class="st10" width="20.1" height="20.1"/>
+	<g>
+		<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="48.6703" x2="82.7222" y2="21.4878">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="72.7" y="29.2" class="st11" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="70.8044" x2="17.4475" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="51.1" class="st12" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="69.9278" x2="39.2057" y2="39.4826">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="29.1" y="51.1" class="st13" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="60.964" y1="70.8044" x2="60.964" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="50.9" y="51.1" class="st14" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="70.8044" x2="82.7222" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="51.1" class="st15" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="92.7193" x2="17.4475" y2="60.5282">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="73" class="st16" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="91.8427" x2="39.2057" y2="59.2196">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="29.1" y="73" class="st17" width="20.1" height="20.1"/>
+	<g>
+		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="60.964" y1="92.9385" x2="60.964" y2="58.7505">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="50.9" y="73" class="st18" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="92.7193" x2="82.7222" y2="60.5282">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="73" class="st19" width="20.1" height="20.1"/>
+</g>
+</svg>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.html b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.html
index 691e14166c84ec50edbb1889c0a901f62625bf61..d27b5e45c38eedc1b72b9e6cac6a3af7224c6bdc 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.html
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.html
@@ -1,67 +1,67 @@
-<div class="status-panel">
-	<div ng-show="ctrl.duplicates">
-		<strong>Error</strong>: There are multiple measurements with the same alias. Please give each measurement a unique name.
-	</div>
-
-	<div class="st-card-front" ng-hide="ctrl.duplicates">
-		<div class="ok-text">OK</div>
-		<div class="warning-text">Warning</div>
-		<div class="fail-text">Critical</div>
-		<div class="no-data-text">No data</div>
-		<div class="disabled-text">Disabled</div>
-	</div>
-	<div class="st-card-back" ng-hide="ctrl.duplicates">
-
-		<div class="top_section">
-			<div class="status-panel-annotation_row" ng-if="ctrl.annotation.length > 0">
-				<div ng-repeat="annotation in ctrl.annotation" >
-					<div class="row-overflow" ng-style="{ 'max-width': ctrl.maxWidth }">
-						<a ng-show="annotation.url" ng-href="{{ annotation.url | interpolateTemplateVars:this }}" target="_blank">{{ annoation.alias }}</a>
-						<span ng-hide="annotation.url">{{ annotation.alias }}</span>
-						<span bs-tooltip="'{{ annotation.display_value }}'"> - {{ annotation.display_value |  numberOrTextWithRegex : annotation.valueDisplayRegex}} </span>
-					</div>
-				</div>
-			</div>
-		</div>
-
-		<div class="bottom_section" ng-style="ctrl.annotation.length === 0 && { 'min-height': ctrl.minHeight }">
-			<div class="status_name_row">
-				<h1>
-					<a ng-href="{{ ctrl.uri | interpolateTemplateVars:this }}" target="{{ ctrl.targetBlank ? '_blank' : '_self' }}" ng-if="ctrl.uri">
-						{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
-					</a>
-					<span ng-hide="ctrl.uri">
-					{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
-				</span>
-				</h1>
-
-			</div>
-
-			<div class="status_alerts_row">
-				<div ng-repeat="display in ctrl.display">
-					<a ng-show="display.url" ng-href="{{ display.url | interpolateTemplateVars:this }}" target="_blank">{{ display.alias }}</a>
-					<span ng-hide="display.url">{{ display.alias }}</span>
-					<span ng-show="display.display"> - {{ display.display_value | numberOrTextWithRegex : display.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="crit in ctrl.crit">
-					<a ng-show="crit.url" ng-href="{{ crit.url | interpolateTemplateVars:this }}" target="_blank">{{ crit.alias }}</a>
-					<span ng-hide="crit.url">{{ crit.alias }}</span>
-					<span ng-show="crit.display"> - {{ crit.display_value | numberOrTextWithRegex : crit.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="warn in ctrl.warn">
-					<a ng-show="warn.url" ng-href="{{ warn.url | interpolateTemplateVars:this }}" target="_blank">{{ warn.alias }}</a>
-					<span ng-hide="warn.url">{{ warn.alias }}</span>
-					<span ng-show="warn.display"> - {{ warn.display_value | numberOrTextWithRegex : warn.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="disabled in ctrl.disabled">
-					<a ng-show="disabled.url" ng-href="{{ disabled.url | interpolateTemplateVars:this }}" target="_blank">{{ disabled.alias }}</a>
-					<span ng-hide="disabled.url">{{ disabled.alias }}</span>
-				</div>
-			</div>
-		</div>
-
-	</div>
-</div>
+<div class="status-panel">
+	<div ng-show="ctrl.duplicates">
+		<strong>Error</strong>: There are multiple measurements with the same alias. Please give each measurement a unique name.
+	</div>
+
+	<div class="st-card-front" ng-hide="ctrl.duplicates">
+		<div class="ok-text">OK</div>
+		<div class="warning-text">Warning</div>
+		<div class="fail-text">Critical</div>
+		<div class="no-data-text">No data</div>
+		<div class="disabled-text">Disabled</div>
+	</div>
+	<div class="st-card-back" ng-hide="ctrl.duplicates">
+
+		<div class="top_section">
+			<div class="status-panel-annotation_row" ng-if="ctrl.annotation.length > 0">
+				<div ng-repeat="annotation in ctrl.annotation" >
+					<div class="row-overflow" ng-style="{ 'max-width': ctrl.maxWidth }">
+						<a ng-show="annotation.url" ng-href="{{ annotation.url | interpolateTemplateVars:this }}" target="_blank">{{ annoation.alias }}</a>
+						<span ng-hide="annotation.url">{{ annotation.alias }}</span>
+						<span bs-tooltip="'{{ annotation.display_value }}'"> - {{ annotation.display_value |  numberOrTextWithRegex : annotation.valueDisplayRegex}} </span>
+					</div>
+				</div>
+			</div>
+		</div>
+
+		<div class="bottom_section" ng-style="ctrl.annotation.length === 0 && { 'min-height': ctrl.minHeight }">
+			<div class="status_name_row">
+				<h1>
+					<a ng-href="{{ ctrl.uri | interpolateTemplateVars:this }}" target="{{ ctrl.targetBlank ? '_blank' : '_self' }}" ng-if="ctrl.uri">
+						{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
+					</a>
+					<span ng-hide="ctrl.uri">
+					{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
+				</span>
+				</h1>
+
+			</div>
+
+			<div class="status_alerts_row">
+				<div ng-repeat="display in ctrl.display">
+					<a ng-show="display.url" ng-href="{{ display.url | interpolateTemplateVars:this }}" target="_blank">{{ display.alias }}</a>
+					<span ng-hide="display.url">{{ display.alias }}</span>
+					<span ng-show="display.display"> - {{ display.display_value | numberOrTextWithRegex : display.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="crit in ctrl.crit">
+					<a ng-show="crit.url" ng-href="{{ crit.url | interpolateTemplateVars:this }}" target="_blank">{{ crit.alias }}</a>
+					<span ng-hide="crit.url">{{ crit.alias }}</span>
+					<span ng-show="crit.display"> - {{ crit.display_value | numberOrTextWithRegex : crit.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="warn in ctrl.warn">
+					<a ng-show="warn.url" ng-href="{{ warn.url | interpolateTemplateVars:this }}" target="_blank">{{ warn.alias }}</a>
+					<span ng-hide="warn.url">{{ warn.alias }}</span>
+					<span ng-show="warn.display"> - {{ warn.display_value | numberOrTextWithRegex : warn.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="disabled in ctrl.disabled">
+					<a ng-show="disabled.url" ng-href="{{ disabled.url | interpolateTemplateVars:this }}" target="_blank">{{ disabled.alias }}</a>
+					<span ng-hide="disabled.url">{{ disabled.alias }}</span>
+				</div>
+			</div>
+		</div>
+
+	</div>
+</div>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.js b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.js
index 0808bb7985507586215d40637d7c01857c8ee2d5..2efb4a6ab5e5b48e2264c55f620961e59367617b 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.js
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/module.js
@@ -1,16 +1,16 @@
-'use strict';
-
-System.register(['./status_ctrl'], function (_export, _context) {
-  "use strict";
-
-  var StatusPluginCtrl;
-  return {
-    setters: [function (_status_ctrl) {
-      StatusPluginCtrl = _status_ctrl.StatusPluginCtrl;
-    }],
-    execute: function () {
-      _export('PanelCtrl', StatusPluginCtrl);
-    }
-  };
-});
-//# sourceMappingURL=module.js.map
+'use strict';
+
+System.register(['./status_ctrl'], function (_export, _context) {
+  "use strict";
+
+  var StatusPluginCtrl;
+  return {
+    setters: [function (_status_ctrl) {
+      StatusPluginCtrl = _status_ctrl.StatusPluginCtrl;
+    }],
+    execute: function () {
+      _export('PanelCtrl', StatusPluginCtrl);
+    }
+  };
+});
+//# sourceMappingURL=module.js.map
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/plugin.json b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/plugin.json
index 63739a0878a4b90f66081cdb9527abd8d7320541..da3ef16bb5a35d002276e3b61e7b6383e3bda6f3 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/plugin.json
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/plugin.json
@@ -1,34 +1,34 @@
-{
-  "type": "panel",
-  "name": "Status Panel",
-  "id": "vonage-status-panel",
-
-  "info": {
-    "description": "Status Panel for Grafana",
-    "author": {
-      "name": "Tomer Amir",
-      "url": "https://github.com/Vonage"
-    },
-    "keywords": ["status", "panel"],
-    "logos": {
-      "small": "img/icon_status_panel.svg",
-      "large": "img/icon_status_panel.svg"
-    },
-    "links": [
-      {"name": "Github", "url": "https://github.com/Vonage/Grafana_Status_panel"}
-    ],
-    "screenshots": [
-      {"name": "Environment Snapshot", "path": "img/environment_snapshot.png"},
-      {"name": "Ok State", "path": "img/ok.png"},
-      {"name": "Warning State", "path": "img/warning.png"},
-      {"name": "Critical State", "path": "img/error.png"}
-    ],
-    "version": "1.0.4",
-    "updated": "2017-4-27"
-  },
-
-  "dependencies": {
-    "grafanaVersion": "3.x.x",
-    "plugins": [ ]
-  }
-}
+{
+  "type": "panel",
+  "name": "Status Panel",
+  "id": "vonage-status-panel",
+
+  "info": {
+    "description": "Status Panel for Grafana",
+    "author": {
+      "name": "Tomer Amir",
+      "url": "https://github.com/Vonage"
+    },
+    "keywords": ["status", "panel"],
+    "logos": {
+      "small": "img/icon_status_panel.svg",
+      "large": "img/icon_status_panel.svg"
+    },
+    "links": [
+      {"name": "Github", "url": "https://github.com/Vonage/Grafana_Status_panel"}
+    ],
+    "screenshots": [
+      {"name": "Environment Snapshot", "path": "img/environment_snapshot.png"},
+      {"name": "Ok State", "path": "img/ok.png"},
+      {"name": "Warning State", "path": "img/warning.png"},
+      {"name": "Critical State", "path": "img/error.png"}
+    ],
+    "version": "1.0.4",
+    "updated": "2017-4-27"
+  },
+
+  "dependencies": {
+    "grafanaVersion": "3.x.x",
+    "plugins": [ ]
+  }
+}
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/status_ctrl.js b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/status_ctrl.js
index a8c449de9711fa8c8f24edf1c54e8e22cc591458..b65927c9a619ddacea920ba801b6af91ce425315 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/status_ctrl.js
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/dist/status_ctrl.js
@@ -1,517 +1,517 @@
-"use strict";
-
-System.register(["app/plugins/sdk", "app/plugins/panel/graph/legend", "app/plugins/panel/graph/series_overrides_ctrl", "lodash", "app/core/time_series2", "app/core/core_module", "./css/status_panel.css!"], function (_export, _context) {
-	"use strict";
-
-	var MetricsPanelCtrl, _, TimeSeries, coreModule, _createClass, StatusPluginCtrl;
-
-	function _classCallCheck(instance, Constructor) {
-		if (!(instance instanceof Constructor)) {
-			throw new TypeError("Cannot call a class as a function");
-		}
-	}
-
-	function _possibleConstructorReturn(self, call) {
-		if (!self) {
-			throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-		}
-
-		return call && (typeof call === "object" || typeof call === "function") ? call : self;
-	}
-
-	function _inherits(subClass, superClass) {
-		if (typeof superClass !== "function" && superClass !== null) {
-			throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
-		}
-
-		subClass.prototype = Object.create(superClass && superClass.prototype, {
-			constructor: {
-				value: subClass,
-				enumerable: false,
-				writable: true,
-				configurable: true
-			}
-		});
-		if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
-	}
-
-	return {
-		setters: [function (_appPluginsSdk) {
-			MetricsPanelCtrl = _appPluginsSdk.MetricsPanelCtrl;
-		}, function (_appPluginsPanelGraphLegend) {}, function (_appPluginsPanelGraphSeries_overrides_ctrl) {}, function (_lodash) {
-			_ = _lodash.default;
-		}, function (_appCoreTime_series) {
-			TimeSeries = _appCoreTime_series.default;
-		}, function (_appCoreCore_module) {
-			coreModule = _appCoreCore_module.default;
-		}, function (_cssStatus_panelCss) {}],
-		execute: function () {
-			_createClass = function () {
-				function defineProperties(target, props) {
-					for (var i = 0; i < props.length; i++) {
-						var descriptor = props[i];
-						descriptor.enumerable = descriptor.enumerable || false;
-						descriptor.configurable = true;
-						if ("value" in descriptor) descriptor.writable = true;
-						Object.defineProperty(target, descriptor.key, descriptor);
-					}
-				}
-
-				return function (Constructor, protoProps, staticProps) {
-					if (protoProps) defineProperties(Constructor.prototype, protoProps);
-					if (staticProps) defineProperties(Constructor, staticProps);
-					return Constructor;
-				};
-			}();
-
-			_export("StatusPluginCtrl", StatusPluginCtrl = function (_MetricsPanelCtrl) {
-				_inherits(StatusPluginCtrl, _MetricsPanelCtrl);
-
-				/** @ngInject */
-				function StatusPluginCtrl($scope, $injector, $log, $filter, annotationsSrv) {
-					_classCallCheck(this, StatusPluginCtrl);
-
-					var _this = _possibleConstructorReturn(this, (StatusPluginCtrl.__proto__ || Object.getPrototypeOf(StatusPluginCtrl)).call(this, $scope, $injector));
-
-					//this.log = $log.debug;
-					_this.filter = $filter;
-
-					_this.valueHandlers = ['Threshold', 'Disable Criteria', 'Text Only'];
-					_this.aggregations = ['Last', 'First', 'Max', 'Min', 'Sum', 'Avg'];
-					_this.displayTypes = ['Regular', 'Annotation'];
-
-					_this.panel.flipTime = _this.panel.flipTime || 5;
-
-					/** Bind events to functions **/
-					_this.events.on('render', _this.onRender.bind(_this));
-					_this.events.on('refresh', _this.postRefresh.bind(_this));
-					_this.events.on('data-error', _this.onDataError.bind(_this));
-					_this.events.on('data-received', _this.onDataReceived.bind(_this));
-					_this.events.on('data-snapshot-load', _this.onDataReceived.bind(_this));
-					_this.events.on('init-edit-mode', _this.onInitEditMode.bind(_this));
-
-					_this.addFilters();
-					return _this;
-				}
-
-				_createClass(StatusPluginCtrl, [{
-					key: "addFilters",
-					value: function addFilters() {
-						var _this2 = this;
-
-						coreModule.filter('numberOrText', function () {
-							var numberOrTextFilter = function numberOrTextFilter(input) {
-								if (angular.isNumber(input)) {
-									return _this2.filter('number')(input);
-								} else {
-									return input;
-								}
-							};
-
-							numberOrTextFilter.$stateful = true;
-							return numberOrTextFilter;
-						});
-
-						coreModule.filter('numberOrTextWithRegex', function () {
-							var numberOrTextFilter = function numberOrTextFilter(input, textRegex) {
-								if (angular.isNumber(input)) {
-									return _this2.filter('number')(input);
-								} else {
-									if (textRegex == null || textRegex.length == 0) {
-										return input;
-									} else {
-										var regex = void 0;
-
-										try {
-											regex = new RegExp(textRegex);
-										} catch (e) {
-											return input;
-										}
-
-										var matchResults = input.match(regex);
-										if (matchResults == null) {
-											return input;
-										} else {
-											return matchResults[0];
-										}
-									}
-								}
-							};
-
-							numberOrTextFilter.$stateful = true;
-							return numberOrTextFilter;
-						});
-					}
-				}, {
-					key: "postRefresh",
-					value: function postRefresh() {
-						var _this3 = this;
-
-						if (this.panel.fixedSpan) {
-							this.panel.span = this.panel.fixedSpan;
-						}
-
-						this.measurements = this.panel.targets;
-
-						/** Duplicate alias validation **/
-						this.duplicates = false;
-
-						this.measurements = _.filter(this.measurements, function (measurement) {
-							return !measurement.hide;
-						});
-
-						_.each(this.measurements, function (m) {
-							var res = _.filter(_this3.measurements, function (measurement) {
-								return (m.alias == measurement.alias || m.target == measurement.target && m.target) && !m.hide;
-							});
-
-							if (res.length > 1) {
-								_this3.duplicates = true;
-							}
-						});
-					}
-				}, {
-					key: "onInitEditMode",
-					value: function onInitEditMode() {
-						this.addEditorTab('Options', 'public/plugins/vonage-status-panel/editor.html', 2);
-					}
-				}, {
-					key: "setElementHeight",
-					value: function setElementHeight() {
-						this.$panelContainer.find('.status-panel').css('min-height', this.$panelContoller.height + 'px');
-						this.minHeight = this.$panelContoller.height - 10;
-					}
-				}, {
-					key: "setTextMaxWidth",
-					value: function setTextMaxWidth() {
-						var tail = ' …';
-						var panelWidth = this.$panelContainer.innerWidth();
-						if (isNaN(panelWidth)) panelWidth = parseInt(panelWidth.slice(0, -2), 10) / 12;
-						panelWidth = panelWidth - 20;
-						this.maxWidth = panelWidth;
-					}
-				}, {
-					key: "onRender",
-					value: function onRender() {
-						var _this4 = this;
-
-						this.setElementHeight();
-						this.setTextMaxWidth();
-						this.upgradeOldVersion();
-
-						if (this.panel.clusterName) {
-							this.panel.displayName = this.filter('interpolateTemplateVars')(this.panel.clusterName, this.$scope).replace(new RegExp(this.panel.namePrefix, 'i'), '');
-						} else {
-							this.panel.displayName = "";
-						}
-
-						if (this.panel.flipCard) {
-							this.$panelContainer.addClass("effect-hover");
-						} else {
-							this.$panelContainer.removeClass("effect-hover");
-						}
-
-						var targets = this.panel.targets;
-
-						this.crit = [];
-						this.warn = [];
-						this.disabled = [];
-						this.display = [];
-						this.annotation = [];
-
-						_.each(this.series, function (s) {
-							var target = _.find(targets, function (target) {
-								return target.alias == s.alias || target.target == s.alias;
-							});
-
-							if (!target) {
-								return;
-							}
-
-							s.alias = target.alias;
-							s.url = target.url;
-							s.display = true;
-							s.displayType = target.displayType;
-							s.valueDisplayRegex = "";
-
-							if (_this4.validateRegex(target.valueDisplayRegex)) {
-								s.valueDisplayRegex = target.valueDisplayRegex;
-							}
-
-							var value = void 0;
-							switch (target.aggregation) {
-								case 'Max':
-									value = _.max(s.datapoints, function (point) {
-										return point[0];
-									})[0];
-									value = s.stats.max;
-									break;
-								case 'Min':
-									value = _.min(s.datapoints, function (point) {
-										return point[0];
-									})[0];
-									value = s.stats.min;
-									break;
-								case 'Sum':
-									value = 0;
-									_.each(s.datapoints, function (point) {
-										value += point[0];
-									});
-									value = s.stats.total;
-									break;
-								case 'Avg':
-									value = s.stats.avg;
-									break;
-								case 'First':
-									value = s.datapoints[0][0];
-									break;
-								default:
-									value = s.datapoints[s.datapoints.length - 1][0];
-							}
-
-							s.display_value = value;
-
-							if (target.valueHandler == "Threshold") {
-								_this4.handleThresholdStatus(s, target);
-							} else if (target.valueHandler == "Disable Criteria") {
-								_this4.handleDisabledStatus(s, target);
-							} else if (target.valueHandler == "Text Only") {
-								_this4.handleTextOnly(s, target);
-							}
-						});
-
-						if (this.disabled.length > 0) {
-							this.crit = [];
-							this.warn = [];
-							this.display = [];
-						}
-
-						this.autoFlip();
-						this.handleCssDisplay();
-						this.parseUri();
-					}
-				}, {
-					key: "upgradeOldVersion",
-					value: function upgradeOldVersion() {
-						var _this5 = this;
-
-						var targets = this.panel.targets;
-
-						//Handle legacy code
-						_.each(targets, function (target) {
-							if (target.valueHandler == null) {
-								target.valueHandler = target.displayType;
-								if (target.valueHandler == "Annotation") {
-									target.valueHandler = "Text Only";
-								}
-								target.displayType = _this5.displayTypes[0];
-							}
-						});
-					}
-				}, {
-					key: "handleThresholdStatus",
-					value: function handleThresholdStatus(series, target) {
-						series.thresholds = StatusPluginCtrl.parseThresholds(target);
-						series.inverted = series.thresholds.crit < series.thresholds.warn;
-						series.display = target.display;
-
-						var isCritical = false;
-						var isWarning = false;
-						var isCheckRanges = series.thresholds.warnIsNumber && series.thresholds.critIsNumber;
-						if (isCheckRanges) {
-							if (!series.inverted) {
-								if (series.display_value >= series.thresholds.crit) {
-									isCritical = true;
-								} else if (series.display_value >= series.thresholds.warn) {
-									isWarning = true;
-								}
-							} else {
-								if (series.display_value <= series.thresholds.crit) {
-									isCritical = true;
-								} else if (series.display_value <= series.thresholds.warn) {
-									isWarning = true;
-								}
-							}
-						} else {
-							if (series.display_value == series.thresholds.crit) {
-								isCritical = true;
-							} else if (series.display_value == series.thresholds.warn) {
-								isWarning = true;
-							}
-						}
-
-						if (isCritical) {
-							this.crit.push(series);
-							series.displayType = this.displayTypes[0];
-						} else if (isWarning) {
-							this.warn.push(series);
-							series.displayType = this.displayTypes[0];
-						} else if (series.display) {
-							if (series.displayType == "Annotation") {
-								this.annotation.push(series);
-							} else {
-								this.display.push(series);
-							}
-						}
-					}
-				}, {
-					key: "handleDisabledStatus",
-					value: function handleDisabledStatus(series, target) {
-						series.displayType = this.displayTypes[0];
-						series.disabledValue = target.disabledValue;
-
-						if (series.display_value == series.disabledValue) {
-							this.disabled.push(series);
-						}
-					}
-				}, {
-					key: "handleTextOnly",
-					value: function handleTextOnly(series, target) {
-						if (series.displayType == "Annotation") {
-							this.annotation.push(series);
-						} else {
-							this.display.push(series);
-						}
-					}
-				}, {
-					key: "handleCssDisplay",
-					value: function handleCssDisplay() {
-						this.$panelContainer.removeClass('error-state warn-state disabled-state ok-state no-data-state');
-
-						if (this.duplicates) {
-							this.$panelContainer.addClass('error-state');
-						} else if (this.disabled.length > 0) {
-							this.$panelContainer.addClass('disabled-state');
-						} else if (this.crit.length > 0) {
-							this.$panelContainer.addClass('error-state');
-						} else if (this.warn.length > 0) {
-							this.$panelContainer.addClass('warn-state');
-						} else if ((this.series == undefined || this.series.length == 0) && this.panel.isGrayOnNoData) {
-							this.$panelContainer.addClass('no-data-state');
-						} else {
-							this.$panelContainer.addClass('ok-state');
-						}
-					}
-				}, {
-					key: "parseUri",
-					value: function parseUri() {
-						if (this.panel.links && this.panel.links.length > 0) {
-							var link = this.panel.links[0];
-
-							if (link.type == "absolute") {
-								this.uri = link.url;
-							} else {
-								this.uri = 'dashboard/' + link.dashUri;
-							}
-
-							if (link.params) {
-								this.uri += "?" + link.params;
-							}
-
-							this.targetBlank = link.targetBlank;
-						} else {
-							this.uri = undefined;
-						}
-					}
-				}, {
-					key: "validateRegex",
-					value: function validateRegex(textRegex) {
-						if (textRegex == null || textRegex.length == 0) {
-							return true;
-						}
-						try {
-							var regex = new RegExp(textRegex);
-							return true;
-						} catch (e) {
-							return false;
-						}
-					}
-				}, {
-					key: "onDataReceived",
-					value: function onDataReceived(dataList) {
-						this.series = dataList.map(StatusPluginCtrl.seriesHandler.bind(this));
-						this.render();
-					}
-				}, {
-					key: "onDataError",
-					value: function onDataError() {
-						this.crit = [];
-						this.warn = [];
-					}
-				}, {
-					key: "$onDestroy",
-					value: function $onDestroy() {
-						if (this.timeoutId) clearInterval(this.timeoutId);
-					}
-				}, {
-					key: "autoFlip",
-					value: function autoFlip() {
-						var _this6 = this;
-
-						if (this.timeoutId) clearInterval(this.timeoutId);
-						if (this.panel.flipCard && (this.crit.length > 0 || this.warn.length > 0 || this.disabled.length > 0)) {
-							this.timeoutId = setInterval(function () {
-								_this6.$panelContainer.toggleClass("flipped");
-							}, this.panel.flipTime * 1000);
-						}
-					}
-				}, {
-					key: "link",
-					value: function link(scope, elem, attrs, ctrl) {
-						this.$panelContainer = elem.find('.panel-container');
-						this.$panelContainer.addClass("st-card");
-						this.$panelContoller = ctrl;
-					}
-				}], [{
-					key: "parseThresholds",
-					value: function parseThresholds(metricOptions) {
-						var res = {};
-
-						res.warnIsNumber = StatusPluginCtrl.isFloat(metricOptions.warn);
-						if (res.warnIsNumber) {
-							res.warn = parseFloat(metricOptions.warn);
-						} else {
-							res.warn = metricOptions.warn;
-						}
-
-						res.critIsNumber = StatusPluginCtrl.isFloat(metricOptions.crit);
-						if (res.critIsNumber) {
-							res.crit = parseFloat(metricOptions.crit);
-						} else {
-							res.crit = metricOptions.crit;
-						}
-
-						return res;
-					}
-				}, {
-					key: "isFloat",
-					value: function isFloat(val) {
-						if (!isNaN(val) && val.toString().toLowerCase().indexOf('e') == -1) {
-							return true;
-						}
-						return false;
-					}
-				}, {
-					key: "seriesHandler",
-					value: function seriesHandler(seriesData) {
-						var series = new TimeSeries({
-							datapoints: seriesData.datapoints,
-							alias: seriesData.target
-						});
-
-						series.flotpairs = series.getFlotPairs("connected");
-
-						return series;
-					}
-				}]);
-
-				return StatusPluginCtrl;
-			}(MetricsPanelCtrl));
-
-			_export("StatusPluginCtrl", StatusPluginCtrl);
-
-			StatusPluginCtrl.templateUrl = 'module.html';
-		}
-	};
-});
-//# sourceMappingURL=status_ctrl.js.map
+"use strict";
+
+System.register(["app/plugins/sdk", "app/plugins/panel/graph/legend", "app/plugins/panel/graph/series_overrides_ctrl", "lodash", "app/core/time_series2", "app/core/core_module", "./css/status_panel.css!"], function (_export, _context) {
+	"use strict";
+
+	var MetricsPanelCtrl, _, TimeSeries, coreModule, _createClass, StatusPluginCtrl;
+
+	function _classCallCheck(instance, Constructor) {
+		if (!(instance instanceof Constructor)) {
+			throw new TypeError("Cannot call a class as a function");
+		}
+	}
+
+	function _possibleConstructorReturn(self, call) {
+		if (!self) {
+			throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+		}
+
+		return call && (typeof call === "object" || typeof call === "function") ? call : self;
+	}
+
+	function _inherits(subClass, superClass) {
+		if (typeof superClass !== "function" && superClass !== null) {
+			throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+		}
+
+		subClass.prototype = Object.create(superClass && superClass.prototype, {
+			constructor: {
+				value: subClass,
+				enumerable: false,
+				writable: true,
+				configurable: true
+			}
+		});
+		if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+	}
+
+	return {
+		setters: [function (_appPluginsSdk) {
+			MetricsPanelCtrl = _appPluginsSdk.MetricsPanelCtrl;
+		}, function (_appPluginsPanelGraphLegend) {}, function (_appPluginsPanelGraphSeries_overrides_ctrl) {}, function (_lodash) {
+			_ = _lodash.default;
+		}, function (_appCoreTime_series) {
+			TimeSeries = _appCoreTime_series.default;
+		}, function (_appCoreCore_module) {
+			coreModule = _appCoreCore_module.default;
+		}, function (_cssStatus_panelCss) {}],
+		execute: function () {
+			_createClass = function () {
+				function defineProperties(target, props) {
+					for (var i = 0; i < props.length; i++) {
+						var descriptor = props[i];
+						descriptor.enumerable = descriptor.enumerable || false;
+						descriptor.configurable = true;
+						if ("value" in descriptor) descriptor.writable = true;
+						Object.defineProperty(target, descriptor.key, descriptor);
+					}
+				}
+
+				return function (Constructor, protoProps, staticProps) {
+					if (protoProps) defineProperties(Constructor.prototype, protoProps);
+					if (staticProps) defineProperties(Constructor, staticProps);
+					return Constructor;
+				};
+			}();
+
+			_export("StatusPluginCtrl", StatusPluginCtrl = function (_MetricsPanelCtrl) {
+				_inherits(StatusPluginCtrl, _MetricsPanelCtrl);
+
+				/** @ngInject */
+				function StatusPluginCtrl($scope, $injector, $log, $filter, annotationsSrv) {
+					_classCallCheck(this, StatusPluginCtrl);
+
+					var _this = _possibleConstructorReturn(this, (StatusPluginCtrl.__proto__ || Object.getPrototypeOf(StatusPluginCtrl)).call(this, $scope, $injector));
+
+					//this.log = $log.debug;
+					_this.filter = $filter;
+
+					_this.valueHandlers = ['Threshold', 'Disable Criteria', 'Text Only'];
+					_this.aggregations = ['Last', 'First', 'Max', 'Min', 'Sum', 'Avg'];
+					_this.displayTypes = ['Regular', 'Annotation'];
+
+					_this.panel.flipTime = _this.panel.flipTime || 5;
+
+					/** Bind events to functions **/
+					_this.events.on('render', _this.onRender.bind(_this));
+					_this.events.on('refresh', _this.postRefresh.bind(_this));
+					_this.events.on('data-error', _this.onDataError.bind(_this));
+					_this.events.on('data-received', _this.onDataReceived.bind(_this));
+					_this.events.on('data-snapshot-load', _this.onDataReceived.bind(_this));
+					_this.events.on('init-edit-mode', _this.onInitEditMode.bind(_this));
+
+					_this.addFilters();
+					return _this;
+				}
+
+				_createClass(StatusPluginCtrl, [{
+					key: "addFilters",
+					value: function addFilters() {
+						var _this2 = this;
+
+						coreModule.filter('numberOrText', function () {
+							var numberOrTextFilter = function numberOrTextFilter(input) {
+								if (angular.isNumber(input)) {
+									return _this2.filter('number')(input);
+								} else {
+									return input;
+								}
+							};
+
+							numberOrTextFilter.$stateful = true;
+							return numberOrTextFilter;
+						});
+
+						coreModule.filter('numberOrTextWithRegex', function () {
+							var numberOrTextFilter = function numberOrTextFilter(input, textRegex) {
+								if (angular.isNumber(input)) {
+									return _this2.filter('number')(input);
+								} else {
+									if (textRegex == null || textRegex.length == 0) {
+										return input;
+									} else {
+										var regex = void 0;
+
+										try {
+											regex = new RegExp(textRegex);
+										} catch (e) {
+											return input;
+										}
+
+										var matchResults = input.match(regex);
+										if (matchResults == null) {
+											return input;
+										} else {
+											return matchResults[0];
+										}
+									}
+								}
+							};
+
+							numberOrTextFilter.$stateful = true;
+							return numberOrTextFilter;
+						});
+					}
+				}, {
+					key: "postRefresh",
+					value: function postRefresh() {
+						var _this3 = this;
+
+						if (this.panel.fixedSpan) {
+							this.panel.span = this.panel.fixedSpan;
+						}
+
+						this.measurements = this.panel.targets;
+
+						/** Duplicate alias validation **/
+						this.duplicates = false;
+
+						this.measurements = _.filter(this.measurements, function (measurement) {
+							return !measurement.hide;
+						});
+
+						_.each(this.measurements, function (m) {
+							var res = _.filter(_this3.measurements, function (measurement) {
+								return (m.alias == measurement.alias || m.target == measurement.target && m.target) && !m.hide;
+							});
+
+							if (res.length > 1) {
+								_this3.duplicates = true;
+							}
+						});
+					}
+				}, {
+					key: "onInitEditMode",
+					value: function onInitEditMode() {
+						this.addEditorTab('Options', 'public/plugins/vonage-status-panel/editor.html', 2);
+					}
+				}, {
+					key: "setElementHeight",
+					value: function setElementHeight() {
+						this.$panelContainer.find('.status-panel').css('min-height', this.$panelContoller.height + 'px');
+						this.minHeight = this.$panelContoller.height - 10;
+					}
+				}, {
+					key: "setTextMaxWidth",
+					value: function setTextMaxWidth() {
+						var tail = ' …';
+						var panelWidth = this.$panelContainer.innerWidth();
+						if (isNaN(panelWidth)) panelWidth = parseInt(panelWidth.slice(0, -2), 10) / 12;
+						panelWidth = panelWidth - 20;
+						this.maxWidth = panelWidth;
+					}
+				}, {
+					key: "onRender",
+					value: function onRender() {
+						var _this4 = this;
+
+						this.setElementHeight();
+						this.setTextMaxWidth();
+						this.upgradeOldVersion();
+
+						if (this.panel.clusterName) {
+							this.panel.displayName = this.filter('interpolateTemplateVars')(this.panel.clusterName, this.$scope).replace(new RegExp(this.panel.namePrefix, 'i'), '');
+						} else {
+							this.panel.displayName = "";
+						}
+
+						if (this.panel.flipCard) {
+							this.$panelContainer.addClass("effect-hover");
+						} else {
+							this.$panelContainer.removeClass("effect-hover");
+						}
+
+						var targets = this.panel.targets;
+
+						this.crit = [];
+						this.warn = [];
+						this.disabled = [];
+						this.display = [];
+						this.annotation = [];
+
+						_.each(this.series, function (s) {
+							var target = _.find(targets, function (target) {
+								return target.alias == s.alias || target.target == s.alias;
+							});
+
+							if (!target) {
+								return;
+							}
+
+							s.alias = target.alias;
+							s.url = target.url;
+							s.display = true;
+							s.displayType = target.displayType;
+							s.valueDisplayRegex = "";
+
+							if (_this4.validateRegex(target.valueDisplayRegex)) {
+								s.valueDisplayRegex = target.valueDisplayRegex;
+							}
+
+							var value = void 0;
+							switch (target.aggregation) {
+								case 'Max':
+									value = _.max(s.datapoints, function (point) {
+										return point[0];
+									})[0];
+									value = s.stats.max;
+									break;
+								case 'Min':
+									value = _.min(s.datapoints, function (point) {
+										return point[0];
+									})[0];
+									value = s.stats.min;
+									break;
+								case 'Sum':
+									value = 0;
+									_.each(s.datapoints, function (point) {
+										value += point[0];
+									});
+									value = s.stats.total;
+									break;
+								case 'Avg':
+									value = s.stats.avg;
+									break;
+								case 'First':
+									value = s.datapoints[0][0];
+									break;
+								default:
+									value = s.datapoints[s.datapoints.length - 1][0];
+							}
+
+							s.display_value = value;
+
+							if (target.valueHandler == "Threshold") {
+								_this4.handleThresholdStatus(s, target);
+							} else if (target.valueHandler == "Disable Criteria") {
+								_this4.handleDisabledStatus(s, target);
+							} else if (target.valueHandler == "Text Only") {
+								_this4.handleTextOnly(s, target);
+							}
+						});
+
+						if (this.disabled.length > 0) {
+							this.crit = [];
+							this.warn = [];
+							this.display = [];
+						}
+
+						this.autoFlip();
+						this.handleCssDisplay();
+						this.parseUri();
+					}
+				}, {
+					key: "upgradeOldVersion",
+					value: function upgradeOldVersion() {
+						var _this5 = this;
+
+						var targets = this.panel.targets;
+
+						//Handle legacy code
+						_.each(targets, function (target) {
+							if (target.valueHandler == null) {
+								target.valueHandler = target.displayType;
+								if (target.valueHandler == "Annotation") {
+									target.valueHandler = "Text Only";
+								}
+								target.displayType = _this5.displayTypes[0];
+							}
+						});
+					}
+				}, {
+					key: "handleThresholdStatus",
+					value: function handleThresholdStatus(series, target) {
+						series.thresholds = StatusPluginCtrl.parseThresholds(target);
+						series.inverted = series.thresholds.crit < series.thresholds.warn;
+						series.display = target.display;
+
+						var isCritical = false;
+						var isWarning = false;
+						var isCheckRanges = series.thresholds.warnIsNumber && series.thresholds.critIsNumber;
+						if (isCheckRanges) {
+							if (!series.inverted) {
+								if (series.display_value >= series.thresholds.crit) {
+									isCritical = true;
+								} else if (series.display_value >= series.thresholds.warn) {
+									isWarning = true;
+								}
+							} else {
+								if (series.display_value <= series.thresholds.crit) {
+									isCritical = true;
+								} else if (series.display_value <= series.thresholds.warn) {
+									isWarning = true;
+								}
+							}
+						} else {
+							if (series.display_value == series.thresholds.crit) {
+								isCritical = true;
+							} else if (series.display_value == series.thresholds.warn) {
+								isWarning = true;
+							}
+						}
+
+						if (isCritical) {
+							this.crit.push(series);
+							series.displayType = this.displayTypes[0];
+						} else if (isWarning) {
+							this.warn.push(series);
+							series.displayType = this.displayTypes[0];
+						} else if (series.display) {
+							if (series.displayType == "Annotation") {
+								this.annotation.push(series);
+							} else {
+								this.display.push(series);
+							}
+						}
+					}
+				}, {
+					key: "handleDisabledStatus",
+					value: function handleDisabledStatus(series, target) {
+						series.displayType = this.displayTypes[0];
+						series.disabledValue = target.disabledValue;
+
+						if (series.display_value == series.disabledValue) {
+							this.disabled.push(series);
+						}
+					}
+				}, {
+					key: "handleTextOnly",
+					value: function handleTextOnly(series, target) {
+						if (series.displayType == "Annotation") {
+							this.annotation.push(series);
+						} else {
+							this.display.push(series);
+						}
+					}
+				}, {
+					key: "handleCssDisplay",
+					value: function handleCssDisplay() {
+						this.$panelContainer.removeClass('error-state warn-state disabled-state ok-state no-data-state');
+
+						if (this.duplicates) {
+							this.$panelContainer.addClass('error-state');
+						} else if (this.disabled.length > 0) {
+							this.$panelContainer.addClass('disabled-state');
+						} else if (this.crit.length > 0) {
+							this.$panelContainer.addClass('error-state');
+						} else if (this.warn.length > 0) {
+							this.$panelContainer.addClass('warn-state');
+						} else if ((this.series == undefined || this.series.length == 0) && this.panel.isGrayOnNoData) {
+							this.$panelContainer.addClass('no-data-state');
+						} else {
+							this.$panelContainer.addClass('ok-state');
+						}
+					}
+				}, {
+					key: "parseUri",
+					value: function parseUri() {
+						if (this.panel.links && this.panel.links.length > 0) {
+							var link = this.panel.links[0];
+
+							if (link.type == "absolute") {
+								this.uri = link.url;
+							} else {
+								this.uri = 'dashboard/' + link.dashUri;
+							}
+
+							if (link.params) {
+								this.uri += "?" + link.params;
+							}
+
+							this.targetBlank = link.targetBlank;
+						} else {
+							this.uri = undefined;
+						}
+					}
+				}, {
+					key: "validateRegex",
+					value: function validateRegex(textRegex) {
+						if (textRegex == null || textRegex.length == 0) {
+							return true;
+						}
+						try {
+							var regex = new RegExp(textRegex);
+							return true;
+						} catch (e) {
+							return false;
+						}
+					}
+				}, {
+					key: "onDataReceived",
+					value: function onDataReceived(dataList) {
+						this.series = dataList.map(StatusPluginCtrl.seriesHandler.bind(this));
+						this.render();
+					}
+				}, {
+					key: "onDataError",
+					value: function onDataError() {
+						this.crit = [];
+						this.warn = [];
+					}
+				}, {
+					key: "$onDestroy",
+					value: function $onDestroy() {
+						if (this.timeoutId) clearInterval(this.timeoutId);
+					}
+				}, {
+					key: "autoFlip",
+					value: function autoFlip() {
+						var _this6 = this;
+
+						if (this.timeoutId) clearInterval(this.timeoutId);
+						if (this.panel.flipCard && (this.crit.length > 0 || this.warn.length > 0 || this.disabled.length > 0)) {
+							this.timeoutId = setInterval(function () {
+								_this6.$panelContainer.toggleClass("flipped");
+							}, this.panel.flipTime * 1000);
+						}
+					}
+				}, {
+					key: "link",
+					value: function link(scope, elem, attrs, ctrl) {
+						this.$panelContainer = elem.find('.panel-container');
+						this.$panelContainer.addClass("st-card");
+						this.$panelContoller = ctrl;
+					}
+				}], [{
+					key: "parseThresholds",
+					value: function parseThresholds(metricOptions) {
+						var res = {};
+
+						res.warnIsNumber = StatusPluginCtrl.isFloat(metricOptions.warn);
+						if (res.warnIsNumber) {
+							res.warn = parseFloat(metricOptions.warn);
+						} else {
+							res.warn = metricOptions.warn;
+						}
+
+						res.critIsNumber = StatusPluginCtrl.isFloat(metricOptions.crit);
+						if (res.critIsNumber) {
+							res.crit = parseFloat(metricOptions.crit);
+						} else {
+							res.crit = metricOptions.crit;
+						}
+
+						return res;
+					}
+				}, {
+					key: "isFloat",
+					value: function isFloat(val) {
+						if (!isNaN(val) && val.toString().toLowerCase().indexOf('e') == -1) {
+							return true;
+						}
+						return false;
+					}
+				}, {
+					key: "seriesHandler",
+					value: function seriesHandler(seriesData) {
+						var series = new TimeSeries({
+							datapoints: seriesData.datapoints,
+							alias: seriesData.target
+						});
+
+						series.flotpairs = series.getFlotPairs("connected");
+
+						return series;
+					}
+				}]);
+
+				return StatusPluginCtrl;
+			}(MetricsPanelCtrl));
+
+			_export("StatusPluginCtrl", StatusPluginCtrl);
+
+			StatusPluginCtrl.templateUrl = 'module.html';
+		}
+	};
+});
+//# sourceMappingURL=status_ctrl.js.map
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/package.json b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/package.json
index 8810b10372bfdc19cf65dd5eaaeb5b9c3cbfcf3b..307985956c87922d7dd2278e21df3ca179abf58d 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/package.json
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/package.json
@@ -1,31 +1,31 @@
-{
-  "name": "vonage-status-panel",
-  "private": true,
-  "version": "1.0.0",
-  "description": "",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/Vonage/Grafana_Status_panel.git"
-  },
-  "author": "",
-  "license": "ISC",
-  "devDependencies": {
-    "babel": "~6.5.1",
-    "grunt": "~0.4.5",
-    "grunt-babel": "~6.0.0",
-    "grunt-contrib-clean": "~0.6.0",
-    "grunt-contrib-copy": "~0.8.2",
-    "grunt-contrib-sass": "^1.0.0",
-    "grunt-contrib-uglify": "~0.11.0",
-    "grunt-contrib-watch": "^0.6.1",
-    "grunt-execute": "~0.2.2",
-    "grunt-systemjs-builder": "^0.2.5",
-    "load-grunt-tasks": "~3.2.0"
-  },
-  "dependencies": {
-    "babel-plugin-transform-es2015-for-of": "^6.6.0",
-    "babel-plugin-transform-es2015-modules-systemjs": "^6.5.0",
-    "babel-preset-es2015": "^6.5.0",
-    "lodash": "~4.0.0"
-  }
-}
+{
+  "name": "vonage-status-panel",
+  "private": true,
+  "version": "1.0.0",
+  "description": "",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/Vonage/Grafana_Status_panel.git"
+  },
+  "author": "",
+  "license": "ISC",
+  "devDependencies": {
+    "babel": "~6.5.1",
+    "grunt": "~0.4.5",
+    "grunt-babel": "~6.0.0",
+    "grunt-contrib-clean": "~0.6.0",
+    "grunt-contrib-copy": "~0.8.2",
+    "grunt-contrib-sass": "^1.0.0",
+    "grunt-contrib-uglify": "~0.11.0",
+    "grunt-contrib-watch": "^0.6.1",
+    "grunt-execute": "~0.2.2",
+    "grunt-systemjs-builder": "^0.2.5",
+    "load-grunt-tasks": "~3.2.0"
+  },
+  "dependencies": {
+    "babel-plugin-transform-es2015-for-of": "^6.6.0",
+    "babel-plugin-transform-es2015-modules-systemjs": "^6.5.0",
+    "babel-preset-es2015": "^6.5.0",
+    "lodash": "~4.0.0"
+  }
+}
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/css/status_panel.scss b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/css/status_panel.scss
index b561d3e2252d44e7b5aa664e8ddd549b4dfc1299..23942905fc55990b75eb85c323fae7059c08029d 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/css/status_panel.scss
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/css/status_panel.scss
@@ -1,121 +1,121 @@
-.status-panel {
-	position: relative;
-	width: 100%;
-	height: 100%;
-	text-align: center;
-
-	h1 {
-		font-size: 1.5rem;
-	}
-
-	.st-card-front {
-		position: absolute;
-		width: 100%;
-		height: 100%;
-
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-content: center;
-	}
-
-	.st-card-back {
-		.top_section {
-			.status-panel-annotation_row {
-				text-align: left;
-				font-size: 0.85rem;
-				padding-bottom: 10px;
-
-				.row-overflow {
-					max-width: 150px;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-				}
-			}
-		}
-
-		.bottom_section {
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			align-content: center;
-
-			.status_name_row {
-			}
-
-			.status_alerts_row {
-				min-height: 1px;
-			}
-		}
-	}
-
-	.st-card-front,
-	.st-card-back {
-	  backface-visibility: hidden;
-	  transition: transform 0.5s;
-	}
-}
-
-.st-card-front {
-	.ok-text, .warning-text, .fail-text, .no-data-text, .disabled-text {
-		display: none;
-		font-size: 2.0rem;
-	}
-}
-
-.ok-state {
-	background-color: green;
-
-	.ok-text {
-		display: block;
-	}
-}
-
-.warn-state {
-	background-color: orange;
-	.warning-text {
-		display: block;
-	}
-}
-
-.error-state {
-	background-color: red;
-	.fail-text {
-		display: block;
-	}
-}
-
-.no-data-state {
-	background-color: gray;
-
-	.no-data-text {
-		display: block;
-	}
-}
-
-.disabled-state {
-	background-color: gray;
-	.disabled-text {
-		display: block;
-	}
-}
-
-.st-card.effect-hover .st-card-back {
-	-webkit-transform: rotateY(-180deg);
-	transform: rotateY(-180deg);
-}
-
-.st-card.effect-hover:hover .st-card-front, .st-card.effect-hover.flipped .st-card-front {
-	-webkit-transform: rotateY(-180deg);
-	transform: rotateY(-180deg);
-}
-
-.st-card.effect-hover:hover .st-card-back, .st-card.effect-hover.flipped .st-card-back {
-	-webkit-transform: rotateY(0);
-	transform: rotateY(0);
-}
-
-.st-card:not(.effect-hover) .st-card-front {
-	display: none;
-}
+.status-panel {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	text-align: center;
+
+	h1 {
+		font-size: 1.5rem;
+	}
+
+	.st-card-front {
+		position: absolute;
+		width: 100%;
+		height: 100%;
+
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-content: center;
+	}
+
+	.st-card-back {
+		.top_section {
+			.status-panel-annotation_row {
+				text-align: left;
+				font-size: 0.85rem;
+				padding-bottom: 10px;
+
+				.row-overflow {
+					max-width: 150px;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					white-space: nowrap;
+				}
+			}
+		}
+
+		.bottom_section {
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-content: center;
+
+			.status_name_row {
+			}
+
+			.status_alerts_row {
+				min-height: 1px;
+			}
+		}
+	}
+
+	.st-card-front,
+	.st-card-back {
+	  backface-visibility: hidden;
+	  transition: transform 0.5s;
+	}
+}
+
+.st-card-front {
+	.ok-text, .warning-text, .fail-text, .no-data-text, .disabled-text {
+		display: none;
+		font-size: 2.0rem;
+	}
+}
+
+.ok-state {
+	background-color: green;
+
+	.ok-text {
+		display: block;
+	}
+}
+
+.warn-state {
+	background-color: orange;
+	.warning-text {
+		display: block;
+	}
+}
+
+.error-state {
+	background-color: red;
+	.fail-text {
+		display: block;
+	}
+}
+
+.no-data-state {
+	background-color: gray;
+
+	.no-data-text {
+		display: block;
+	}
+}
+
+.disabled-state {
+	background-color: gray;
+	.disabled-text {
+		display: block;
+	}
+}
+
+.st-card.effect-hover .st-card-back {
+	-webkit-transform: rotateY(-180deg);
+	transform: rotateY(-180deg);
+}
+
+.st-card.effect-hover:hover .st-card-front, .st-card.effect-hover.flipped .st-card-front {
+	-webkit-transform: rotateY(-180deg);
+	transform: rotateY(-180deg);
+}
+
+.st-card.effect-hover:hover .st-card-back, .st-card.effect-hover.flipped .st-card-back {
+	-webkit-transform: rotateY(0);
+	transform: rotateY(0);
+}
+
+.st-card:not(.effect-hover) .st-card-front {
+	display: none;
+}
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/editor.html b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/editor.html
index dfb54a471cc7ed0dd9f69c0de8370224d11fd77a..f4907f38101e00939c07663e77b85ae40e6e0271 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/editor.html
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/editor.html
@@ -1,205 +1,205 @@
-<div>
-	<strong>Note:</strong> Every metric has to have a unique <strong>Alias</strong> to be used
-</div>
-
-<div ng-show="ctrl.duplicates">
-	<strong>Error</strong>: There are multiple metrics with the same alias. Please give each metric a unique name.
-</div>
-
-<div class="editor-row">
-	<div class="section gf-form-group">
-		<h5 class="section-heading">{{ measurement.alias }}</h5>
-		<div class="gf-form">
-			<span class="gf-form-label width-12">Panel Title</span>
-			<input type="text" ng-model="ctrl.panel.clusterName" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<div class="gf-form">
-		  <span class="gf-form-label width-12">
-			Remove Prefix
-			<info-popover mode="right-normal">
-			  A prefix to remove from the name (helps when repeating panel over a template)
-			</info-popover>
-		  </span>
-			<input type="text" ng-model="ctrl.panel.namePrefix" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<gf-form-switch class="gf-form"
-						label-class="width-12"
-						label="Flip card" checked="ctrl.panel.flipCard"
-						on-change="ctrl.onRender()"></gf-form-switch>
-		<div class="gf-form">
-			<span class="gf-form-label width-12">Flip interval</span>
-			<input type="text" ng-model="ctrl.panel.flipTime" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
-		</div>
-		<gf-form-switch class="gf-form"
-						label-class="width-12"
-						label="Make panel gray when no data" checked="ctrl.panel.isGrayOnNoData"
-						on-change="ctrl.onRender()"></gf-form-switch>
-	</div>
-</div>
-
-<div>
-	<div class="editor-row" ng-repeat="measurement in ctrl.measurements">
-
-		<!--Metrics options header-->
-		<h5 class="section-heading" ng-if="measurement.alias">{{ measurement.alias }}</h5>
-		<div ng-if="!measurement.alias">
-			<h5 class="section-heading">Metric: {{ measurement.refId }}</h5>
-			<div>Please enter an alias for this measurement bellow</div>
-		</div>
-
-		<!--Display Settings-->
-		<div class="section gf-form-group">
-			<h5 class="section-heading">Display Settings</h5>
-
-			<!--Alias-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Alias
-				</span>
-				<input type="text" name="alias" ng-model="measurement.alias" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-			</div>
-
-			<!--Aggregation-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Aggregation
-				  <info-popover mode="right-normal">
-					What to do if the query returns multiple data points.
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.aggregation = (measurement.aggregation ? measurement.aggregation : ctrl.aggregations[0])"
-							ng-model="measurement.aggregation"
-							ng-options="t for t in ctrl.aggregations"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-
-			<!--Metric Display Regex-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Value Regex
-				  <info-popover mode="right-normal">
-					  A regex which will decide the part of the value to be displayed. <br/>
-					  In case the regex is empty or it doesn't match any part of the metrics value, all the metric value will be displayed.
-				  </info-popover>
-				</span>
-				<input type="text" name="valueDisplayRegex" ng-model="measurement.valueDisplayRegex" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" />
-				<div ng-if="!ctrl.validateRegex(measurement.valueDisplayRegex)" style="color: red; padding-left: 5px">
-					Invalid Regex
-				</div>
-			</div>
-
-			<!--Metric URL-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-				  Metric URL
-				  <info-popover mode="right-normal">
-					Make the name of the metric clickable, and send the user to a link (with explanations what to do when this error occurs)
-				  </info-popover>
-				</span>
-				<input type="text" name="url" ng-model="measurement.url" class="gf-form-input" style="width: 300px" ng-change="ctrl.onRender()" />
-			</div>
-		</div>
-
-		<div class="section gf-form-group">
-			<h5 class="section-heading">Metric display type</h5>
-
-			<!--Metric Handler Type-->
-			<div class="gf-form">
-				<span class="gf-form-label width-12">
-					Handler Type
-				  <info-popover mode="right-normal">
-					The type of data to show to the panel<br/>
-					<strong>Note:</strong> 'Threshold' will select the first value. <br/> <br/>
-					<strong>Threshold</strong> - Change background color of the panel if got warning / error + show the alias of the problematic metrics. <br/>
-					<strong>Disable Criteria</strong> - Change background color of the panel to grey if disabled. <br/>
-					<strong>Text Only</strong> - Show the alias + the value on the panel without any condition.
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.valueHandler = (measurement.valueHandler ? measurement.valueHandler : ctrl.valueHandlers[0])"
-							ng-model="measurement.valueHandler"
-							ng-options="t for t in ctrl.valueHandlers"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-
-			<!--Display Type-->
-			<div class="gf-form" ng-if="measurement.valueHandler != 'Disable Criteria'">
-				<span class="gf-form-label width-12">
-				  Display Type
-				  <info-popover mode="right-normal">
-					The location the value will be displayed<br/>
-					<strong>Regular</strong> - The alias + the value will be display in the center, under the panel title<br/>
-					<strong>Annotation</strong> - The alias + the value will be displayed on top left. If the value answers a threshold condition, it will displayed as regular state<br/>
-				  </info-popover>
-				</span>
-				<div class="gf-form-select-wrapper max-width-12">
-					<select class="gf-form-input"
-							ng-init="measurement.displayType = (measurement.displayType ? measurement.displayType : ctrl.displayTypes[0])"
-							ng-model="measurement.displayType"
-							ng-options="t for t in ctrl.displayTypes"
-							ng-change="ctrl.onRender()"
-							required></select>
-				</div>
-			</div>
-		</div>
-
-		<div class="section gf-form-group">
-			<!--Threshold Section-->
-			<div ng-if="measurement.valueHandler == 'Threshold'">
-				<h5 class="section-heading">Threshold
-					<info-popover mode="normal">
-						The Warning and Critical fields get numbers or strings. <br/>
-						In case both of them are numbers, the thresholds will be used as ranges, and metric value will be checked if it is in the warning/critical ranges.<br/>
-						In case one of them is string, the thresholds will check equality to the value.
-					</info-popover>
-				</h5>
-
-				<!--Warning threshold-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Warning
-					</span>
-					<input type="text" name="warn" ng-model="measurement.warn" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-
-				<!--Critical threshold-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Critical
-					</span>
-					<input type="text" name="crit" ng-model="measurement.crit" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-
-				<!--Show value for threshold-->
-				<gf-form-switch class="gf-form"
-								label-class="width-12"
-								tooltip="Show the metric also if threshold is not satisfied"
-								label="Show Always" checked="measurement.display"
-								on-change="ctrl.render()"></gf-form-switch>
-			</div>
-
-			<!--Disable Section-->
-			<div ng-if="measurement.valueHandler == 'Disable Criteria'">
-				<h5 class="section-heading">Disable Criteria</h5>
-
-				<!--Disable Criteria-->
-				<div class="gf-form">
-					<span class="gf-form-label width-12">
-					  Disable Value
-					   <info-popover mode="right-normal">
-					  The exact value which will make this panel to be displayed as disabled <br />
-					</info-popover>
-					</span>
-					<input type="text" name="disabledValue" ng-model="measurement.disabledValue" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
-				</div>
-			</div>
-		</div>
-	</div>
-</div>
+<div>
+	<strong>Note:</strong> Every metric has to have a unique <strong>Alias</strong> to be used
+</div>
+
+<div ng-show="ctrl.duplicates">
+	<strong>Error</strong>: There are multiple metrics with the same alias. Please give each metric a unique name.
+</div>
+
+<div class="editor-row">
+	<div class="section gf-form-group">
+		<h5 class="section-heading">{{ measurement.alias }}</h5>
+		<div class="gf-form">
+			<span class="gf-form-label width-12">Panel Title</span>
+			<input type="text" ng-model="ctrl.panel.clusterName" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<div class="gf-form">
+		  <span class="gf-form-label width-12">
+			Remove Prefix
+			<info-popover mode="right-normal">
+			  A prefix to remove from the name (helps when repeating panel over a template)
+			</info-popover>
+		  </span>
+			<input type="text" ng-model="ctrl.panel.namePrefix" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<gf-form-switch class="gf-form"
+						label-class="width-12"
+						label="Flip card" checked="ctrl.panel.flipCard"
+						on-change="ctrl.onRender()"></gf-form-switch>
+		<div class="gf-form">
+			<span class="gf-form-label width-12">Flip interval</span>
+			<input type="text" ng-model="ctrl.panel.flipTime" class="gf-form-input max-width-12" ng-change="ctrl.onRender()">
+		</div>
+		<gf-form-switch class="gf-form"
+						label-class="width-12"
+						label="Make panel gray when no data" checked="ctrl.panel.isGrayOnNoData"
+						on-change="ctrl.onRender()"></gf-form-switch>
+	</div>
+</div>
+
+<div>
+	<div class="editor-row" ng-repeat="measurement in ctrl.measurements">
+
+		<!--Metrics options header-->
+		<h5 class="section-heading" ng-if="measurement.alias">{{ measurement.alias }}</h5>
+		<div ng-if="!measurement.alias">
+			<h5 class="section-heading">Metric: {{ measurement.refId }}</h5>
+			<div>Please enter an alias for this measurement bellow</div>
+		</div>
+
+		<!--Display Settings-->
+		<div class="section gf-form-group">
+			<h5 class="section-heading">Display Settings</h5>
+
+			<!--Alias-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Alias
+				</span>
+				<input type="text" name="alias" ng-model="measurement.alias" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+			</div>
+
+			<!--Aggregation-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Aggregation
+				  <info-popover mode="right-normal">
+					What to do if the query returns multiple data points.
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.aggregation = (measurement.aggregation ? measurement.aggregation : ctrl.aggregations[0])"
+							ng-model="measurement.aggregation"
+							ng-options="t for t in ctrl.aggregations"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+
+			<!--Metric Display Regex-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Value Regex
+				  <info-popover mode="right-normal">
+					  A regex which will decide the part of the value to be displayed. <br/>
+					  In case the regex is empty or it doesn't match any part of the metrics value, all the metric value will be displayed.
+				  </info-popover>
+				</span>
+				<input type="text" name="valueDisplayRegex" ng-model="measurement.valueDisplayRegex" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" />
+				<div ng-if="!ctrl.validateRegex(measurement.valueDisplayRegex)" style="color: red; padding-left: 5px">
+					Invalid Regex
+				</div>
+			</div>
+
+			<!--Metric URL-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+				  Metric URL
+				  <info-popover mode="right-normal">
+					Make the name of the metric clickable, and send the user to a link (with explanations what to do when this error occurs)
+				  </info-popover>
+				</span>
+				<input type="text" name="url" ng-model="measurement.url" class="gf-form-input" style="width: 300px" ng-change="ctrl.onRender()" />
+			</div>
+		</div>
+
+		<div class="section gf-form-group">
+			<h5 class="section-heading">Metric display type</h5>
+
+			<!--Metric Handler Type-->
+			<div class="gf-form">
+				<span class="gf-form-label width-12">
+					Handler Type
+				  <info-popover mode="right-normal">
+					The type of data to show to the panel<br/>
+					<strong>Note:</strong> 'Threshold' will select the first value. <br/> <br/>
+					<strong>Threshold</strong> - Change background color of the panel if got warning / error + show the alias of the problematic metrics. <br/>
+					<strong>Disable Criteria</strong> - Change background color of the panel to grey if disabled. <br/>
+					<strong>Text Only</strong> - Show the alias + the value on the panel without any condition.
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.valueHandler = (measurement.valueHandler ? measurement.valueHandler : ctrl.valueHandlers[0])"
+							ng-model="measurement.valueHandler"
+							ng-options="t for t in ctrl.valueHandlers"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+
+			<!--Display Type-->
+			<div class="gf-form" ng-if="measurement.valueHandler != 'Disable Criteria'">
+				<span class="gf-form-label width-12">
+				  Display Type
+				  <info-popover mode="right-normal">
+					The location the value will be displayed<br/>
+					<strong>Regular</strong> - The alias + the value will be display in the center, under the panel title<br/>
+					<strong>Annotation</strong> - The alias + the value will be displayed on top left. If the value answers a threshold condition, it will displayed as regular state<br/>
+				  </info-popover>
+				</span>
+				<div class="gf-form-select-wrapper max-width-12">
+					<select class="gf-form-input"
+							ng-init="measurement.displayType = (measurement.displayType ? measurement.displayType : ctrl.displayTypes[0])"
+							ng-model="measurement.displayType"
+							ng-options="t for t in ctrl.displayTypes"
+							ng-change="ctrl.onRender()"
+							required></select>
+				</div>
+			</div>
+		</div>
+
+		<div class="section gf-form-group">
+			<!--Threshold Section-->
+			<div ng-if="measurement.valueHandler == 'Threshold'">
+				<h5 class="section-heading">Threshold
+					<info-popover mode="normal">
+						The Warning and Critical fields get numbers or strings. <br/>
+						In case both of them are numbers, the thresholds will be used as ranges, and metric value will be checked if it is in the warning/critical ranges.<br/>
+						In case one of them is string, the thresholds will check equality to the value.
+					</info-popover>
+				</h5>
+
+				<!--Warning threshold-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Warning
+					</span>
+					<input type="text" name="warn" ng-model="measurement.warn" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+
+				<!--Critical threshold-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Critical
+					</span>
+					<input type="text" name="crit" ng-model="measurement.crit" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+
+				<!--Show value for threshold-->
+				<gf-form-switch class="gf-form"
+								label-class="width-12"
+								tooltip="Show the metric also if threshold is not satisfied"
+								label="Show Always" checked="measurement.display"
+								on-change="ctrl.render()"></gf-form-switch>
+			</div>
+
+			<!--Disable Section-->
+			<div ng-if="measurement.valueHandler == 'Disable Criteria'">
+				<h5 class="section-heading">Disable Criteria</h5>
+
+				<!--Disable Criteria-->
+				<div class="gf-form">
+					<span class="gf-form-label width-12">
+					  Disable Value
+					   <info-popover mode="right-normal">
+					  The exact value which will make this panel to be displayed as disabled <br />
+					</info-popover>
+					</span>
+					<input type="text" name="disabledValue" ng-model="measurement.disabledValue" class="gf-form-input max-width-12" ng-change="ctrl.onRender()" required />
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/img/icon_status_panel.svg b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/img/icon_status_panel.svg
index 36bf7396dc20cf045fe9830d257e45359a3de6a1..d7b8d42365da75273e5a7f39ebb7bda21807d4ae 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/img/icon_status_panel.svg
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/img/icon_status_panel.svg
@@ -1,410 +1,410 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="100px" height="100px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
-<style type="text/css">
-	.st0{fill:#1F1F1F;}
-	.st1{fill:none;}
-	.st2{opacity:0.5;fill:#4D4D4D;}
-	.st3{fill:#898989;}
-	.st4{fill:url(#SVGID_1_);}
-	.st5{fill:url(#SVGID_2_);}
-	.st6{fill:url(#SVGID_3_);}
-	.st7{fill:url(#SVGID_4_);}
-	.st8{fill:url(#SVGID_5_);}
-	.st9{fill:url(#SVGID_6_);}
-	.st10{fill:url(#SVGID_7_);}
-	.st11{fill:url(#SVGID_8_);}
-	.st12{fill:url(#SVGID_9_);}
-	.st13{fill:url(#SVGID_10_);}
-	.st14{fill:url(#SVGID_11_);}
-	.st15{fill:url(#SVGID_12_);}
-	.st16{fill:url(#SVGID_13_);}
-	.st17{fill:url(#SVGID_14_);}
-	.st18{fill:url(#SVGID_15_);}
-	.st19{fill:url(#SVGID_16_);}
-</style>
-<g>
-	<rect class="st0" width="100" height="100"/>
-	<polygon class="st1" points="27.5,5.1 27.3,5.1 5,27.4 5,27.7 5,28 27.9,5.1 	"/>
-	<polygon class="st1" points="75.5,5.1 75.3,5.1 5,75.4 5,75.7 5,76 75.9,5.1 	"/>
-	<polygon class="st1" points="87.5,5.1 87.3,5.1 5,87.4 5,87.7 5,88 87.9,5.1 	"/>
-	<polygon class="st1" points="95,5.7 95,5.4 5.3,95.1 5.5,95.1 5.9,95.1 95,6 	"/>
-	<polygon class="st1" points="93.5,5.1 93.3,5.1 5,93.4 5,93.7 5,94 93.9,5.1 	"/>
-	<polygon class="st1" points="5.5,5.1 5.3,5.1 5,5.4 5,5.7 5,6 5.9,5.1 	"/>
-	<polygon class="st1" points="91.5,5.1 91.3,5.1 5,91.4 5,91.7 5,92 91.9,5.1 	"/>
-	<polygon class="st1" points="79.5,5.1 79.3,5.1 5,79.4 5,79.7 5,80 79.9,5.1 	"/>
-	<polygon class="st1" points="85.5,5.1 85.3,5.1 5,85.4 5,85.7 5,86 85.9,5.1 	"/>
-	<polygon class="st1" points="77.5,5.1 77.3,5.1 5,77.4 5,77.7 5,78 77.9,5.1 	"/>
-	<polygon class="st1" points="9.5,5.1 9.3,5.1 5,9.4 5,9.7 5,10 9.9,5.1 	"/>
-	<polygon class="st1" points="83.5,5.1 83.3,5.1 5,83.4 5,83.7 5,84 83.9,5.1 	"/>
-	<polygon class="st1" points="81.5,5.1 81.3,5.1 5,81.4 5,81.7 5,82 81.9,5.1 	"/>
-	<polygon class="st1" points="7.5,5.1 7.3,5.1 5,7.4 5,7.7 5,8 7.9,5.1 	"/>
-	<polygon class="st1" points="95,7.7 95,7.4 7.3,95.1 7.5,95.1 7.9,95.1 95,8 	"/>
-	<polygon class="st1" points="95,29.7 95,29.4 29.3,95.1 29.5,95.1 29.9,95.1 95,30 	"/>
-	<polygon class="st1" points="95,27.7 95,27.4 27.3,95.1 27.5,95.1 27.9,95.1 95,28 	"/>
-	<polygon class="st1" points="95,23.7 95,23.4 23.3,95.1 23.5,95.1 23.9,95.1 95,24 	"/>
-	<polygon class="st1" points="95,25.7 95,25.4 25.3,95.1 25.5,95.1 25.9,95.1 95,26 	"/>
-	<polygon class="st1" points="95,31.7 95,31.4 31.3,95.1 31.5,95.1 31.9,95.1 95,32 	"/>
-	<polygon class="st1" points="95,35.7 95,35.4 35.3,95.1 35.5,95.1 35.9,95.1 95,36 	"/>
-	<polygon class="st1" points="95,33.7 95,33.4 33.3,95.1 33.5,95.1 33.9,95.1 95,34 	"/>
-	<polygon class="st1" points="95,19.7 95,19.4 19.3,95.1 19.5,95.1 19.9,95.1 95,20 	"/>
-	<polygon class="st1" points="95,15.7 95,15.4 15.3,95.1 15.5,95.1 15.9,95.1 95,16 	"/>
-	<polygon class="st1" points="95,13.7 95,13.4 13.3,95.1 13.5,95.1 13.9,95.1 95,14 	"/>
-	<polygon class="st1" points="95,11.7 95,11.4 11.3,95.1 11.5,95.1 11.9,95.1 95,12 	"/>
-	<polygon class="st1" points="95,9.7 95,9.4 9.3,95.1 9.5,95.1 9.9,95.1 95,10 	"/>
-	<polygon class="st1" points="95,21.7 95,21.4 21.3,95.1 21.5,95.1 21.9,95.1 95,22 	"/>
-	<polygon class="st1" points="95,17.7 95,17.4 17.3,95.1 17.5,95.1 17.9,95.1 95,18 	"/>
-	<polygon class="st1" points="15.5,5.1 15.3,5.1 5,15.4 5,15.7 5,16 15.9,5.1 	"/>
-	<polygon class="st1" points="39.5,5.1 39.3,5.1 5,39.4 5,39.7 5,40 39.9,5.1 	"/>
-	<polygon class="st1" points="19.5,5.1 19.3,5.1 5,19.4 5,19.7 5,20 19.9,5.1 	"/>
-	<polygon class="st1" points="41.5,5.1 41.3,5.1 5,41.4 5,41.7 5,42 41.9,5.1 	"/>
-	<polygon class="st1" points="43.5,5.1 43.3,5.1 5,43.4 5,43.7 5,44 43.9,5.1 	"/>
-	<polygon class="st1" points="17.5,5.1 17.3,5.1 5,17.4 5,17.7 5,18 17.9,5.1 	"/>
-	<polygon class="st1" points="45.5,5.1 45.3,5.1 5,45.4 5,45.7 5,46 45.9,5.1 	"/>
-	<polygon class="st1" points="95,37.7 95,37.4 37.3,95.1 37.5,95.1 37.9,95.1 95,38 	"/>
-	<polygon class="st1" points="37.5,5.1 37.3,5.1 5,37.4 5,37.7 5,38 37.9,5.1 	"/>
-	<polygon class="st1" points="25.5,5.1 25.3,5.1 5,25.4 5,25.7 5,26 25.9,5.1 	"/>
-	<polygon class="st1" points="29.5,5.1 29.3,5.1 5,29.4 5,29.7 5,30 29.9,5.1 	"/>
-	<polygon class="st1" points="31.5,5.1 31.3,5.1 5,31.4 5,31.7 5,32 31.9,5.1 	"/>
-	<polygon class="st1" points="33.5,5.1 33.3,5.1 5,33.4 5,33.7 5,34 33.9,5.1 	"/>
-	<polygon class="st1" points="21.5,5.1 21.3,5.1 5,21.4 5,21.7 5,22 21.9,5.1 	"/>
-	<polygon class="st1" points="35.5,5.1 35.3,5.1 5,35.4 5,35.7 5,36 35.9,5.1 	"/>
-	<polygon class="st1" points="23.5,5.1 23.3,5.1 5,23.4 5,23.7 5,24 23.9,5.1 	"/>
-	<polygon class="st1" points="73.5,5.1 73.3,5.1 5,73.4 5,73.7 5,74 73.9,5.1 	"/>
-	<polygon class="st1" points="67.5,5.1 67.3,5.1 5,67.4 5,67.7 5,68 67.9,5.1 	"/>
-	<polygon class="st1" points="69.5,5.1 69.3,5.1 5,69.4 5,69.7 5,70 69.9,5.1 	"/>
-	<polygon class="st1" points="63.5,5.1 63.3,5.1 5,63.4 5,63.7 5,64 63.9,5.1 	"/>
-	<polygon class="st1" points="65.5,5.1 65.3,5.1 5,65.4 5,65.7 5,66 65.9,5.1 	"/>
-	<polygon class="st1" points="11.5,5.1 11.3,5.1 5,11.4 5,11.7 5,12 11.9,5.1 	"/>
-	<polygon class="st1" points="13.5,5.1 13.3,5.1 5,13.4 5,13.7 5,14 13.9,5.1 	"/>
-	<polygon class="st1" points="71.5,5.1 71.3,5.1 5,71.4 5,71.7 5,72 71.9,5.1 	"/>
-	<polygon class="st1" points="61.5,5.1 61.3,5.1 5,61.4 5,61.7 5,62 61.9,5.1 	"/>
-	<polygon class="st1" points="53.5,5.1 53.3,5.1 5,53.4 5,53.7 5,54 53.9,5.1 	"/>
-	<polygon class="st1" points="47.5,5.1 47.3,5.1 5,47.4 5,47.7 5,48 47.9,5.1 	"/>
-	<polygon class="st1" points="49.5,5.1 49.3,5.1 5,49.4 5,49.7 5,50 49.9,5.1 	"/>
-	<polygon class="st1" points="51.5,5.1 51.3,5.1 5,51.4 5,51.7 5,52 51.9,5.1 	"/>
-	<polygon class="st1" points="59.5,5.1 59.3,5.1 5,59.4 5,59.7 5,60 59.9,5.1 	"/>
-	<polygon class="st1" points="55.5,5.1 55.3,5.1 5,55.4 5,55.7 5,56 55.9,5.1 	"/>
-	<polygon class="st1" points="57.5,5.1 57.3,5.1 5,57.4 5,57.7 5,58 57.9,5.1 	"/>
-	<polygon class="st1" points="89.5,5.1 89.3,5.1 5,89.4 5,89.7 5,90 89.9,5.1 	"/>
-	<polygon class="st1" points="95,63.7 95,63.4 63.3,95.1 63.5,95.1 63.9,95.1 95,64 	"/>
-	<polygon class="st1" points="95,65.7 95,65.4 65.3,95.1 65.5,95.1 65.9,95.1 95,66 	"/>
-	<polygon class="st1" points="95,51.7 95,51.4 51.3,95.1 51.5,95.1 51.9,95.1 95,52 	"/>
-	<polygon class="st1" points="95,61.7 95,61.4 61.3,95.1 61.5,95.1 61.9,95.1 95,62 	"/>
-	<polygon class="st1" points="95,69.7 95,69.4 69.3,95.1 69.5,95.1 69.9,95.1 95,70 	"/>
-	<polygon class="st1" points="95,55.7 95,55.4 55.3,95.1 55.5,95.1 55.9,95.1 95,56 	"/>
-	<polygon class="st1" points="95,71.7 95,71.4 71.3,95.1 71.5,95.1 71.9,95.1 95,72 	"/>
-	<polygon class="st1" points="95,59.7 95,59.4 59.3,95.1 59.5,95.1 59.9,95.1 95,60 	"/>
-	<polygon class="st1" points="95,53.7 95,53.4 53.3,95.1 53.5,95.1 53.9,95.1 95,54 	"/>
-	<polygon class="st1" points="95,57.7 95,57.4 57.3,95.1 57.5,95.1 57.9,95.1 95,58 	"/>
-	<polygon class="st1" points="95,67.7 95,67.4 67.3,95.1 67.5,95.1 67.9,95.1 95,68 	"/>
-	<polygon class="st1" points="95,83.7 95,83.4 83.3,95.1 83.5,95.1 83.9,95.1 95,84 	"/>
-	<polygon class="st1" points="95,85.7 95,85.4 85.3,95.1 85.5,95.1 85.9,95.1 95,86 	"/>
-	<polygon class="st1" points="95,73.7 95,73.4 73.3,95.1 73.5,95.1 73.9,95.1 95,74 	"/>
-	<polygon class="st1" points="95,89.7 95,89.4 89.3,95.1 89.5,95.1 89.9,95.1 95,90 	"/>
-	<polygon class="st1" points="95,91.7 95,91.4 91.3,95.1 91.5,95.1 91.9,95.1 95,92 	"/>
-	<polygon class="st1" points="95,93.7 95,93.4 93.3,95.1 93.5,95.1 93.9,95.1 95,94 	"/>
-	<polygon class="st1" points="95,77.7 95,77.4 77.3,95.1 77.5,95.1 77.9,95.1 95,78 	"/>
-	<polygon class="st1" points="95,75.7 95,75.4 75.3,95.1 75.5,95.1 75.9,95.1 95,76 	"/>
-	<polygon class="st1" points="95,81.7 95,81.4 81.3,95.1 81.5,95.1 81.9,95.1 95,82 	"/>
-	<polygon class="st1" points="95,79.7 95,79.4 79.3,95.1 79.5,95.1 79.9,95.1 95,80 	"/>
-	<polygon class="st1" points="95,87.7 95,87.4 87.3,95.1 87.5,95.1 87.9,95.1 95,88 	"/>
-	<polygon class="st1" points="95,43.7 95,43.4 43.3,95.1 43.5,95.1 43.9,95.1 95,44 	"/>
-	<polygon class="st1" points="95,41.7 95,41.4 41.3,95.1 41.5,95.1 41.9,95.1 95,42 	"/>
-	<polygon class="st1" points="95,47.7 95,47.4 47.3,95.1 47.5,95.1 47.9,95.1 95,48 	"/>
-	<polygon class="st1" points="95,39.7 95,39.4 39.3,95.1 39.5,95.1 39.9,95.1 95,40 	"/>
-	<polygon class="st1" points="95,45.7 95,45.4 45.3,95.1 45.5,95.1 45.9,95.1 95,46 	"/>
-	<polygon class="st1" points="95,49.7 95,49.4 49.3,95.1 49.5,95.1 49.9,95.1 95,50 	"/>
-	<polygon class="st2" points="5,5.1 5,5.4 5.3,5.1 	"/>
-	<polygon class="st2" points="6.9,5.1 5.9,5.1 5,6 5,7.1 5,7.4 7.3,5.1 	"/>
-	<polygon class="st2" points="8.9,5.1 7.9,5.1 5,8 5,9.1 5,9.4 9.3,5.1 	"/>
-	<polygon class="st2" points="10.9,5.1 9.9,5.1 5,10 5,11.1 5,11.4 11.3,5.1 	"/>
-	<polygon class="st2" points="12.9,5.1 11.9,5.1 5,12 5,13.1 5,13.4 13.3,5.1 	"/>
-	<polygon class="st2" points="14.9,5.1 13.9,5.1 5,14 5,15.1 5,15.4 15.3,5.1 	"/>
-	<polygon class="st2" points="16.9,5.1 15.9,5.1 5,16 5,17.1 5,17.4 17.3,5.1 	"/>
-	<polygon class="st2" points="18.9,5.1 17.9,5.1 5,18 5,19.1 5,19.4 19.3,5.1 	"/>
-	<polygon class="st2" points="20.9,5.1 19.9,5.1 5,20 5,21.1 5,21.4 21.3,5.1 	"/>
-	<polygon class="st2" points="22.9,5.1 21.9,5.1 5,22 5,23.1 5,23.4 23.3,5.1 	"/>
-	<polygon class="st2" points="24.9,5.1 23.9,5.1 5,24 5,25.1 5,25.4 25.3,5.1 	"/>
-	<polygon class="st2" points="26.9,5.1 25.9,5.1 5,26 5,27.1 5,27.4 27.3,5.1 	"/>
-	<polygon class="st2" points="28.9,5.1 27.9,5.1 5,28 5,29.1 5,29.4 29.3,5.1 	"/>
-	<polygon class="st2" points="30.9,5.1 29.9,5.1 5,30 5,31.1 5,31.4 31.3,5.1 	"/>
-	<polygon class="st2" points="32.9,5.1 31.9,5.1 5,32 5,33.1 5,33.4 33.3,5.1 	"/>
-	<polygon class="st2" points="34.9,5.1 33.9,5.1 5,34 5,35.1 5,35.4 35.3,5.1 	"/>
-	<polygon class="st2" points="36.9,5.1 35.9,5.1 5,36 5,37.1 5,37.4 37.3,5.1 	"/>
-	<polygon class="st2" points="38.9,5.1 37.9,5.1 5,38 5,39.1 5,39.4 39.3,5.1 	"/>
-	<polygon class="st2" points="40.9,5.1 39.9,5.1 5,40 5,41.1 5,41.4 41.3,5.1 	"/>
-	<polygon class="st2" points="42.9,5.1 41.9,5.1 5,42 5,43.1 5,43.4 43.3,5.1 	"/>
-	<polygon class="st2" points="44.9,5.1 43.9,5.1 5,44 5,45.1 5,45.4 45.3,5.1 	"/>
-	<polygon class="st2" points="46.9,5.1 45.9,5.1 5,46 5,47.1 5,47.4 47.3,5.1 	"/>
-	<polygon class="st2" points="48.9,5.1 47.9,5.1 5,48 5,49.1 5,49.4 49.3,5.1 	"/>
-	<polygon class="st2" points="50.9,5.1 49.9,5.1 5,50 5,51.1 5,51.4 51.3,5.1 	"/>
-	<polygon class="st2" points="52.9,5.1 51.9,5.1 5,52 5,53.1 5,53.4 53.3,5.1 	"/>
-	<polygon class="st2" points="54.9,5.1 53.9,5.1 5,54 5,55.1 5,55.4 55.3,5.1 	"/>
-	<polygon class="st2" points="56.9,5.1 55.9,5.1 5,56 5,57.1 5,57.4 57.3,5.1 	"/>
-	<polygon class="st2" points="58.9,5.1 57.9,5.1 5,58 5,59.1 5,59.4 59.3,5.1 	"/>
-	<polygon class="st2" points="60.9,5.1 59.9,5.1 5,60 5,61.1 5,61.4 61.3,5.1 	"/>
-	<polygon class="st2" points="62.9,5.1 61.9,5.1 5,62 5,63.1 5,63.4 63.3,5.1 	"/>
-	<polygon class="st2" points="64.9,5.1 63.9,5.1 5,64 5,65.1 5,65.4 65.3,5.1 	"/>
-	<polygon class="st2" points="66.9,5.1 65.9,5.1 5,66 5,67.1 5,67.4 67.3,5.1 	"/>
-	<polygon class="st2" points="68.9,5.1 67.9,5.1 5,68 5,69.1 5,69.4 69.3,5.1 	"/>
-	<polygon class="st2" points="70.9,5.1 69.9,5.1 5,70 5,71.1 5,71.4 71.3,5.1 	"/>
-	<polygon class="st2" points="72.9,5.1 71.9,5.1 5,72 5,73.1 5,73.4 73.3,5.1 	"/>
-	<polygon class="st2" points="74.9,5.1 73.9,5.1 5,74 5,75.1 5,75.4 75.3,5.1 	"/>
-	<polygon class="st2" points="76.9,5.1 75.9,5.1 5,76 5,77.1 5,77.4 77.3,5.1 	"/>
-	<polygon class="st2" points="78.9,5.1 77.9,5.1 5,78 5,79.1 5,79.4 79.3,5.1 	"/>
-	<polygon class="st2" points="80.9,5.1 79.9,5.1 5,80 5,81.1 5,81.4 81.3,5.1 	"/>
-	<polygon class="st2" points="82.9,5.1 81.9,5.1 5,82 5,83.1 5,83.4 83.3,5.1 	"/>
-	<polygon class="st2" points="84.9,5.1 83.9,5.1 5,84 5,85.1 5,85.4 85.3,5.1 	"/>
-	<polygon class="st2" points="86.9,5.1 85.9,5.1 5,86 5,87.1 5,87.4 87.3,5.1 	"/>
-	<polygon class="st2" points="88.9,5.1 87.9,5.1 5,88 5,89.1 5,89.4 89.3,5.1 	"/>
-	<polygon class="st2" points="90.9,5.1 89.9,5.1 5,90 5,91.1 5,91.4 91.3,5.1 	"/>
-	<polygon class="st2" points="92.9,5.1 91.9,5.1 5,92 5,93.1 5,93.4 93.3,5.1 	"/>
-	<polygon class="st2" points="95,5.1 94.9,5.1 93.9,5.1 5,94 5,95.1 5,95.1 5.3,95.1 95,5.4 	"/>
-	<polygon class="st2" points="95,7.1 95,6 5.9,95.1 6.9,95.1 7.3,95.1 95,7.4 	"/>
-	<polygon class="st2" points="95,9.1 95,8 7.9,95.1 8.9,95.1 9.3,95.1 95,9.4 	"/>
-	<polygon class="st2" points="95,11.1 95,10 9.9,95.1 10.9,95.1 11.3,95.1 95,11.4 	"/>
-	<polygon class="st2" points="95,13.1 95,12 11.9,95.1 12.9,95.1 13.3,95.1 95,13.4 	"/>
-	<polygon class="st2" points="95,15.1 95,14 13.9,95.1 14.9,95.1 15.3,95.1 95,15.4 	"/>
-	<polygon class="st2" points="95,17.1 95,16 15.9,95.1 16.9,95.1 17.3,95.1 95,17.4 	"/>
-	<polygon class="st2" points="95,19.1 95,18 17.9,95.1 18.9,95.1 19.3,95.1 95,19.4 	"/>
-	<polygon class="st2" points="95,21.1 95,20 19.9,95.1 20.9,95.1 21.3,95.1 95,21.4 	"/>
-	<polygon class="st2" points="95,23.1 95,22 21.9,95.1 22.9,95.1 23.3,95.1 95,23.4 	"/>
-	<polygon class="st2" points="95,25.1 95,24 23.9,95.1 24.9,95.1 25.3,95.1 95,25.4 	"/>
-	<polygon class="st2" points="95,27.1 95,26 25.9,95.1 26.9,95.1 27.3,95.1 95,27.4 	"/>
-	<polygon class="st2" points="95,29.1 95,28 27.9,95.1 28.9,95.1 29.3,95.1 95,29.4 	"/>
-	<polygon class="st2" points="95,31.1 95,30 29.9,95.1 30.9,95.1 31.3,95.1 95,31.4 	"/>
-	<polygon class="st2" points="95,33.1 95,32 31.9,95.1 32.9,95.1 33.3,95.1 95,33.4 	"/>
-	<polygon class="st2" points="95,35.1 95,34 33.9,95.1 34.9,95.1 35.3,95.1 95,35.4 	"/>
-	<polygon class="st2" points="95,37.1 95,36 35.9,95.1 36.9,95.1 37.3,95.1 95,37.4 	"/>
-	<polygon class="st2" points="95,39.1 95,38 37.9,95.1 38.9,95.1 39.3,95.1 95,39.4 	"/>
-	<polygon class="st2" points="95,41.1 95,40 39.9,95.1 40.9,95.1 41.3,95.1 95,41.4 	"/>
-	<polygon class="st2" points="95,43.1 95,42 41.9,95.1 42.9,95.1 43.3,95.1 95,43.4 	"/>
-	<polygon class="st2" points="95,45.1 95,44 43.9,95.1 44.9,95.1 45.3,95.1 95,45.4 	"/>
-	<polygon class="st2" points="95,47.1 95,46 45.9,95.1 46.9,95.1 47.3,95.1 95,47.4 	"/>
-	<polygon class="st2" points="95,49.1 95,48 47.9,95.1 48.9,95.1 49.3,95.1 95,49.4 	"/>
-	<polygon class="st2" points="95,51.1 95,50 49.9,95.1 50.9,95.1 51.3,95.1 95,51.4 	"/>
-	<polygon class="st2" points="95,53.1 95,52 51.9,95.1 52.9,95.1 53.3,95.1 95,53.4 	"/>
-	<polygon class="st2" points="95,55.1 95,54 53.9,95.1 54.9,95.1 55.3,95.1 95,55.4 	"/>
-	<polygon class="st2" points="95,57.1 95,56 55.9,95.1 56.9,95.1 57.3,95.1 95,57.4 	"/>
-	<polygon class="st2" points="95,59.1 95,58 57.9,95.1 58.9,95.1 59.3,95.1 95,59.4 	"/>
-	<polygon class="st2" points="95,61.1 95,60 59.9,95.1 60.9,95.1 61.3,95.1 95,61.4 	"/>
-	<polygon class="st2" points="95,63.1 95,62 61.9,95.1 62.9,95.1 63.3,95.1 95,63.4 	"/>
-	<polygon class="st2" points="95,65.1 95,64 63.9,95.1 64.9,95.1 65.3,95.1 95,65.4 	"/>
-	<polygon class="st2" points="95,67.1 95,66 65.9,95.1 66.9,95.1 67.3,95.1 95,67.4 	"/>
-	<polygon class="st2" points="95,69.1 95,68 67.9,95.1 68.9,95.1 69.3,95.1 95,69.4 	"/>
-	<polygon class="st2" points="95,71.1 95,70 69.9,95.1 70.9,95.1 71.3,95.1 95,71.4 	"/>
-	<polygon class="st2" points="95,73.1 95,72 71.9,95.1 72.9,95.1 73.3,95.1 95,73.4 	"/>
-	<polygon class="st2" points="95,75.1 95,74 73.9,95.1 74.9,95.1 75.3,95.1 95,75.4 	"/>
-	<polygon class="st2" points="95,77.1 95,76 75.9,95.1 76.9,95.1 77.3,95.1 95,77.4 	"/>
-	<polygon class="st2" points="95,79.1 95,78 77.9,95.1 78.9,95.1 79.3,95.1 95,79.4 	"/>
-	<polygon class="st2" points="95,81.1 95,80 79.9,95.1 80.9,95.1 81.3,95.1 95,81.4 	"/>
-	<polygon class="st2" points="95,83.1 95,82 81.9,95.1 82.9,95.1 83.3,95.1 95,83.4 	"/>
-	<polygon class="st2" points="95,85.1 95,84 83.9,95.1 84.9,95.1 85.3,95.1 95,85.4 	"/>
-	<polygon class="st2" points="95,87.1 95,86 85.9,95.1 86.9,95.1 87.3,95.1 95,87.4 	"/>
-	<polygon class="st2" points="95,89.1 95,88 87.9,95.1 88.9,95.1 89.3,95.1 95,89.4 	"/>
-	<polygon class="st2" points="95,91.1 95,90 89.9,95.1 90.9,95.1 91.3,95.1 95,91.4 	"/>
-	<polygon class="st2" points="95,93.1 95,92 91.9,95.1 92.9,95.1 93.3,95.1 95,93.4 	"/>
-	<polygon class="st2" points="95,95.1 95,95.1 95,94 93.9,95.1 94.9,95.1 	"/>
-	<path class="st3" d="M96,95v-0.6v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
-		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4V9V8.7V8.4V8.1V7V6.7V6.4V6.1V5V4.7V4.4V4.1h-0.1h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
-		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2H9.9h-1H8.5H8.3H7.9h-1H6.5
-		H6.3H4.9H4.3H4v0.3V5v1.4v0.2V7v1v0.4v0.2V9v1v0.4v0.2V11v1v0.4v0.2V13v1v0.4v0.2V15v1v0.4v0.2V17v1v0.4v0.2V19v1v0.4v0.2V21v1v0.4
-		v0.2V23v1v0.4v0.2V25v1v0.4v0.2V27v1v0.4v0.2V29v1v0.4v0.2V31v1v0.4v0.2V33v1v0.4v0.2V35v1v0.4v0.2V37v1v0.4v0.2V39v1v0.4v0.2V41v1
-		v0.4v0.2V43v1v0.4v0.2V45v1v0.4v0.2V47v1v0.4v0.2V49v1v0.4v0.2V51v1v0.4v0.2V53v1v0.4v0.2V55v1v0.4v0.2V57v1v0.4v0.2V59v1v0.4v0.2
-		V61v1v0.4v0.2V63v1v0.4v0.2V65v1v0.4v0.2V67v1v0.4v0.2V69v1v0.4v0.2V71v1v0.4v0.2V73v1v0.4v0.2V75v1v0.4v0.2V77v1v0.4v0.2V79v1v0.4
-		v0.2V81v1v0.4v0.2V83v1v0.4v0.2V85v1v0.4v0.2V87v1v0.4v0.2V89v1v0.4v0.2V91v1v0.4v0.2V93v1v0.4v0.2V95v1v0.1h0.3h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.6H96V95z
-		 M93.9,95.1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
-		h-0.2h-0.4h-1H9.5H9.3H8.9h-1H7.5H7.3H6.9h-1H5.5H5.3H5v-0.1v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
-		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1V9.7V9.4V9.1V8V7.7V7.4V7.1V6V5.7V5.4V5.1h0.3h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
-		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1H95v0.3v0.2V6v1v0.4
-		v0.2V8v1v0.4v0.2V10v1v0.4v0.2V12v1v0.4v0.2V14v1v0.4v0.2V16v1v0.4v0.2V18v1v0.4v0.2V20v1v0.4v0.2V22v1v0.4v0.2V24v1v0.4v0.2V26v1
-		v0.4v0.2V28v1v0.4v0.2V30v1v0.4v0.2V32v1v0.4v0.2V34v1v0.4v0.2V36v1v0.4v0.2V38v1v0.4v0.2V40v1v0.4v0.2V42v1v0.4v0.2V44v1v0.4v0.2
-		V46v1v0.4v0.2V48v1v0.4v0.2V50v1v0.4v0.2V52v1v0.4v0.2V54v1v0.4v0.2V56v1v0.4v0.2V58v1v0.4v0.2V60v1v0.4v0.2V62v1v0.4v0.2V64v1v0.4
-		v0.2V66v1v0.4v0.2V68v1v0.4v0.2V70v1v0.4v0.2V72v1v0.4v0.2V74v1v0.4v0.2V76v1v0.4v0.2V78v1v0.4v0.2V80v1v0.4v0.2V82v1v0.4v0.2V84v1
-		v0.4v0.2V86v1v0.4v0.2V88v1v0.4v0.2V90v1v0.4v0.2V92v1v0.4v0.2V94v1v0.1h-0.1H93.9z"/>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="26.9745" x2="17.4475" y2="-9.6175">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="7.4" y="7.3" class="st4" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="25.8788" x2="39.2057" y2="-6.0125">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="29.1" y="7.3" class="st5" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="60.964" y1="26.0979" x2="60.964" y2="-3.9383">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="50.9" y="7.3" class="st6" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="26.3171" x2="82.7222" y2="-10.4484">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="7.3" class="st7" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="48.0129" x2="17.4475" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="29.2" class="st8" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="48.0129" x2="39.2057" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="29.1" y="29.2" class="st9" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="60.964" y1="48.0129" x2="60.964" y2="14.2546">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="50.9" y="29.2" class="st10" width="20.1" height="20.1"/>
-	<g>
-		<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="48.6703" x2="82.7222" y2="21.4878">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="72.7" y="29.2" class="st11" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="70.8044" x2="17.4475" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="51.1" class="st12" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="69.9278" x2="39.2057" y2="39.4826">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="29.1" y="51.1" class="st13" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="60.964" y1="70.8044" x2="60.964" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="50.9" y="51.1" class="st14" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="70.8044" x2="82.7222" y2="35.7837">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="51.1" class="st15" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="92.7193" x2="17.4475" y2="60.5282">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="7.4" y="73" class="st16" width="20.1" height="20.1"/>
-	<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="91.8427" x2="39.2057" y2="59.2196">
-		<stop  offset="0" style="stop-color:#FFF33B"/>
-		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
-		<stop  offset="0.1303" style="stop-color:#FFD218"/>
-		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
-		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
-		<stop  offset="0.6685" style="stop-color:#F3903F"/>
-		<stop  offset="0.8876" style="stop-color:#ED683C"/>
-		<stop  offset="1" style="stop-color:#E93E3A"/>
-	</linearGradient>
-	<rect x="29.1" y="73" class="st17" width="20.1" height="20.1"/>
-	<g>
-		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="60.964" y1="92.9385" x2="60.964" y2="58.7505">
-			<stop  offset="0" style="stop-color:#EB2127"/>
-			<stop  offset="0.1593" style="stop-color:#DB2527"/>
-			<stop  offset="0.5086" style="stop-color:#C22B28"/>
-			<stop  offset="0.8013" style="stop-color:#B32C28"/>
-			<stop  offset="1" style="stop-color:#AD2C27"/>
-		</linearGradient>
-		<rect x="50.9" y="73" class="st18" width="20.1" height="20.1"/>
-	</g>
-	<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="92.7193" x2="82.7222" y2="60.5282">
-		<stop  offset="0" style="stop-color:#04A64D"/>
-		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
-		<stop  offset="0.3271" style="stop-color:#008E42"/>
-		<stop  offset="0.6074" style="stop-color:#007D39"/>
-		<stop  offset="0.8413" style="stop-color:#007333"/>
-		<stop  offset="1" style="stop-color:#006F31"/>
-	</linearGradient>
-	<rect x="72.7" y="73" class="st19" width="20.1" height="20.1"/>
-</g>
-</svg>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="100px" height="100px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#1F1F1F;}
+	.st1{fill:none;}
+	.st2{opacity:0.5;fill:#4D4D4D;}
+	.st3{fill:#898989;}
+	.st4{fill:url(#SVGID_1_);}
+	.st5{fill:url(#SVGID_2_);}
+	.st6{fill:url(#SVGID_3_);}
+	.st7{fill:url(#SVGID_4_);}
+	.st8{fill:url(#SVGID_5_);}
+	.st9{fill:url(#SVGID_6_);}
+	.st10{fill:url(#SVGID_7_);}
+	.st11{fill:url(#SVGID_8_);}
+	.st12{fill:url(#SVGID_9_);}
+	.st13{fill:url(#SVGID_10_);}
+	.st14{fill:url(#SVGID_11_);}
+	.st15{fill:url(#SVGID_12_);}
+	.st16{fill:url(#SVGID_13_);}
+	.st17{fill:url(#SVGID_14_);}
+	.st18{fill:url(#SVGID_15_);}
+	.st19{fill:url(#SVGID_16_);}
+</style>
+<g>
+	<rect class="st0" width="100" height="100"/>
+	<polygon class="st1" points="27.5,5.1 27.3,5.1 5,27.4 5,27.7 5,28 27.9,5.1 	"/>
+	<polygon class="st1" points="75.5,5.1 75.3,5.1 5,75.4 5,75.7 5,76 75.9,5.1 	"/>
+	<polygon class="st1" points="87.5,5.1 87.3,5.1 5,87.4 5,87.7 5,88 87.9,5.1 	"/>
+	<polygon class="st1" points="95,5.7 95,5.4 5.3,95.1 5.5,95.1 5.9,95.1 95,6 	"/>
+	<polygon class="st1" points="93.5,5.1 93.3,5.1 5,93.4 5,93.7 5,94 93.9,5.1 	"/>
+	<polygon class="st1" points="5.5,5.1 5.3,5.1 5,5.4 5,5.7 5,6 5.9,5.1 	"/>
+	<polygon class="st1" points="91.5,5.1 91.3,5.1 5,91.4 5,91.7 5,92 91.9,5.1 	"/>
+	<polygon class="st1" points="79.5,5.1 79.3,5.1 5,79.4 5,79.7 5,80 79.9,5.1 	"/>
+	<polygon class="st1" points="85.5,5.1 85.3,5.1 5,85.4 5,85.7 5,86 85.9,5.1 	"/>
+	<polygon class="st1" points="77.5,5.1 77.3,5.1 5,77.4 5,77.7 5,78 77.9,5.1 	"/>
+	<polygon class="st1" points="9.5,5.1 9.3,5.1 5,9.4 5,9.7 5,10 9.9,5.1 	"/>
+	<polygon class="st1" points="83.5,5.1 83.3,5.1 5,83.4 5,83.7 5,84 83.9,5.1 	"/>
+	<polygon class="st1" points="81.5,5.1 81.3,5.1 5,81.4 5,81.7 5,82 81.9,5.1 	"/>
+	<polygon class="st1" points="7.5,5.1 7.3,5.1 5,7.4 5,7.7 5,8 7.9,5.1 	"/>
+	<polygon class="st1" points="95,7.7 95,7.4 7.3,95.1 7.5,95.1 7.9,95.1 95,8 	"/>
+	<polygon class="st1" points="95,29.7 95,29.4 29.3,95.1 29.5,95.1 29.9,95.1 95,30 	"/>
+	<polygon class="st1" points="95,27.7 95,27.4 27.3,95.1 27.5,95.1 27.9,95.1 95,28 	"/>
+	<polygon class="st1" points="95,23.7 95,23.4 23.3,95.1 23.5,95.1 23.9,95.1 95,24 	"/>
+	<polygon class="st1" points="95,25.7 95,25.4 25.3,95.1 25.5,95.1 25.9,95.1 95,26 	"/>
+	<polygon class="st1" points="95,31.7 95,31.4 31.3,95.1 31.5,95.1 31.9,95.1 95,32 	"/>
+	<polygon class="st1" points="95,35.7 95,35.4 35.3,95.1 35.5,95.1 35.9,95.1 95,36 	"/>
+	<polygon class="st1" points="95,33.7 95,33.4 33.3,95.1 33.5,95.1 33.9,95.1 95,34 	"/>
+	<polygon class="st1" points="95,19.7 95,19.4 19.3,95.1 19.5,95.1 19.9,95.1 95,20 	"/>
+	<polygon class="st1" points="95,15.7 95,15.4 15.3,95.1 15.5,95.1 15.9,95.1 95,16 	"/>
+	<polygon class="st1" points="95,13.7 95,13.4 13.3,95.1 13.5,95.1 13.9,95.1 95,14 	"/>
+	<polygon class="st1" points="95,11.7 95,11.4 11.3,95.1 11.5,95.1 11.9,95.1 95,12 	"/>
+	<polygon class="st1" points="95,9.7 95,9.4 9.3,95.1 9.5,95.1 9.9,95.1 95,10 	"/>
+	<polygon class="st1" points="95,21.7 95,21.4 21.3,95.1 21.5,95.1 21.9,95.1 95,22 	"/>
+	<polygon class="st1" points="95,17.7 95,17.4 17.3,95.1 17.5,95.1 17.9,95.1 95,18 	"/>
+	<polygon class="st1" points="15.5,5.1 15.3,5.1 5,15.4 5,15.7 5,16 15.9,5.1 	"/>
+	<polygon class="st1" points="39.5,5.1 39.3,5.1 5,39.4 5,39.7 5,40 39.9,5.1 	"/>
+	<polygon class="st1" points="19.5,5.1 19.3,5.1 5,19.4 5,19.7 5,20 19.9,5.1 	"/>
+	<polygon class="st1" points="41.5,5.1 41.3,5.1 5,41.4 5,41.7 5,42 41.9,5.1 	"/>
+	<polygon class="st1" points="43.5,5.1 43.3,5.1 5,43.4 5,43.7 5,44 43.9,5.1 	"/>
+	<polygon class="st1" points="17.5,5.1 17.3,5.1 5,17.4 5,17.7 5,18 17.9,5.1 	"/>
+	<polygon class="st1" points="45.5,5.1 45.3,5.1 5,45.4 5,45.7 5,46 45.9,5.1 	"/>
+	<polygon class="st1" points="95,37.7 95,37.4 37.3,95.1 37.5,95.1 37.9,95.1 95,38 	"/>
+	<polygon class="st1" points="37.5,5.1 37.3,5.1 5,37.4 5,37.7 5,38 37.9,5.1 	"/>
+	<polygon class="st1" points="25.5,5.1 25.3,5.1 5,25.4 5,25.7 5,26 25.9,5.1 	"/>
+	<polygon class="st1" points="29.5,5.1 29.3,5.1 5,29.4 5,29.7 5,30 29.9,5.1 	"/>
+	<polygon class="st1" points="31.5,5.1 31.3,5.1 5,31.4 5,31.7 5,32 31.9,5.1 	"/>
+	<polygon class="st1" points="33.5,5.1 33.3,5.1 5,33.4 5,33.7 5,34 33.9,5.1 	"/>
+	<polygon class="st1" points="21.5,5.1 21.3,5.1 5,21.4 5,21.7 5,22 21.9,5.1 	"/>
+	<polygon class="st1" points="35.5,5.1 35.3,5.1 5,35.4 5,35.7 5,36 35.9,5.1 	"/>
+	<polygon class="st1" points="23.5,5.1 23.3,5.1 5,23.4 5,23.7 5,24 23.9,5.1 	"/>
+	<polygon class="st1" points="73.5,5.1 73.3,5.1 5,73.4 5,73.7 5,74 73.9,5.1 	"/>
+	<polygon class="st1" points="67.5,5.1 67.3,5.1 5,67.4 5,67.7 5,68 67.9,5.1 	"/>
+	<polygon class="st1" points="69.5,5.1 69.3,5.1 5,69.4 5,69.7 5,70 69.9,5.1 	"/>
+	<polygon class="st1" points="63.5,5.1 63.3,5.1 5,63.4 5,63.7 5,64 63.9,5.1 	"/>
+	<polygon class="st1" points="65.5,5.1 65.3,5.1 5,65.4 5,65.7 5,66 65.9,5.1 	"/>
+	<polygon class="st1" points="11.5,5.1 11.3,5.1 5,11.4 5,11.7 5,12 11.9,5.1 	"/>
+	<polygon class="st1" points="13.5,5.1 13.3,5.1 5,13.4 5,13.7 5,14 13.9,5.1 	"/>
+	<polygon class="st1" points="71.5,5.1 71.3,5.1 5,71.4 5,71.7 5,72 71.9,5.1 	"/>
+	<polygon class="st1" points="61.5,5.1 61.3,5.1 5,61.4 5,61.7 5,62 61.9,5.1 	"/>
+	<polygon class="st1" points="53.5,5.1 53.3,5.1 5,53.4 5,53.7 5,54 53.9,5.1 	"/>
+	<polygon class="st1" points="47.5,5.1 47.3,5.1 5,47.4 5,47.7 5,48 47.9,5.1 	"/>
+	<polygon class="st1" points="49.5,5.1 49.3,5.1 5,49.4 5,49.7 5,50 49.9,5.1 	"/>
+	<polygon class="st1" points="51.5,5.1 51.3,5.1 5,51.4 5,51.7 5,52 51.9,5.1 	"/>
+	<polygon class="st1" points="59.5,5.1 59.3,5.1 5,59.4 5,59.7 5,60 59.9,5.1 	"/>
+	<polygon class="st1" points="55.5,5.1 55.3,5.1 5,55.4 5,55.7 5,56 55.9,5.1 	"/>
+	<polygon class="st1" points="57.5,5.1 57.3,5.1 5,57.4 5,57.7 5,58 57.9,5.1 	"/>
+	<polygon class="st1" points="89.5,5.1 89.3,5.1 5,89.4 5,89.7 5,90 89.9,5.1 	"/>
+	<polygon class="st1" points="95,63.7 95,63.4 63.3,95.1 63.5,95.1 63.9,95.1 95,64 	"/>
+	<polygon class="st1" points="95,65.7 95,65.4 65.3,95.1 65.5,95.1 65.9,95.1 95,66 	"/>
+	<polygon class="st1" points="95,51.7 95,51.4 51.3,95.1 51.5,95.1 51.9,95.1 95,52 	"/>
+	<polygon class="st1" points="95,61.7 95,61.4 61.3,95.1 61.5,95.1 61.9,95.1 95,62 	"/>
+	<polygon class="st1" points="95,69.7 95,69.4 69.3,95.1 69.5,95.1 69.9,95.1 95,70 	"/>
+	<polygon class="st1" points="95,55.7 95,55.4 55.3,95.1 55.5,95.1 55.9,95.1 95,56 	"/>
+	<polygon class="st1" points="95,71.7 95,71.4 71.3,95.1 71.5,95.1 71.9,95.1 95,72 	"/>
+	<polygon class="st1" points="95,59.7 95,59.4 59.3,95.1 59.5,95.1 59.9,95.1 95,60 	"/>
+	<polygon class="st1" points="95,53.7 95,53.4 53.3,95.1 53.5,95.1 53.9,95.1 95,54 	"/>
+	<polygon class="st1" points="95,57.7 95,57.4 57.3,95.1 57.5,95.1 57.9,95.1 95,58 	"/>
+	<polygon class="st1" points="95,67.7 95,67.4 67.3,95.1 67.5,95.1 67.9,95.1 95,68 	"/>
+	<polygon class="st1" points="95,83.7 95,83.4 83.3,95.1 83.5,95.1 83.9,95.1 95,84 	"/>
+	<polygon class="st1" points="95,85.7 95,85.4 85.3,95.1 85.5,95.1 85.9,95.1 95,86 	"/>
+	<polygon class="st1" points="95,73.7 95,73.4 73.3,95.1 73.5,95.1 73.9,95.1 95,74 	"/>
+	<polygon class="st1" points="95,89.7 95,89.4 89.3,95.1 89.5,95.1 89.9,95.1 95,90 	"/>
+	<polygon class="st1" points="95,91.7 95,91.4 91.3,95.1 91.5,95.1 91.9,95.1 95,92 	"/>
+	<polygon class="st1" points="95,93.7 95,93.4 93.3,95.1 93.5,95.1 93.9,95.1 95,94 	"/>
+	<polygon class="st1" points="95,77.7 95,77.4 77.3,95.1 77.5,95.1 77.9,95.1 95,78 	"/>
+	<polygon class="st1" points="95,75.7 95,75.4 75.3,95.1 75.5,95.1 75.9,95.1 95,76 	"/>
+	<polygon class="st1" points="95,81.7 95,81.4 81.3,95.1 81.5,95.1 81.9,95.1 95,82 	"/>
+	<polygon class="st1" points="95,79.7 95,79.4 79.3,95.1 79.5,95.1 79.9,95.1 95,80 	"/>
+	<polygon class="st1" points="95,87.7 95,87.4 87.3,95.1 87.5,95.1 87.9,95.1 95,88 	"/>
+	<polygon class="st1" points="95,43.7 95,43.4 43.3,95.1 43.5,95.1 43.9,95.1 95,44 	"/>
+	<polygon class="st1" points="95,41.7 95,41.4 41.3,95.1 41.5,95.1 41.9,95.1 95,42 	"/>
+	<polygon class="st1" points="95,47.7 95,47.4 47.3,95.1 47.5,95.1 47.9,95.1 95,48 	"/>
+	<polygon class="st1" points="95,39.7 95,39.4 39.3,95.1 39.5,95.1 39.9,95.1 95,40 	"/>
+	<polygon class="st1" points="95,45.7 95,45.4 45.3,95.1 45.5,95.1 45.9,95.1 95,46 	"/>
+	<polygon class="st1" points="95,49.7 95,49.4 49.3,95.1 49.5,95.1 49.9,95.1 95,50 	"/>
+	<polygon class="st2" points="5,5.1 5,5.4 5.3,5.1 	"/>
+	<polygon class="st2" points="6.9,5.1 5.9,5.1 5,6 5,7.1 5,7.4 7.3,5.1 	"/>
+	<polygon class="st2" points="8.9,5.1 7.9,5.1 5,8 5,9.1 5,9.4 9.3,5.1 	"/>
+	<polygon class="st2" points="10.9,5.1 9.9,5.1 5,10 5,11.1 5,11.4 11.3,5.1 	"/>
+	<polygon class="st2" points="12.9,5.1 11.9,5.1 5,12 5,13.1 5,13.4 13.3,5.1 	"/>
+	<polygon class="st2" points="14.9,5.1 13.9,5.1 5,14 5,15.1 5,15.4 15.3,5.1 	"/>
+	<polygon class="st2" points="16.9,5.1 15.9,5.1 5,16 5,17.1 5,17.4 17.3,5.1 	"/>
+	<polygon class="st2" points="18.9,5.1 17.9,5.1 5,18 5,19.1 5,19.4 19.3,5.1 	"/>
+	<polygon class="st2" points="20.9,5.1 19.9,5.1 5,20 5,21.1 5,21.4 21.3,5.1 	"/>
+	<polygon class="st2" points="22.9,5.1 21.9,5.1 5,22 5,23.1 5,23.4 23.3,5.1 	"/>
+	<polygon class="st2" points="24.9,5.1 23.9,5.1 5,24 5,25.1 5,25.4 25.3,5.1 	"/>
+	<polygon class="st2" points="26.9,5.1 25.9,5.1 5,26 5,27.1 5,27.4 27.3,5.1 	"/>
+	<polygon class="st2" points="28.9,5.1 27.9,5.1 5,28 5,29.1 5,29.4 29.3,5.1 	"/>
+	<polygon class="st2" points="30.9,5.1 29.9,5.1 5,30 5,31.1 5,31.4 31.3,5.1 	"/>
+	<polygon class="st2" points="32.9,5.1 31.9,5.1 5,32 5,33.1 5,33.4 33.3,5.1 	"/>
+	<polygon class="st2" points="34.9,5.1 33.9,5.1 5,34 5,35.1 5,35.4 35.3,5.1 	"/>
+	<polygon class="st2" points="36.9,5.1 35.9,5.1 5,36 5,37.1 5,37.4 37.3,5.1 	"/>
+	<polygon class="st2" points="38.9,5.1 37.9,5.1 5,38 5,39.1 5,39.4 39.3,5.1 	"/>
+	<polygon class="st2" points="40.9,5.1 39.9,5.1 5,40 5,41.1 5,41.4 41.3,5.1 	"/>
+	<polygon class="st2" points="42.9,5.1 41.9,5.1 5,42 5,43.1 5,43.4 43.3,5.1 	"/>
+	<polygon class="st2" points="44.9,5.1 43.9,5.1 5,44 5,45.1 5,45.4 45.3,5.1 	"/>
+	<polygon class="st2" points="46.9,5.1 45.9,5.1 5,46 5,47.1 5,47.4 47.3,5.1 	"/>
+	<polygon class="st2" points="48.9,5.1 47.9,5.1 5,48 5,49.1 5,49.4 49.3,5.1 	"/>
+	<polygon class="st2" points="50.9,5.1 49.9,5.1 5,50 5,51.1 5,51.4 51.3,5.1 	"/>
+	<polygon class="st2" points="52.9,5.1 51.9,5.1 5,52 5,53.1 5,53.4 53.3,5.1 	"/>
+	<polygon class="st2" points="54.9,5.1 53.9,5.1 5,54 5,55.1 5,55.4 55.3,5.1 	"/>
+	<polygon class="st2" points="56.9,5.1 55.9,5.1 5,56 5,57.1 5,57.4 57.3,5.1 	"/>
+	<polygon class="st2" points="58.9,5.1 57.9,5.1 5,58 5,59.1 5,59.4 59.3,5.1 	"/>
+	<polygon class="st2" points="60.9,5.1 59.9,5.1 5,60 5,61.1 5,61.4 61.3,5.1 	"/>
+	<polygon class="st2" points="62.9,5.1 61.9,5.1 5,62 5,63.1 5,63.4 63.3,5.1 	"/>
+	<polygon class="st2" points="64.9,5.1 63.9,5.1 5,64 5,65.1 5,65.4 65.3,5.1 	"/>
+	<polygon class="st2" points="66.9,5.1 65.9,5.1 5,66 5,67.1 5,67.4 67.3,5.1 	"/>
+	<polygon class="st2" points="68.9,5.1 67.9,5.1 5,68 5,69.1 5,69.4 69.3,5.1 	"/>
+	<polygon class="st2" points="70.9,5.1 69.9,5.1 5,70 5,71.1 5,71.4 71.3,5.1 	"/>
+	<polygon class="st2" points="72.9,5.1 71.9,5.1 5,72 5,73.1 5,73.4 73.3,5.1 	"/>
+	<polygon class="st2" points="74.9,5.1 73.9,5.1 5,74 5,75.1 5,75.4 75.3,5.1 	"/>
+	<polygon class="st2" points="76.9,5.1 75.9,5.1 5,76 5,77.1 5,77.4 77.3,5.1 	"/>
+	<polygon class="st2" points="78.9,5.1 77.9,5.1 5,78 5,79.1 5,79.4 79.3,5.1 	"/>
+	<polygon class="st2" points="80.9,5.1 79.9,5.1 5,80 5,81.1 5,81.4 81.3,5.1 	"/>
+	<polygon class="st2" points="82.9,5.1 81.9,5.1 5,82 5,83.1 5,83.4 83.3,5.1 	"/>
+	<polygon class="st2" points="84.9,5.1 83.9,5.1 5,84 5,85.1 5,85.4 85.3,5.1 	"/>
+	<polygon class="st2" points="86.9,5.1 85.9,5.1 5,86 5,87.1 5,87.4 87.3,5.1 	"/>
+	<polygon class="st2" points="88.9,5.1 87.9,5.1 5,88 5,89.1 5,89.4 89.3,5.1 	"/>
+	<polygon class="st2" points="90.9,5.1 89.9,5.1 5,90 5,91.1 5,91.4 91.3,5.1 	"/>
+	<polygon class="st2" points="92.9,5.1 91.9,5.1 5,92 5,93.1 5,93.4 93.3,5.1 	"/>
+	<polygon class="st2" points="95,5.1 94.9,5.1 93.9,5.1 5,94 5,95.1 5,95.1 5.3,95.1 95,5.4 	"/>
+	<polygon class="st2" points="95,7.1 95,6 5.9,95.1 6.9,95.1 7.3,95.1 95,7.4 	"/>
+	<polygon class="st2" points="95,9.1 95,8 7.9,95.1 8.9,95.1 9.3,95.1 95,9.4 	"/>
+	<polygon class="st2" points="95,11.1 95,10 9.9,95.1 10.9,95.1 11.3,95.1 95,11.4 	"/>
+	<polygon class="st2" points="95,13.1 95,12 11.9,95.1 12.9,95.1 13.3,95.1 95,13.4 	"/>
+	<polygon class="st2" points="95,15.1 95,14 13.9,95.1 14.9,95.1 15.3,95.1 95,15.4 	"/>
+	<polygon class="st2" points="95,17.1 95,16 15.9,95.1 16.9,95.1 17.3,95.1 95,17.4 	"/>
+	<polygon class="st2" points="95,19.1 95,18 17.9,95.1 18.9,95.1 19.3,95.1 95,19.4 	"/>
+	<polygon class="st2" points="95,21.1 95,20 19.9,95.1 20.9,95.1 21.3,95.1 95,21.4 	"/>
+	<polygon class="st2" points="95,23.1 95,22 21.9,95.1 22.9,95.1 23.3,95.1 95,23.4 	"/>
+	<polygon class="st2" points="95,25.1 95,24 23.9,95.1 24.9,95.1 25.3,95.1 95,25.4 	"/>
+	<polygon class="st2" points="95,27.1 95,26 25.9,95.1 26.9,95.1 27.3,95.1 95,27.4 	"/>
+	<polygon class="st2" points="95,29.1 95,28 27.9,95.1 28.9,95.1 29.3,95.1 95,29.4 	"/>
+	<polygon class="st2" points="95,31.1 95,30 29.9,95.1 30.9,95.1 31.3,95.1 95,31.4 	"/>
+	<polygon class="st2" points="95,33.1 95,32 31.9,95.1 32.9,95.1 33.3,95.1 95,33.4 	"/>
+	<polygon class="st2" points="95,35.1 95,34 33.9,95.1 34.9,95.1 35.3,95.1 95,35.4 	"/>
+	<polygon class="st2" points="95,37.1 95,36 35.9,95.1 36.9,95.1 37.3,95.1 95,37.4 	"/>
+	<polygon class="st2" points="95,39.1 95,38 37.9,95.1 38.9,95.1 39.3,95.1 95,39.4 	"/>
+	<polygon class="st2" points="95,41.1 95,40 39.9,95.1 40.9,95.1 41.3,95.1 95,41.4 	"/>
+	<polygon class="st2" points="95,43.1 95,42 41.9,95.1 42.9,95.1 43.3,95.1 95,43.4 	"/>
+	<polygon class="st2" points="95,45.1 95,44 43.9,95.1 44.9,95.1 45.3,95.1 95,45.4 	"/>
+	<polygon class="st2" points="95,47.1 95,46 45.9,95.1 46.9,95.1 47.3,95.1 95,47.4 	"/>
+	<polygon class="st2" points="95,49.1 95,48 47.9,95.1 48.9,95.1 49.3,95.1 95,49.4 	"/>
+	<polygon class="st2" points="95,51.1 95,50 49.9,95.1 50.9,95.1 51.3,95.1 95,51.4 	"/>
+	<polygon class="st2" points="95,53.1 95,52 51.9,95.1 52.9,95.1 53.3,95.1 95,53.4 	"/>
+	<polygon class="st2" points="95,55.1 95,54 53.9,95.1 54.9,95.1 55.3,95.1 95,55.4 	"/>
+	<polygon class="st2" points="95,57.1 95,56 55.9,95.1 56.9,95.1 57.3,95.1 95,57.4 	"/>
+	<polygon class="st2" points="95,59.1 95,58 57.9,95.1 58.9,95.1 59.3,95.1 95,59.4 	"/>
+	<polygon class="st2" points="95,61.1 95,60 59.9,95.1 60.9,95.1 61.3,95.1 95,61.4 	"/>
+	<polygon class="st2" points="95,63.1 95,62 61.9,95.1 62.9,95.1 63.3,95.1 95,63.4 	"/>
+	<polygon class="st2" points="95,65.1 95,64 63.9,95.1 64.9,95.1 65.3,95.1 95,65.4 	"/>
+	<polygon class="st2" points="95,67.1 95,66 65.9,95.1 66.9,95.1 67.3,95.1 95,67.4 	"/>
+	<polygon class="st2" points="95,69.1 95,68 67.9,95.1 68.9,95.1 69.3,95.1 95,69.4 	"/>
+	<polygon class="st2" points="95,71.1 95,70 69.9,95.1 70.9,95.1 71.3,95.1 95,71.4 	"/>
+	<polygon class="st2" points="95,73.1 95,72 71.9,95.1 72.9,95.1 73.3,95.1 95,73.4 	"/>
+	<polygon class="st2" points="95,75.1 95,74 73.9,95.1 74.9,95.1 75.3,95.1 95,75.4 	"/>
+	<polygon class="st2" points="95,77.1 95,76 75.9,95.1 76.9,95.1 77.3,95.1 95,77.4 	"/>
+	<polygon class="st2" points="95,79.1 95,78 77.9,95.1 78.9,95.1 79.3,95.1 95,79.4 	"/>
+	<polygon class="st2" points="95,81.1 95,80 79.9,95.1 80.9,95.1 81.3,95.1 95,81.4 	"/>
+	<polygon class="st2" points="95,83.1 95,82 81.9,95.1 82.9,95.1 83.3,95.1 95,83.4 	"/>
+	<polygon class="st2" points="95,85.1 95,84 83.9,95.1 84.9,95.1 85.3,95.1 95,85.4 	"/>
+	<polygon class="st2" points="95,87.1 95,86 85.9,95.1 86.9,95.1 87.3,95.1 95,87.4 	"/>
+	<polygon class="st2" points="95,89.1 95,88 87.9,95.1 88.9,95.1 89.3,95.1 95,89.4 	"/>
+	<polygon class="st2" points="95,91.1 95,90 89.9,95.1 90.9,95.1 91.3,95.1 95,91.4 	"/>
+	<polygon class="st2" points="95,93.1 95,92 91.9,95.1 92.9,95.1 93.3,95.1 95,93.4 	"/>
+	<polygon class="st2" points="95,95.1 95,95.1 95,94 93.9,95.1 94.9,95.1 	"/>
+	<path class="st3" d="M96,95v-0.6v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4
+		v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4V9V8.7V8.4V8.1V7V6.7V6.4V6.1V5V4.7V4.4V4.1h-0.1h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1
+		h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2H9.9h-1H8.5H8.3H7.9h-1H6.5
+		H6.3H4.9H4.3H4v0.3V5v1.4v0.2V7v1v0.4v0.2V9v1v0.4v0.2V11v1v0.4v0.2V13v1v0.4v0.2V15v1v0.4v0.2V17v1v0.4v0.2V19v1v0.4v0.2V21v1v0.4
+		v0.2V23v1v0.4v0.2V25v1v0.4v0.2V27v1v0.4v0.2V29v1v0.4v0.2V31v1v0.4v0.2V33v1v0.4v0.2V35v1v0.4v0.2V37v1v0.4v0.2V39v1v0.4v0.2V41v1
+		v0.4v0.2V43v1v0.4v0.2V45v1v0.4v0.2V47v1v0.4v0.2V49v1v0.4v0.2V51v1v0.4v0.2V53v1v0.4v0.2V55v1v0.4v0.2V57v1v0.4v0.2V59v1v0.4v0.2
+		V61v1v0.4v0.2V63v1v0.4v0.2V65v1v0.4v0.2V67v1v0.4v0.2V69v1v0.4v0.2V71v1v0.4v0.2V73v1v0.4v0.2V75v1v0.4v0.2V77v1v0.4v0.2V79v1v0.4
+		v0.2V81v1v0.4v0.2V83v1v0.4v0.2V85v1v0.4v0.2V87v1v0.4v0.2V89v1v0.4v0.2V91v1v0.4v0.2V93v1v0.4v0.2V95v1v0.1h0.3h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.6H96V95z
+		 M93.9,95.1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4h-0.2h-0.4h-1h-0.4
+		h-0.2h-0.4h-1H9.5H9.3H8.9h-1H7.5H7.3H6.9h-1H5.5H5.3H5v-0.1v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2
+		v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1v-0.4v-0.2v-0.4v-1V9.7V9.4V9.1V8V7.7V7.4V7.1V6V5.7V5.4V5.1h0.3h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2
+		h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1h0.4h0.2h0.4h1H95v0.3v0.2V6v1v0.4
+		v0.2V8v1v0.4v0.2V10v1v0.4v0.2V12v1v0.4v0.2V14v1v0.4v0.2V16v1v0.4v0.2V18v1v0.4v0.2V20v1v0.4v0.2V22v1v0.4v0.2V24v1v0.4v0.2V26v1
+		v0.4v0.2V28v1v0.4v0.2V30v1v0.4v0.2V32v1v0.4v0.2V34v1v0.4v0.2V36v1v0.4v0.2V38v1v0.4v0.2V40v1v0.4v0.2V42v1v0.4v0.2V44v1v0.4v0.2
+		V46v1v0.4v0.2V48v1v0.4v0.2V50v1v0.4v0.2V52v1v0.4v0.2V54v1v0.4v0.2V56v1v0.4v0.2V58v1v0.4v0.2V60v1v0.4v0.2V62v1v0.4v0.2V64v1v0.4
+		v0.2V66v1v0.4v0.2V68v1v0.4v0.2V70v1v0.4v0.2V72v1v0.4v0.2V74v1v0.4v0.2V76v1v0.4v0.2V78v1v0.4v0.2V80v1v0.4v0.2V82v1v0.4v0.2V84v1
+		v0.4v0.2V86v1v0.4v0.2V88v1v0.4v0.2V90v1v0.4v0.2V92v1v0.4v0.2V94v1v0.1h-0.1H93.9z"/>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="26.9745" x2="17.4475" y2="-9.6175">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="7.4" y="7.3" class="st4" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="25.8788" x2="39.2057" y2="-6.0125">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="29.1" y="7.3" class="st5" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="60.964" y1="26.0979" x2="60.964" y2="-3.9383">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="50.9" y="7.3" class="st6" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="26.3171" x2="82.7222" y2="-10.4484">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="7.3" class="st7" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="48.0129" x2="17.4475" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="29.2" class="st8" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="48.0129" x2="39.2057" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="29.1" y="29.2" class="st9" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="60.964" y1="48.0129" x2="60.964" y2="14.2546">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="50.9" y="29.2" class="st10" width="20.1" height="20.1"/>
+	<g>
+		<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="48.6703" x2="82.7222" y2="21.4878">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="72.7" y="29.2" class="st11" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="70.8044" x2="17.4475" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="51.1" class="st12" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="69.9278" x2="39.2057" y2="39.4826">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="29.1" y="51.1" class="st13" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="60.964" y1="70.8044" x2="60.964" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="50.9" y="51.1" class="st14" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="70.8044" x2="82.7222" y2="35.7837">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="51.1" class="st15" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="17.4475" y1="92.7193" x2="17.4475" y2="60.5282">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="7.4" y="73" class="st16" width="20.1" height="20.1"/>
+	<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="39.2057" y1="91.8427" x2="39.2057" y2="59.2196">
+		<stop  offset="0" style="stop-color:#FFF33B"/>
+		<stop  offset="5.948725e-02" style="stop-color:#FFE029"/>
+		<stop  offset="0.1303" style="stop-color:#FFD218"/>
+		<stop  offset="0.2032" style="stop-color:#FEC90F"/>
+		<stop  offset="0.2809" style="stop-color:#FDC70C"/>
+		<stop  offset="0.6685" style="stop-color:#F3903F"/>
+		<stop  offset="0.8876" style="stop-color:#ED683C"/>
+		<stop  offset="1" style="stop-color:#E93E3A"/>
+	</linearGradient>
+	<rect x="29.1" y="73" class="st17" width="20.1" height="20.1"/>
+	<g>
+		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="60.964" y1="92.9385" x2="60.964" y2="58.7505">
+			<stop  offset="0" style="stop-color:#EB2127"/>
+			<stop  offset="0.1593" style="stop-color:#DB2527"/>
+			<stop  offset="0.5086" style="stop-color:#C22B28"/>
+			<stop  offset="0.8013" style="stop-color:#B32C28"/>
+			<stop  offset="1" style="stop-color:#AD2C27"/>
+		</linearGradient>
+		<rect x="50.9" y="73" class="st18" width="20.1" height="20.1"/>
+	</g>
+	<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="82.7222" y1="92.7193" x2="82.7222" y2="60.5282">
+		<stop  offset="0" style="stop-color:#04A64D"/>
+		<stop  offset="1.304281e-02" style="stop-color:#03A44D"/>
+		<stop  offset="0.3271" style="stop-color:#008E42"/>
+		<stop  offset="0.6074" style="stop-color:#007D39"/>
+		<stop  offset="0.8413" style="stop-color:#007333"/>
+		<stop  offset="1" style="stop-color:#006F31"/>
+	</linearGradient>
+	<rect x="72.7" y="73" class="st19" width="20.1" height="20.1"/>
+</g>
+</svg>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.html b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.html
index 691e14166c84ec50edbb1889c0a901f62625bf61..d27b5e45c38eedc1b72b9e6cac6a3af7224c6bdc 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.html
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.html
@@ -1,67 +1,67 @@
-<div class="status-panel">
-	<div ng-show="ctrl.duplicates">
-		<strong>Error</strong>: There are multiple measurements with the same alias. Please give each measurement a unique name.
-	</div>
-
-	<div class="st-card-front" ng-hide="ctrl.duplicates">
-		<div class="ok-text">OK</div>
-		<div class="warning-text">Warning</div>
-		<div class="fail-text">Critical</div>
-		<div class="no-data-text">No data</div>
-		<div class="disabled-text">Disabled</div>
-	</div>
-	<div class="st-card-back" ng-hide="ctrl.duplicates">
-
-		<div class="top_section">
-			<div class="status-panel-annotation_row" ng-if="ctrl.annotation.length > 0">
-				<div ng-repeat="annotation in ctrl.annotation" >
-					<div class="row-overflow" ng-style="{ 'max-width': ctrl.maxWidth }">
-						<a ng-show="annotation.url" ng-href="{{ annotation.url | interpolateTemplateVars:this }}" target="_blank">{{ annoation.alias }}</a>
-						<span ng-hide="annotation.url">{{ annotation.alias }}</span>
-						<span bs-tooltip="'{{ annotation.display_value }}'"> - {{ annotation.display_value |  numberOrTextWithRegex : annotation.valueDisplayRegex}} </span>
-					</div>
-				</div>
-			</div>
-		</div>
-
-		<div class="bottom_section" ng-style="ctrl.annotation.length === 0 && { 'min-height': ctrl.minHeight }">
-			<div class="status_name_row">
-				<h1>
-					<a ng-href="{{ ctrl.uri | interpolateTemplateVars:this }}" target="{{ ctrl.targetBlank ? '_blank' : '_self' }}" ng-if="ctrl.uri">
-						{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
-					</a>
-					<span ng-hide="ctrl.uri">
-					{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
-				</span>
-				</h1>
-
-			</div>
-
-			<div class="status_alerts_row">
-				<div ng-repeat="display in ctrl.display">
-					<a ng-show="display.url" ng-href="{{ display.url | interpolateTemplateVars:this }}" target="_blank">{{ display.alias }}</a>
-					<span ng-hide="display.url">{{ display.alias }}</span>
-					<span ng-show="display.display"> - {{ display.display_value | numberOrTextWithRegex : display.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="crit in ctrl.crit">
-					<a ng-show="crit.url" ng-href="{{ crit.url | interpolateTemplateVars:this }}" target="_blank">{{ crit.alias }}</a>
-					<span ng-hide="crit.url">{{ crit.alias }}</span>
-					<span ng-show="crit.display"> - {{ crit.display_value | numberOrTextWithRegex : crit.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="warn in ctrl.warn">
-					<a ng-show="warn.url" ng-href="{{ warn.url | interpolateTemplateVars:this }}" target="_blank">{{ warn.alias }}</a>
-					<span ng-hide="warn.url">{{ warn.alias }}</span>
-					<span ng-show="warn.display"> - {{ warn.display_value | numberOrTextWithRegex : warn.valueDisplayRegex }}</span>
-				</div>
-
-				<div ng-repeat="disabled in ctrl.disabled">
-					<a ng-show="disabled.url" ng-href="{{ disabled.url | interpolateTemplateVars:this }}" target="_blank">{{ disabled.alias }}</a>
-					<span ng-hide="disabled.url">{{ disabled.alias }}</span>
-				</div>
-			</div>
-		</div>
-
-	</div>
-</div>
+<div class="status-panel">
+	<div ng-show="ctrl.duplicates">
+		<strong>Error</strong>: There are multiple measurements with the same alias. Please give each measurement a unique name.
+	</div>
+
+	<div class="st-card-front" ng-hide="ctrl.duplicates">
+		<div class="ok-text">OK</div>
+		<div class="warning-text">Warning</div>
+		<div class="fail-text">Critical</div>
+		<div class="no-data-text">No data</div>
+		<div class="disabled-text">Disabled</div>
+	</div>
+	<div class="st-card-back" ng-hide="ctrl.duplicates">
+
+		<div class="top_section">
+			<div class="status-panel-annotation_row" ng-if="ctrl.annotation.length > 0">
+				<div ng-repeat="annotation in ctrl.annotation" >
+					<div class="row-overflow" ng-style="{ 'max-width': ctrl.maxWidth }">
+						<a ng-show="annotation.url" ng-href="{{ annotation.url | interpolateTemplateVars:this }}" target="_blank">{{ annoation.alias }}</a>
+						<span ng-hide="annotation.url">{{ annotation.alias }}</span>
+						<span bs-tooltip="'{{ annotation.display_value }}'"> - {{ annotation.display_value |  numberOrTextWithRegex : annotation.valueDisplayRegex}} </span>
+					</div>
+				</div>
+			</div>
+		</div>
+
+		<div class="bottom_section" ng-style="ctrl.annotation.length === 0 && { 'min-height': ctrl.minHeight }">
+			<div class="status_name_row">
+				<h1>
+					<a ng-href="{{ ctrl.uri | interpolateTemplateVars:this }}" target="{{ ctrl.targetBlank ? '_blank' : '_self' }}" ng-if="ctrl.uri">
+						{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
+					</a>
+					<span ng-hide="ctrl.uri">
+					{{ ctrl.panel.displayName | interpolateTemplateVars:this }}
+				</span>
+				</h1>
+
+			</div>
+
+			<div class="status_alerts_row">
+				<div ng-repeat="display in ctrl.display">
+					<a ng-show="display.url" ng-href="{{ display.url | interpolateTemplateVars:this }}" target="_blank">{{ display.alias }}</a>
+					<span ng-hide="display.url">{{ display.alias }}</span>
+					<span ng-show="display.display"> - {{ display.display_value | numberOrTextWithRegex : display.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="crit in ctrl.crit">
+					<a ng-show="crit.url" ng-href="{{ crit.url | interpolateTemplateVars:this }}" target="_blank">{{ crit.alias }}</a>
+					<span ng-hide="crit.url">{{ crit.alias }}</span>
+					<span ng-show="crit.display"> - {{ crit.display_value | numberOrTextWithRegex : crit.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="warn in ctrl.warn">
+					<a ng-show="warn.url" ng-href="{{ warn.url | interpolateTemplateVars:this }}" target="_blank">{{ warn.alias }}</a>
+					<span ng-hide="warn.url">{{ warn.alias }}</span>
+					<span ng-show="warn.display"> - {{ warn.display_value | numberOrTextWithRegex : warn.valueDisplayRegex }}</span>
+				</div>
+
+				<div ng-repeat="disabled in ctrl.disabled">
+					<a ng-show="disabled.url" ng-href="{{ disabled.url | interpolateTemplateVars:this }}" target="_blank">{{ disabled.alias }}</a>
+					<span ng-hide="disabled.url">{{ disabled.alias }}</span>
+				</div>
+			</div>
+		</div>
+
+	</div>
+</div>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.js b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.js
index 3c23e6e9eb11e793e001ca13028ec3501671845e..a2c6c2b8a1b19a296adbe9b27f7748e6a338fb11 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.js
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/module.js
@@ -1,5 +1,5 @@
-import {StatusPluginCtrl} from './status_ctrl';
-
-export {
-  StatusPluginCtrl as PanelCtrl
-};
+import {StatusPluginCtrl} from './status_ctrl';
+
+export {
+  StatusPluginCtrl as PanelCtrl
+};
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/plugin.json b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/plugin.json
index 63739a0878a4b90f66081cdb9527abd8d7320541..da3ef16bb5a35d002276e3b61e7b6383e3bda6f3 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/plugin.json
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/plugin.json
@@ -1,34 +1,34 @@
-{
-  "type": "panel",
-  "name": "Status Panel",
-  "id": "vonage-status-panel",
-
-  "info": {
-    "description": "Status Panel for Grafana",
-    "author": {
-      "name": "Tomer Amir",
-      "url": "https://github.com/Vonage"
-    },
-    "keywords": ["status", "panel"],
-    "logos": {
-      "small": "img/icon_status_panel.svg",
-      "large": "img/icon_status_panel.svg"
-    },
-    "links": [
-      {"name": "Github", "url": "https://github.com/Vonage/Grafana_Status_panel"}
-    ],
-    "screenshots": [
-      {"name": "Environment Snapshot", "path": "img/environment_snapshot.png"},
-      {"name": "Ok State", "path": "img/ok.png"},
-      {"name": "Warning State", "path": "img/warning.png"},
-      {"name": "Critical State", "path": "img/error.png"}
-    ],
-    "version": "1.0.4",
-    "updated": "2017-4-27"
-  },
-
-  "dependencies": {
-    "grafanaVersion": "3.x.x",
-    "plugins": [ ]
-  }
-}
+{
+  "type": "panel",
+  "name": "Status Panel",
+  "id": "vonage-status-panel",
+
+  "info": {
+    "description": "Status Panel for Grafana",
+    "author": {
+      "name": "Tomer Amir",
+      "url": "https://github.com/Vonage"
+    },
+    "keywords": ["status", "panel"],
+    "logos": {
+      "small": "img/icon_status_panel.svg",
+      "large": "img/icon_status_panel.svg"
+    },
+    "links": [
+      {"name": "Github", "url": "https://github.com/Vonage/Grafana_Status_panel"}
+    ],
+    "screenshots": [
+      {"name": "Environment Snapshot", "path": "img/environment_snapshot.png"},
+      {"name": "Ok State", "path": "img/ok.png"},
+      {"name": "Warning State", "path": "img/warning.png"},
+      {"name": "Critical State", "path": "img/error.png"}
+    ],
+    "version": "1.0.4",
+    "updated": "2017-4-27"
+  },
+
+  "dependencies": {
+    "grafanaVersion": "3.x.x",
+    "plugins": [ ]
+  }
+}
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/status_ctrl.js b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/status_ctrl.js
index 2c1695f31f29412ecb3795cd4163b258d5fa98f6..772c33c243cd2c79987d4a5592356e2a8e30b711 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/status_ctrl.js
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker/var/lib/grafana/plugins/vonage-status-panel/src/status_ctrl.js
@@ -1,413 +1,413 @@
-import {MetricsPanelCtrl} from "app/plugins/sdk";
-import "app/plugins/panel/graph/legend";
-import "app/plugins/panel/graph/series_overrides_ctrl";
-import _ from "lodash";
-import TimeSeries from "app/core/time_series2";
-import coreModule from "app/core/core_module"
-
-import './css/status_panel.css!';
-
-export class StatusPluginCtrl extends MetricsPanelCtrl {
-	/** @ngInject */
-	constructor($scope, $injector, $log, $filter, annotationsSrv) {
-		super($scope, $injector);
-
-		//this.log = $log.debug;
-		this.filter = $filter;
-
-		this.valueHandlers = ['Threshold', 'Disable Criteria', 'Text Only'];
-		this.aggregations = ['Last', 'First', 'Max', 'Min', 'Sum', 'Avg'];
-		this.displayTypes = ['Regular', 'Annotation'];
-
-		this.panel.flipTime = this.panel.flipTime || 5;
-
-		/** Bind events to functions **/
-		this.events.on('render', this.onRender.bind(this));
-		this.events.on('refresh', this.postRefresh.bind(this));
-		this.events.on('data-error', this.onDataError.bind(this));
-		this.events.on('data-received', this.onDataReceived.bind(this));
-		this.events.on('data-snapshot-load', this.onDataReceived.bind(this));
-		this.events.on('init-edit-mode', this.onInitEditMode.bind(this));
-
-		this.addFilters()
-	}
-
-	addFilters() {
-		coreModule.filter('numberOrText', () => {
-			let numberOrTextFilter = (input) => {
-				if(angular.isNumber(input)) {
-					return this.filter('number')(input);
-				} else {
-					return input;
-				}
-			};
-
-			numberOrTextFilter.$stateful = true;
-			return numberOrTextFilter;
-		});
-
-		coreModule.filter('numberOrTextWithRegex', () => {
-			let numberOrTextFilter = (input, textRegex) => {
-				if(angular.isNumber(input)) {
-					return this.filter('number')(input);
-				} else {
-					if(textRegex == null || textRegex.length == 0) {
-						return input;
-					} else {
-						let regex;
-
-						try {
-							regex = new RegExp(textRegex);
-						} catch (e) {
-							return input;
-						}
-
-						let matchResults = input.match(regex);
-						if (matchResults == null) {
-							return input;
-						} else {
-							return matchResults[0];
-						}
-					}
-				}
-			};
-
-			numberOrTextFilter.$stateful = true;
-			return numberOrTextFilter;
-		});
-	}
-
-	postRefresh() {
-		if (this.panel.fixedSpan) {
-			this.panel.span = this.panel.fixedSpan;
-		}
-
-		this.measurements = this.panel.targets;
-
-		/** Duplicate alias validation **/
-		this.duplicates = false;
-
-		this.measurements = _.filter(this.measurements, (measurement) => {
-			return !measurement.hide;
-		});
-
-		_.each(this.measurements, (m) => {
-			let res = _.filter(this.measurements, (measurement) => {
-				return (m.alias == measurement.alias || (m.target == measurement.target && m.target)) && !m.hide;
-			});
-
-			if (res.length > 1) {
-				this.duplicates = true;
-			}
-		});
-	}
-
-	onInitEditMode() {
-		this.addEditorTab('Options', 'public/plugins/vonage-status-panel/editor.html', 2);
-	}
-
-	setElementHeight() {
-		this.$panelContainer.find('.status-panel').css('min-height', this.$panelContoller.height + 'px');
-		this.minHeight = this.$panelContoller.height-10;
-	}
-
-	setTextMaxWidth() {
-		let tail = ' …';
-		let panelWidth = this.$panelContainer.innerWidth();
-		if (isNaN(panelWidth))
-			panelWidth = parseInt(panelWidth.slice(0, -2), 10) / 12;
-		panelWidth = panelWidth - 20;
-		this.maxWidth = panelWidth;
-	}
-
-	onRender() {
-		this.setElementHeight();
-		this.setTextMaxWidth();
-		this.upgradeOldVersion();
-
-		if (this.panel.clusterName) {
-			this.panel.displayName =
-				this.filter('interpolateTemplateVars')(this.panel.clusterName, this.$scope)
-					.replace(new RegExp(this.panel.namePrefix, 'i'), '');
-		} else {
-			this.panel.displayName = "";
-		}
-
-		if(this.panel.flipCard){
-		  this.$panelContainer.addClass("effect-hover");
-		} else {
-		  this.$panelContainer.removeClass("effect-hover");
-		}
-
-		let targets = this.panel.targets;
-
-		this.crit = [];
-		this.warn = [];
-		this.disabled = [];
-		this.display = [];
-		this.annotation = [];
-
-		_.each(this.series, (s) => {
-			let target = _.find(targets, (target) => {
-				return target.alias == s.alias || target.target == s.alias;
-			});
-
-			if (!target) {
-				return;
-			}
-
-			s.alias = target.alias;
-			s.url = target.url;
-			s.display = true;
-			s.displayType = target.displayType;
-			s.valueDisplayRegex = "";
-
-			if(this.validateRegex(target.valueDisplayRegex)) {
-				s.valueDisplayRegex = target.valueDisplayRegex;
-			}
-
-			let value;
-			switch (target.aggregation) {
-				case 'Max':
-					value = _.max(s.datapoints, (point) => { return point[0]; })[0];
-					value = s.stats.max;
-					break;
-				case 'Min':
-					value = _.min(s.datapoints, (point) => { return point[0]; })[0];
-					value = s.stats.min;
-					break;
-				case 'Sum':
-					value = 0;
-					_.each(s.datapoints, (point) => { value += point[0] });
-					value = s.stats.total;
-					break;
-				case 'Avg':
-					value = s.stats.avg;
-					break;
-				case 'First':
-					value = s.datapoints[0][0];
-					break;
-				default:
-					value = s.datapoints[s.datapoints.length - 1][0];
-			}
-
-			s.display_value = value;
-
-			if (target.valueHandler == "Threshold") {
-				this.handleThresholdStatus(s, target);
-			}
-			else if (target.valueHandler == "Disable Criteria") {
-				this.handleDisabledStatus(s,target);
-			}
-			else if (target.valueHandler == "Text Only") {
-				this.handleTextOnly(s, target);
-			}
-		});
-
-		if(this.disabled.length > 0) {
-			this.crit = [];
-			this.warn = [];
-			this.display = [];
-		}
-
-		this.autoFlip();
-		this.handleCssDisplay();
-		this.parseUri();
-	}
-
-	upgradeOldVersion() {
-		let targets = this.panel.targets;
-
-		//Handle legacy code
-		_.each(targets, (target) => {
-			if(target.valueHandler == null) {
-				target.valueHandler = target.displayType;
-				if(target.valueHandler == "Annotation") {
-					target.valueHandler = "Text Only"
-				}
-				target.displayType = this.displayTypes[0];
-			}
-		});
-	}
-
-	handleThresholdStatus(series, target) {
-		series.thresholds = StatusPluginCtrl.parseThresholds(target);
-		series.inverted = series.thresholds.crit < series.thresholds.warn;
-		series.display = target.display;
-
-		let isCritical = false;
-		let isWarning = false;
-		let isCheckRanges = series.thresholds.warnIsNumber && series.thresholds.critIsNumber;
-		if (isCheckRanges) {
-			if (!series.inverted) {
-				if (series.display_value >= series.thresholds.crit) {
-					isCritical = true
-				} else if (series.display_value >= series.thresholds.warn) {
-					isWarning = true
-				}
-			} else {
-				if (series.display_value <= series.thresholds.crit) {
-					isCritical = true
-				} else if (series.display_value <= series.thresholds.warn) {
-					isWarning = true
-				}
-			}
-		} else {
-			if (series.display_value == series.thresholds.crit) {
-				isCritical = true
-			} else if (series.display_value == series.thresholds.warn) {
-				isWarning = true
-			}
-		}
-
-		if(isCritical) {
-			this.crit.push(series);
-			series.displayType = this.displayTypes[0]
-		} else if(isWarning) {
-			this.warn.push(series);
-			series.displayType = this.displayTypes[0]
-		} else if (series.display) {
-			if(series.displayType == "Annotation") {
-				this.annotation.push(series);
-			} else {
-				this.display.push(series);
-			}
-		}
-	}
-
-	handleDisabledStatus(series, target) {
-		series.displayType = this.displayTypes[0];
-		series.disabledValue = target.disabledValue;
-
-		if (series.display_value == series.disabledValue) {
-			this.disabled.push(series);
-		}
-	}
-
-	handleTextOnly(series, target) {
-		if(series.displayType == "Annotation") {
-			this.annotation.push(series);
-		} else {
-			this.display.push(series);
-		}
-	}
-
-	handleCssDisplay() {
-		this.$panelContainer.removeClass('error-state warn-state disabled-state ok-state no-data-state');
-
-		if(this.duplicates) {
-			this.$panelContainer.addClass('error-state');
-		} else if (this.disabled.length > 0) {
-			this.$panelContainer.addClass('disabled-state');
-		} else if (this.crit.length > 0) {
-			this.$panelContainer.addClass('error-state');
-		} else if (this.warn.length > 0) {
-			this.$panelContainer.addClass('warn-state');
-		} else if((this.series == undefined || this.series.length == 0) && this.panel.isGrayOnNoData) {
-			this.$panelContainer.addClass('no-data-state');
-		} else {
-			this.$panelContainer.addClass('ok-state');
-		}
-	}
-
-	parseUri() {
-		if (this.panel.links && this.panel.links.length > 0) {
-			let link = this.panel.links[0];
-
-			if (link.type == "absolute") {
-				this.uri = link.url;
-			} else {
-				this.uri = 'dashboard/' + link.dashUri;
-			}
-
-			if (link.params) {
-				this.uri +=  "?" + link.params;
-			}
-
-			this.targetBlank = link.targetBlank;
-		} else {
-			this.uri = undefined;
-		}
-	}
-
-	validateRegex(textRegex) {
-		if(textRegex == null || textRegex.length == 0) {
-			return true
-		}
-		try {
-			let regex = new RegExp(textRegex);
-			return true
-		} catch(e) {
-			return false
-		}
-	}
-
-	static parseThresholds(metricOptions) {
-		let res = {};
-
-		res.warnIsNumber = StatusPluginCtrl.isFloat(metricOptions.warn)
-		if(res.warnIsNumber) {
-			res.warn = parseFloat(metricOptions.warn);
-		} else {
-			res.warn = metricOptions.warn;
-		}
-
-		res.critIsNumber = StatusPluginCtrl.isFloat(metricOptions.crit);
-		if(res.critIsNumber) {
-			res.crit = parseFloat(metricOptions.crit);
-		} else {
-			res.crit = metricOptions.crit;
-		}
-
-		return res;
-	}
-
-	static isFloat(val) {
-		if (!isNaN(val) && val.toString().toLowerCase().indexOf('e') == -1) {
-			return true;
-		}
-		return false;
-	}
-
-	onDataReceived(dataList) {
-		this.series = dataList.map(StatusPluginCtrl.seriesHandler.bind(this));
-		this.render();
-	}
-
-	onDataError() {
-		this.crit = [];
-		this.warn = [];
-	}
-
-	static seriesHandler(seriesData) {
-		var series = new TimeSeries({
-			datapoints: seriesData.datapoints,
-			alias: seriesData.target
-		});
-
-		series.flotpairs = series.getFlotPairs("connected");
-
-		return series;
-	}
-
-	$onDestroy() {
-		if(this.timeoutId) clearInterval(this.timeoutId);
-	}
-
-	autoFlip() {
-		if (this.timeoutId) clearInterval(this.timeoutId);
-		if (this.panel.flipCard && (this.crit.length > 0 || this.warn.length > 0 || this.disabled.length > 0)) {
-			this.timeoutId = setInterval(() => {
-				this.$panelContainer.toggleClass("flipped");
-			}, this.panel.flipTime * 1000);
-		}
-	}
-
-	link(scope, elem, attrs, ctrl) {
-		this.$panelContainer = elem.find('.panel-container');
-		this.$panelContainer.addClass("st-card");
-		this.$panelContoller = ctrl;
-	}
-}
-
-StatusPluginCtrl.templateUrl = 'module.html';
+import {MetricsPanelCtrl} from "app/plugins/sdk";
+import "app/plugins/panel/graph/legend";
+import "app/plugins/panel/graph/series_overrides_ctrl";
+import _ from "lodash";
+import TimeSeries from "app/core/time_series2";
+import coreModule from "app/core/core_module"
+
+import './css/status_panel.css!';
+
+export class StatusPluginCtrl extends MetricsPanelCtrl {
+	/** @ngInject */
+	constructor($scope, $injector, $log, $filter, annotationsSrv) {
+		super($scope, $injector);
+
+		//this.log = $log.debug;
+		this.filter = $filter;
+
+		this.valueHandlers = ['Threshold', 'Disable Criteria', 'Text Only'];
+		this.aggregations = ['Last', 'First', 'Max', 'Min', 'Sum', 'Avg'];
+		this.displayTypes = ['Regular', 'Annotation'];
+
+		this.panel.flipTime = this.panel.flipTime || 5;
+
+		/** Bind events to functions **/
+		this.events.on('render', this.onRender.bind(this));
+		this.events.on('refresh', this.postRefresh.bind(this));
+		this.events.on('data-error', this.onDataError.bind(this));
+		this.events.on('data-received', this.onDataReceived.bind(this));
+		this.events.on('data-snapshot-load', this.onDataReceived.bind(this));
+		this.events.on('init-edit-mode', this.onInitEditMode.bind(this));
+
+		this.addFilters()
+	}
+
+	addFilters() {
+		coreModule.filter('numberOrText', () => {
+			let numberOrTextFilter = (input) => {
+				if(angular.isNumber(input)) {
+					return this.filter('number')(input);
+				} else {
+					return input;
+				}
+			};
+
+			numberOrTextFilter.$stateful = true;
+			return numberOrTextFilter;
+		});
+
+		coreModule.filter('numberOrTextWithRegex', () => {
+			let numberOrTextFilter = (input, textRegex) => {
+				if(angular.isNumber(input)) {
+					return this.filter('number')(input);
+				} else {
+					if(textRegex == null || textRegex.length == 0) {
+						return input;
+					} else {
+						let regex;
+
+						try {
+							regex = new RegExp(textRegex);
+						} catch (e) {
+							return input;
+						}
+
+						let matchResults = input.match(regex);
+						if (matchResults == null) {
+							return input;
+						} else {
+							return matchResults[0];
+						}
+					}
+				}
+			};
+
+			numberOrTextFilter.$stateful = true;
+			return numberOrTextFilter;
+		});
+	}
+
+	postRefresh() {
+		if (this.panel.fixedSpan) {
+			this.panel.span = this.panel.fixedSpan;
+		}
+
+		this.measurements = this.panel.targets;
+
+		/** Duplicate alias validation **/
+		this.duplicates = false;
+
+		this.measurements = _.filter(this.measurements, (measurement) => {
+			return !measurement.hide;
+		});
+
+		_.each(this.measurements, (m) => {
+			let res = _.filter(this.measurements, (measurement) => {
+				return (m.alias == measurement.alias || (m.target == measurement.target && m.target)) && !m.hide;
+			});
+
+			if (res.length > 1) {
+				this.duplicates = true;
+			}
+		});
+	}
+
+	onInitEditMode() {
+		this.addEditorTab('Options', 'public/plugins/vonage-status-panel/editor.html', 2);
+	}
+
+	setElementHeight() {
+		this.$panelContainer.find('.status-panel').css('min-height', this.$panelContoller.height + 'px');
+		this.minHeight = this.$panelContoller.height-10;
+	}
+
+	setTextMaxWidth() {
+		let tail = ' …';
+		let panelWidth = this.$panelContainer.innerWidth();
+		if (isNaN(panelWidth))
+			panelWidth = parseInt(panelWidth.slice(0, -2), 10) / 12;
+		panelWidth = panelWidth - 20;
+		this.maxWidth = panelWidth;
+	}
+
+	onRender() {
+		this.setElementHeight();
+		this.setTextMaxWidth();
+		this.upgradeOldVersion();
+
+		if (this.panel.clusterName) {
+			this.panel.displayName =
+				this.filter('interpolateTemplateVars')(this.panel.clusterName, this.$scope)
+					.replace(new RegExp(this.panel.namePrefix, 'i'), '');
+		} else {
+			this.panel.displayName = "";
+		}
+
+		if(this.panel.flipCard){
+		  this.$panelContainer.addClass("effect-hover");
+		} else {
+		  this.$panelContainer.removeClass("effect-hover");
+		}
+
+		let targets = this.panel.targets;
+
+		this.crit = [];
+		this.warn = [];
+		this.disabled = [];
+		this.display = [];
+		this.annotation = [];
+
+		_.each(this.series, (s) => {
+			let target = _.find(targets, (target) => {
+				return target.alias == s.alias || target.target == s.alias;
+			});
+
+			if (!target) {
+				return;
+			}
+
+			s.alias = target.alias;
+			s.url = target.url;
+			s.display = true;
+			s.displayType = target.displayType;
+			s.valueDisplayRegex = "";
+
+			if(this.validateRegex(target.valueDisplayRegex)) {
+				s.valueDisplayRegex = target.valueDisplayRegex;
+			}
+
+			let value;
+			switch (target.aggregation) {
+				case 'Max':
+					value = _.max(s.datapoints, (point) => { return point[0]; })[0];
+					value = s.stats.max;
+					break;
+				case 'Min':
+					value = _.min(s.datapoints, (point) => { return point[0]; })[0];
+					value = s.stats.min;
+					break;
+				case 'Sum':
+					value = 0;
+					_.each(s.datapoints, (point) => { value += point[0] });
+					value = s.stats.total;
+					break;
+				case 'Avg':
+					value = s.stats.avg;
+					break;
+				case 'First':
+					value = s.datapoints[0][0];
+					break;
+				default:
+					value = s.datapoints[s.datapoints.length - 1][0];
+			}
+
+			s.display_value = value;
+
+			if (target.valueHandler == "Threshold") {
+				this.handleThresholdStatus(s, target);
+			}
+			else if (target.valueHandler == "Disable Criteria") {
+				this.handleDisabledStatus(s,target);
+			}
+			else if (target.valueHandler == "Text Only") {
+				this.handleTextOnly(s, target);
+			}
+		});
+
+		if(this.disabled.length > 0) {
+			this.crit = [];
+			this.warn = [];
+			this.display = [];
+		}
+
+		this.autoFlip();
+		this.handleCssDisplay();
+		this.parseUri();
+	}
+
+	upgradeOldVersion() {
+		let targets = this.panel.targets;
+
+		//Handle legacy code
+		_.each(targets, (target) => {
+			if(target.valueHandler == null) {
+				target.valueHandler = target.displayType;
+				if(target.valueHandler == "Annotation") {
+					target.valueHandler = "Text Only"
+				}
+				target.displayType = this.displayTypes[0];
+			}
+		});
+	}
+
+	handleThresholdStatus(series, target) {
+		series.thresholds = StatusPluginCtrl.parseThresholds(target);
+		series.inverted = series.thresholds.crit < series.thresholds.warn;
+		series.display = target.display;
+
+		let isCritical = false;
+		let isWarning = false;
+		let isCheckRanges = series.thresholds.warnIsNumber && series.thresholds.critIsNumber;
+		if (isCheckRanges) {
+			if (!series.inverted) {
+				if (series.display_value >= series.thresholds.crit) {
+					isCritical = true
+				} else if (series.display_value >= series.thresholds.warn) {
+					isWarning = true
+				}
+			} else {
+				if (series.display_value <= series.thresholds.crit) {
+					isCritical = true
+				} else if (series.display_value <= series.thresholds.warn) {
+					isWarning = true
+				}
+			}
+		} else {
+			if (series.display_value == series.thresholds.crit) {
+				isCritical = true
+			} else if (series.display_value == series.thresholds.warn) {
+				isWarning = true
+			}
+		}
+
+		if(isCritical) {
+			this.crit.push(series);
+			series.displayType = this.displayTypes[0]
+		} else if(isWarning) {
+			this.warn.push(series);
+			series.displayType = this.displayTypes[0]
+		} else if (series.display) {
+			if(series.displayType == "Annotation") {
+				this.annotation.push(series);
+			} else {
+				this.display.push(series);
+			}
+		}
+	}
+
+	handleDisabledStatus(series, target) {
+		series.displayType = this.displayTypes[0];
+		series.disabledValue = target.disabledValue;
+
+		if (series.display_value == series.disabledValue) {
+			this.disabled.push(series);
+		}
+	}
+
+	handleTextOnly(series, target) {
+		if(series.displayType == "Annotation") {
+			this.annotation.push(series);
+		} else {
+			this.display.push(series);
+		}
+	}
+
+	handleCssDisplay() {
+		this.$panelContainer.removeClass('error-state warn-state disabled-state ok-state no-data-state');
+
+		if(this.duplicates) {
+			this.$panelContainer.addClass('error-state');
+		} else if (this.disabled.length > 0) {
+			this.$panelContainer.addClass('disabled-state');
+		} else if (this.crit.length > 0) {
+			this.$panelContainer.addClass('error-state');
+		} else if (this.warn.length > 0) {
+			this.$panelContainer.addClass('warn-state');
+		} else if((this.series == undefined || this.series.length == 0) && this.panel.isGrayOnNoData) {
+			this.$panelContainer.addClass('no-data-state');
+		} else {
+			this.$panelContainer.addClass('ok-state');
+		}
+	}
+
+	parseUri() {
+		if (this.panel.links && this.panel.links.length > 0) {
+			let link = this.panel.links[0];
+
+			if (link.type == "absolute") {
+				this.uri = link.url;
+			} else {
+				this.uri = 'dashboard/' + link.dashUri;
+			}
+
+			if (link.params) {
+				this.uri +=  "?" + link.params;
+			}
+
+			this.targetBlank = link.targetBlank;
+		} else {
+			this.uri = undefined;
+		}
+	}
+
+	validateRegex(textRegex) {
+		if(textRegex == null || textRegex.length == 0) {
+			return true
+		}
+		try {
+			let regex = new RegExp(textRegex);
+			return true
+		} catch(e) {
+			return false
+		}
+	}
+
+	static parseThresholds(metricOptions) {
+		let res = {};
+
+		res.warnIsNumber = StatusPluginCtrl.isFloat(metricOptions.warn)
+		if(res.warnIsNumber) {
+			res.warn = parseFloat(metricOptions.warn);
+		} else {
+			res.warn = metricOptions.warn;
+		}
+
+		res.critIsNumber = StatusPluginCtrl.isFloat(metricOptions.crit);
+		if(res.critIsNumber) {
+			res.crit = parseFloat(metricOptions.crit);
+		} else {
+			res.crit = metricOptions.crit;
+		}
+
+		return res;
+	}
+
+	static isFloat(val) {
+		if (!isNaN(val) && val.toString().toLowerCase().indexOf('e') == -1) {
+			return true;
+		}
+		return false;
+	}
+
+	onDataReceived(dataList) {
+		this.series = dataList.map(StatusPluginCtrl.seriesHandler.bind(this));
+		this.render();
+	}
+
+	onDataError() {
+		this.crit = [];
+		this.warn = [];
+	}
+
+	static seriesHandler(seriesData) {
+		var series = new TimeSeries({
+			datapoints: seriesData.datapoints,
+			alias: seriesData.target
+		});
+
+		series.flotpairs = series.getFlotPairs("connected");
+
+		return series;
+	}
+
+	$onDestroy() {
+		if(this.timeoutId) clearInterval(this.timeoutId);
+	}
+
+	autoFlip() {
+		if (this.timeoutId) clearInterval(this.timeoutId);
+		if (this.panel.flipCard && (this.crit.length > 0 || this.warn.length > 0 || this.disabled.length > 0)) {
+			this.timeoutId = setInterval(() => {
+				this.$panelContainer.toggleClass("flipped");
+			}, this.panel.flipTime * 1000);
+		}
+	}
+
+	link(scope, elem, attrs, ctrl) {
+		this.$panelContainer = elem.find('.panel-container');
+		this.$panelContainer.addClass("st-card");
+		this.$panelContoller = ctrl;
+	}
+}
+
+StatusPluginCtrl.templateUrl = 'module.html';
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/.project b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/.project
index 34d65eb9e69a89b3c0b4fb2067979bff1fbf0939..7a90727f346ff93eae24e1af37ecc43a27c97f09 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/.project
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/.project
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/AdaptMonitoringLicense.txt b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/AdaptMonitoringLicense.txt
index 1e8c4abd55c8006ea8379591a0755f96a866c829..1989cbbc9fc2c8eadf080ac3d700f7eac3be2cce 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/AdaptMonitoringLicense.txt
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/AdaptMonitoringLicense.txt
@@ -1,30 +1,30 @@
-/****************************************************************
-*Copyright (c) 2017 Tecnalia.
-*Licensed under MIT License (the "License");
-*Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is furnished 
-to do so, subject to the following conditions:
-*The above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the Software.
-*
-*
-*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*Contributors (in alphabetical order):
-*Gorka Benguria                                 Tecnalia
-*I�aki Etxaniz                                  Tecnalia
-*Juncal Alonso                                  Tecnalia
-*Leire Orue-Echevarria                          Tecnalia
-*Maria Jose Lopez                               Tecnalia
-*Marisa Escalante                               Tecnalia
-*
-*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-*****************************************************************************/
+/****************************************************************
+*Copyright (c) 2017 Tecnalia.
+*Licensed under MIT License (the "License");
+*Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is furnished 
+to do so, subject to the following conditions:
+*The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+*
+*
+*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*Contributors (in alphabetical order):
+*Gorka Benguria                                 Tecnalia
+*I�aki Etxaniz                                  Tecnalia
+*Juncal Alonso                                  Tecnalia
+*Leire Orue-Echevarria                          Tecnalia
+*Maria Jose Lopez                               Tecnalia
+*Marisa Escalante                               Tecnalia
+*
+*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*****************************************************************************/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerBuild b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerBuild
index 515875437203a2e910c7e0575a606b96f802251e..0d140efa7c032e604bcd5a59075b1d40fb85cedb 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerBuild
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerBuild
@@ -1,407 +1,407 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def sourcesRelativePath=null
-	def sourcesRepo=null
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentForceBuild=false
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-	Boolean currentForcePush=false
-				
-	try	{	
-		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
-		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def sourcesPath
-		def sourcesGitRepoPath
-		def sourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-		Boolean hasNewSources=false
-		Boolean requiresBuild=false
-		Boolean requiresPackage=false
-
-		Boolean hasDevopsPomPackaging=false
-		String devopsPomPackaging=""
-		Boolean hasPomPackaging=false
-		String pomPackaging=""
-		Boolean hasPomFile=false
-		String pomFile=""
-				
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-		String sourcesLastCommitFile
-        String sourcesLastChangedCommitFile
-
-		String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-		String devopsSourcesCurrentCommit
-		String sourcesLastCommit
-        String sourcesLastChangedCommit
-		String sourcesCurrentCommit
-		
-		String devopsSourcesDiffPreviousCommit
-		String sourcesLastDiffPreviousCommit
-		
-		String devopsImageLastSha256File
-		String devopsImageBuildResult
-		String devopsImageLastSha256=""
-		String devopsImageCurrentSha256=""
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def ForceBuild -> defaults to "false"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//def forcePush -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			if (hasSources) {
-				try{
-				    if (scmCredentials==null){ error "scm credentials empty"}
-				    hasCredentials=true;
-				} catch (err){
-				    println ("No scm credentials param")
-				}			
-				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
-				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
-			}
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
-			} catch (err){
-			    println ("forceBuild not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
-			try{
-			    currentForcePush=((forcePush=="true")||(forcePush==true))
-			} catch (err){
-			    println ("forcePush not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
-			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
-			if (hasSources){
-    		    sourcesPath=workspace+"/sources"
-	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
-			    sourcesGitRepoPath=workspace+"/sourcesRepo"
-				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
-			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
-				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
-        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
-	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
-                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
-	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
-			}
-		}		
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }
-        
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if(hasSources){
-		    stage ('Gather Sources'){
-		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
-    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
-		    }
-		}		
-		if(currentForceBuild||hasEmptyWorkspace){
-			hasNewDevopsSources=true
-			try{
-				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-			} catch (err){
-			}
-			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-			if (hasSources) {
-				hasNewSources=true
-				try{
-					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
-			}
-	        requiresBuild=true
-		}
-		else{
-    		stage ('Assess Built Need'){
-    		    sh "touch ${devopsSourcesLastCommitFile}" 
-    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-    			} catch (err){
-    			}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-    			if (devopsSourcesCurrentCommit!=''){
-    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-    			}
-    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-    		    	try{
-    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-    		    	} catch(err) {
-    		    	}
- 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
- 			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
- 		  				hasNewDevopsSources=true
-    		        	requiresBuild=true
- 			    	}
-			    }
-		        if (hasSources)
-		        {
-        		    sh "touch ${sourcesLastCommitFile}" 
-        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
-        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
-    		        try{
-    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-        			} catch (err){
-        			}
-       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
-        			if (devopsSourcesCurrentCommit!=''){
-        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
-        			}
-        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
-                        sh "touch ${sourcesLastChangedCommitFile}" 
-                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
-                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
-                        if (sourcesLastChangedCommit=="")  {
-	    		    		sourcesDiffPreviousCommit="force"
-	    		    	}
-	    		    	else {
-	    		    		try{
-	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
-	    		    		} catch(err) {
-	    		    		}
-	    		    	}
-	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
-	 			    	if (sourcesDiffPreviousCommit!=""){
-                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
- 		  				    hasNewSources=true
-	    		        	requiresBuild=true
-	 			    	}
-        		    }
-		        }
-    		}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
-       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
-		
-        if(requiresBuild){
-            stage ('Prepare Build Variables'){
-                // Get the Maven tool.
-                // ** NOTE: This 'M3' Maven tool must be configured
-                // **       in the global configuration.
-                mvnHome = tool 'Maven 3.3.9 colocated'
-            }
-             if(hasNewDevopsSources){
-	            stage ('Devops Source Move'){
-	                  sh "rm -rf ${devopsSourcesPath}/src"	   
-	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            if(hasNewSources){
-	            stage ('Source Move'){
-                  sh "rm -rf ${sourcesPath}"	   
-                  sh "mkdir ${sourcesPath}"	   
-	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
-	            }
-            	stage ('Assess Sources Install Need'){          	
-					try {
-					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
-					} catch (err){
-					}
-	            	hasPomFile=(""!=pomFile)
- 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
-                }	            
-                if (hasPomFile){
-	                stage ('Source Maven Install'){
-	                 	try {
-	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
-	                 	} catch (err){
-	                 	}
-	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
-	                 	hasPomPackaging=(""!=pomPackaging)
-	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
-	 					if 	(hasPomPackaging){
-	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
-	 					} else {
-		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
-	 					}
-	                }
-                }
-            }
-            if(currentVerbose){
-                stage ('Variables Echo'){
-                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-                }
-            }
-            stage ('Assess Package/Install Need'){          	
-             	try {
-                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
-             	} catch (err){
-             	}
-	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
-                hasDevopsPomPackaging=(""!=devopsPomPackaging)
- 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
-            }           
-            if (hasDevopsPomPackaging){
-                stage ('Maven Devops Install'){
-                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }
-            } else {
-                stage ('Maven Devops Package'){
-                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }            
-            }
-            if (currentStopContainer){
-	            stage ('Docker Stop'){
-	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            stage ('Docker Build Image'){
-                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
-            }
-        	if (!currentForcePush){
-			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
-			    sh "touch ${devopsImageLastSha256File}" 
-			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
-			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
-		        try{
-		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
-				} catch (err){
-				}			
-			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
-				if (devopsImageCurrentSha256!=''){
-					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
-				}
-			}
-			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
-	            stage ('Docker Push'){
-					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }				
-			if (currentContinueTasks) {
-				stage('Launch Depending Tasks') {
-					int i=0;
-					for (i=0;i<dependingTasks.size();i++){
-						if (dependingTasks[i]!=""){
-			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-						}
-					}
-			    }
-			}            
-        }
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def sourcesRelativePath=null
+	def sourcesRepo=null
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentForceBuild=false
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+	Boolean currentForcePush=false
+				
+	try	{	
+		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
+		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def sourcesPath
+		def sourcesGitRepoPath
+		def sourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+		Boolean hasNewSources=false
+		Boolean requiresBuild=false
+		Boolean requiresPackage=false
+
+		Boolean hasDevopsPomPackaging=false
+		String devopsPomPackaging=""
+		Boolean hasPomPackaging=false
+		String pomPackaging=""
+		Boolean hasPomFile=false
+		String pomFile=""
+				
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+		String sourcesLastCommitFile
+        String sourcesLastChangedCommitFile
+
+		String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+		String devopsSourcesCurrentCommit
+		String sourcesLastCommit
+        String sourcesLastChangedCommit
+		String sourcesCurrentCommit
+		
+		String devopsSourcesDiffPreviousCommit
+		String sourcesLastDiffPreviousCommit
+		
+		String devopsImageLastSha256File
+		String devopsImageBuildResult
+		String devopsImageLastSha256=""
+		String devopsImageCurrentSha256=""
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def ForceBuild -> defaults to "false"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//def forcePush -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			if (hasSources) {
+				try{
+				    if (scmCredentials==null){ error "scm credentials empty"}
+				    hasCredentials=true;
+				} catch (err){
+				    println ("No scm credentials param")
+				}			
+				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
+				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
+			}
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
+			} catch (err){
+			    println ("forceBuild not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
+			try{
+			    currentForcePush=((forcePush=="true")||(forcePush==true))
+			} catch (err){
+			    println ("forcePush not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
+			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
+			if (hasSources){
+    		    sourcesPath=workspace+"/sources"
+	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
+			    sourcesGitRepoPath=workspace+"/sourcesRepo"
+				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
+			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
+				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
+        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
+	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
+                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
+	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
+			}
+		}		
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }
+        
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if(hasSources){
+		    stage ('Gather Sources'){
+		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
+    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
+		    }
+		}		
+		if(currentForceBuild||hasEmptyWorkspace){
+			hasNewDevopsSources=true
+			try{
+				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+			} catch (err){
+			}
+			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+			if (hasSources) {
+				hasNewSources=true
+				try{
+					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+			}
+	        requiresBuild=true
+		}
+		else{
+    		stage ('Assess Built Need'){
+    		    sh "touch ${devopsSourcesLastCommitFile}" 
+    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+    			} catch (err){
+    			}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+    			if (devopsSourcesCurrentCommit!=''){
+    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+    			}
+    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+    		    	try{
+    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+    		    	} catch(err) {
+    		    	}
+ 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+ 			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+ 		  				hasNewDevopsSources=true
+    		        	requiresBuild=true
+ 			    	}
+			    }
+		        if (hasSources)
+		        {
+        		    sh "touch ${sourcesLastCommitFile}" 
+        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
+        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
+    		        try{
+    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+        			} catch (err){
+        			}
+       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
+        			if (devopsSourcesCurrentCommit!=''){
+        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
+        			}
+        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
+                        sh "touch ${sourcesLastChangedCommitFile}" 
+                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
+                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
+                        if (sourcesLastChangedCommit=="")  {
+	    		    		sourcesDiffPreviousCommit="force"
+	    		    	}
+	    		    	else {
+	    		    		try{
+	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
+	    		    		} catch(err) {
+	    		    		}
+	    		    	}
+	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
+	 			    	if (sourcesDiffPreviousCommit!=""){
+                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+ 		  				    hasNewSources=true
+	    		        	requiresBuild=true
+	 			    	}
+        		    }
+		        }
+    		}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
+       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
+		
+        if(requiresBuild){
+            stage ('Prepare Build Variables'){
+                // Get the Maven tool.
+                // ** NOTE: This 'M3' Maven tool must be configured
+                // **       in the global configuration.
+                mvnHome = tool 'Maven 3.3.9 colocated'
+            }
+             if(hasNewDevopsSources){
+	            stage ('Devops Source Move'){
+	                  sh "rm -rf ${devopsSourcesPath}/src"	   
+	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            if(hasNewSources){
+	            stage ('Source Move'){
+                  sh "rm -rf ${sourcesPath}"	   
+                  sh "mkdir ${sourcesPath}"	   
+	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
+	            }
+            	stage ('Assess Sources Install Need'){          	
+					try {
+					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
+					} catch (err){
+					}
+	            	hasPomFile=(""!=pomFile)
+ 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
+                }	            
+                if (hasPomFile){
+	                stage ('Source Maven Install'){
+	                 	try {
+	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
+	                 	} catch (err){
+	                 	}
+	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
+	                 	hasPomPackaging=(""!=pomPackaging)
+	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
+	 					if 	(hasPomPackaging){
+	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
+	 					} else {
+		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
+	 					}
+	                }
+                }
+            }
+            if(currentVerbose){
+                stage ('Variables Echo'){
+                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+                }
+            }
+            stage ('Assess Package/Install Need'){          	
+             	try {
+                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
+             	} catch (err){
+             	}
+	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
+                hasDevopsPomPackaging=(""!=devopsPomPackaging)
+ 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
+            }           
+            if (hasDevopsPomPackaging){
+                stage ('Maven Devops Install'){
+                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }
+            } else {
+                stage ('Maven Devops Package'){
+                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }            
+            }
+            if (currentStopContainer){
+	            stage ('Docker Stop'){
+	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            stage ('Docker Build Image'){
+                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
+            }
+        	if (!currentForcePush){
+			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
+			    sh "touch ${devopsImageLastSha256File}" 
+			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
+			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
+		        try{
+		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
+				} catch (err){
+				}			
+			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
+				if (devopsImageCurrentSha256!=''){
+					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
+				}
+			}
+			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
+	            stage ('Docker Push'){
+					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }				
+			if (currentContinueTasks) {
+				stage('Launch Depending Tasks') {
+					int i=0;
+					for (i=0;i<dependingTasks.size();i++){
+						if (dependingTasks[i]!=""){
+			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+						}
+					}
+			    }
+			}            
+        }
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerRunService b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerRunService
index cdf85b33412d13e042cb63f2d82eef7edb6d9e0b..3a23f92cd9f1b37902b2e05377fd9b0c7a7802e9 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerRunService
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/JenkinsfileDockerRunService
@@ -1,209 +1,209 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-				
-	try	{		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-
-		String devopsSourcesDiffPreviousCommit
-		String devopsSourcesCurrentCommit
-        String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		}
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }       
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if (hasEmptyWorkspace) {
-			hasNewDevopsSources=true
-		} else {
-			stage ('Assess New Sources'){
-			    sh "touch ${devopsSourcesLastCommitFile}" 
-			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-				if (devopsSourcesCurrentCommit!=''){
-					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-				}
-			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-			    	try{
-			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-			    	} catch(err) {
-			    	}
-			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
-			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-		  				hasNewDevopsSources=true
-			    	}
-			    }
-			}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-		
-        stage ('Prepare Variables'){
-            // Get the Maven tool.
-            // ** NOTE: This 'M3' Maven tool must be configured
-            // **       in the global configuration.
-            mvnHome = tool 'Maven 3.3.9 colocated'
-        }
-         if(hasNewDevopsSources){
-            stage ('Devops Source Move'){
-                  sh "rm -rf ${devopsSourcesPath}/src"	   
-                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if(currentVerbose){
-            stage ('Variables Echo'){
-            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if (currentStopContainer){
-            stage ('Docker Stop'){
-                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        stage ('Docker Start'){
-            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-        }
-  		if (currentContinueTasks) {
-			stage('Launch Depending Tasks') {
-				int i=0;
-				for (i=0;i<dependingTasks.size();i++){
-					if (dependingTasks[i]!=""){
-		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-					}
-				}
-		    }
-		}            
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+				
+	try	{		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+
+		String devopsSourcesDiffPreviousCommit
+		String devopsSourcesCurrentCommit
+        String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		}
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }       
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if (hasEmptyWorkspace) {
+			hasNewDevopsSources=true
+		} else {
+			stage ('Assess New Sources'){
+			    sh "touch ${devopsSourcesLastCommitFile}" 
+			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+				if (devopsSourcesCurrentCommit!=''){
+					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+				}
+			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+			    	try{
+			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+			    	} catch(err) {
+			    	}
+			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+		  				hasNewDevopsSources=true
+			    	}
+			    }
+			}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+		
+        stage ('Prepare Variables'){
+            // Get the Maven tool.
+            // ** NOTE: This 'M3' Maven tool must be configured
+            // **       in the global configuration.
+            mvnHome = tool 'Maven 3.3.9 colocated'
+        }
+         if(hasNewDevopsSources){
+            stage ('Devops Source Move'){
+                  sh "rm -rf ${devopsSourcesPath}/src"	   
+                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if(currentVerbose){
+            stage ('Variables Echo'){
+            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if (currentStopContainer){
+            stage ('Docker Stop'){
+                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        stage ('Docker Start'){
+            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+        }
+  		if (currentContinueTasks) {
+			stage('Launch Depending Tasks') {
+				int i=0;
+				for (i=0;i<dependingTasks.size();i++){
+					if (dependingTasks[i]!=""){
+		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+					}
+				}
+		    }
+		}            
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/pom.xml b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/pom.xml
index 7065d044ea1b2d22cef9923930e272d7016269f0..2ec3cd708f509e474f313b3688245fa533053287 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/pom.xml
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/pom.xml
@@ -1,78 +1,78 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
-		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
-		<version>ALPHA</version>
-	</parent>
-	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.influxdb.server</artifactId>
-	<packaging>pom</packaging>
-	<build>
-		<plugins>
-			<!-- We check the value of some properties values -->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<version>1.1</version>
-				<executions>
-					<execution>
-						<id>echo</id>
-						<phase>initialize</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<tasks>
-								<echo>Displaying values of properties</echo>
-								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
-								<echo>[docker.image.name]=${docker.image.name}</echo>
-								<echo>[docker.image.version]=${docker.image.version}</echo>
-								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
-							</tasks>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<!-- added to support docker image creation -->
-			<plugin>
-				<groupId>org.jolokia</groupId>
-				<artifactId>docker-maven-plugin</artifactId>
-				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
-				<version>0.13.9</version>
-				<configuration>
-					<images>
-						<image>
-							<alias>${docker.name}</alias>
-							<name>${docker.image.name}:${docker.image.version}</name>
-							<build>
-								<assembly>
-									<!-- this time we will do it from a docker file element is needed 
-										to switch the usage of the extrenal file -->
-									<dockerFileDir>.</dockerFileDir>
-									<!-- end -->
-								</assembly>
-							</build>
-							<run>
-								<namingStrategy>alias</namingStrategy>
-								<env>
-									<INFLUXDB_DB>test</INFLUXDB_DB>
-								</env>
-								<ports>
-									<port>${docker.port1.mapping}</port>
-								</ports>
-							</run>
-						</image>
-					</images>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	<properties>
-		<docker.name>eu.decideh2020.influxdb.server</docker.name>
-		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
-		<docker.image.version>${project.version}</docker.image.version>
-		<docker.port1.external>${eu.decideh2020.influxdb.port}</docker.port1.external>
-		<docker.port1.mapping>${docker.port1.external}:8086</docker.port1.mapping>
-	</properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
+		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
+		<version>ALPHA</version>
+	</parent>
+	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.influxdb.server</artifactId>
+	<packaging>pom</packaging>
+	<build>
+		<plugins>
+			<!-- We check the value of some properties values -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>echo</id>
+						<phase>initialize</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<tasks>
+								<echo>Displaying values of properties</echo>
+								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
+								<echo>[docker.image.name]=${docker.image.name}</echo>
+								<echo>[docker.image.version]=${docker.image.version}</echo>
+								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
+							</tasks>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<!-- added to support docker image creation -->
+			<plugin>
+				<groupId>org.jolokia</groupId>
+				<artifactId>docker-maven-plugin</artifactId>
+				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
+				<version>0.13.9</version>
+				<configuration>
+					<images>
+						<image>
+							<alias>${docker.name}</alias>
+							<name>${docker.image.name}:${docker.image.version}</name>
+							<build>
+								<assembly>
+									<!-- this time we will do it from a docker file element is needed 
+										to switch the usage of the extrenal file -->
+									<dockerFileDir>.</dockerFileDir>
+									<!-- end -->
+								</assembly>
+							</build>
+							<run>
+								<namingStrategy>alias</namingStrategy>
+								<env>
+									<INFLUXDB_DB>test</INFLUXDB_DB>
+								</env>
+								<ports>
+									<port>${docker.port1.mapping}</port>
+								</ports>
+							</run>
+						</image>
+					</images>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<properties>
+		<docker.name>eu.decideh2020.influxdb.server</docker.name>
+		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
+		<docker.image.version>${project.version}</docker.image.version>
+		<docker.port1.external>${eu.decideh2020.influxdb.port}</docker.port1.external>
+		<docker.port1.mapping>${docker.port1.external}:8086</docker.port1.mapping>
+	</properties>
 </project>
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker/Dockerfile b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker/Dockerfile
index e3a8b28c324431f42ab3cce5eeca7fe073c3b74c..5c86cb8c364e8df23a97cb7d9c9c68ea769ee127 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker/Dockerfile
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker/Dockerfile
@@ -1,4 +1,4 @@
-# I take a official mono image https://hub.docker.com/_/influxdb/
-
-FROM influxdb
-
+# I take a official mono image https://hub.docker.com/_/influxdb/
+
+FROM influxdb
+
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.gitignore b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.gitignore
index edefd5d6e371cebf1edec9d266ba9f9dc22dbab0..a0ae82d6efeed3f01edb8feebdb7d4df37efaadd 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.gitignore
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.gitignore
@@ -1,12 +1,12 @@
-**/bin/
-**/sources/
-**/target/
-**/generated/
-**/.classpath
-**/.settings/
-**/node_modules/
-**/*.log
-**/.vagrant/
-**/output-virtualbox-iso/
-**/packer_cache/
+**/bin/
+**/sources/
+**/target/
+**/generated/
+**/.classpath
+**/.settings/
+**/node_modules/
+**/*.log
+**/.vagrant/
+**/output-virtualbox-iso/
+**/packer_cache/
 **/*.box
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.project b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.project
index aa074288accc34b30f454da0c35609c87a27cd87..52b1cae8b01a3d632c762c21b15ee6ff2f313ec3 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.project
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/.project
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/AdaptMonitoringLicense.txt b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
index 1e8c4abd55c8006ea8379591a0755f96a866c829..1989cbbc9fc2c8eadf080ac3d700f7eac3be2cce 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
@@ -1,30 +1,30 @@
-/****************************************************************
-*Copyright (c) 2017 Tecnalia.
-*Licensed under MIT License (the "License");
-*Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is furnished 
-to do so, subject to the following conditions:
-*The above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the Software.
-*
-*
-*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*Contributors (in alphabetical order):
-*Gorka Benguria                                 Tecnalia
-*I�aki Etxaniz                                  Tecnalia
-*Juncal Alonso                                  Tecnalia
-*Leire Orue-Echevarria                          Tecnalia
-*Maria Jose Lopez                               Tecnalia
-*Marisa Escalante                               Tecnalia
-*
-*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-*****************************************************************************/
+/****************************************************************
+*Copyright (c) 2017 Tecnalia.
+*Licensed under MIT License (the "License");
+*Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is furnished 
+to do so, subject to the following conditions:
+*The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+*
+*
+*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*Contributors (in alphabetical order):
+*Gorka Benguria                                 Tecnalia
+*I�aki Etxaniz                                  Tecnalia
+*Juncal Alonso                                  Tecnalia
+*Leire Orue-Echevarria                          Tecnalia
+*Maria Jose Lopez                               Tecnalia
+*Marisa Escalante                               Tecnalia
+*
+*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*****************************************************************************/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerBuild b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerBuild
index 5959a11aed23563360332192d3c08d2bebb34fcb..b8828dadba9ad97e269cfcd7254232d0d21f2773 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerBuild
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerBuild
@@ -1,407 +1,407 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def sourcesRelativePath=null
-	def sourcesRepo=null
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentForceBuild=false
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-	Boolean currentForcePush=false
-				
-	try	{	
-		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
-		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def sourcesPath
-		def sourcesGitRepoPath
-		def sourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-		Boolean hasNewSources=false
-		Boolean requiresBuild=false
-		Boolean requiresPackage=false
-
-		Boolean hasDevopsPomPackaging=false
-		String devopsPomPackaging=""
-		Boolean hasPomPackaging=false
-		String pomPackaging=""
-		Boolean hasPomFile=false
-		String pomFile=""
-				
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-		String sourcesLastCommitFile
-        String sourcesLastChangedCommitFile
-
-		String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-		String devopsSourcesCurrentCommit
-		String sourcesLastCommit
-        String sourcesLastChangedCommit
-		String sourcesCurrentCommit
-		
-		String devopsSourcesDiffPreviousCommit
-		String sourcesLastDiffPreviousCommit
-		
-		String devopsImageLastSha256File
-		String devopsImageBuildResult
-		String devopsImageLastSha256=""
-		String devopsImageCurrentSha256=""
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def ForceBuild -> defaults to "false"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//def forcePush -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			if (hasSources) {
-				try{
-				    if (scmCredentials==null){ error "scm credentials empty"}
-				    hasCredentials=true;
-				} catch (err){
-				    println ("No scm credentials param")
-				}			
-				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
-				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
-			}
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
-			} catch (err){
-			    println ("forceBuild not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
-			try{
-			    currentForcePush=((forcePush=="true")||(forcePush==true))
-			} catch (err){
-			    println ("forcePush not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
-			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
-			if (hasSources){
-    		    sourcesPath=workspace+"/sources"
-	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
-			    sourcesGitRepoPath=workspace+"/sourcesRepo"
-				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
-			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
-				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
-        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
-	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
-                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
-	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
-			}
-		}		
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }
-        
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if(hasSources){
-		    stage ('Gather Sources'){
-		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
-    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
-		    }
-		}		
-		if(currentForceBuild||hasEmptyWorkspace){
-			hasNewDevopsSources=true
-			try{
-				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-			} catch (err){
-			}
-			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-			if (hasSources) {
-				hasNewSources=true
-				try{
-					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
-			}
-	        requiresBuild=true
-		}
-		else{
-    		stage ('Assess Built Need'){
-    		    sh "touch ${devopsSourcesLastCommitFile}" 
-    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-    			} catch (err){
-    			}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-    			if (devopsSourcesCurrentCommit!=''){
-    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-    			}
-    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-    		    	try{
-    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-    		    	} catch(err) {
-    		    	}
- 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
- 			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
- 		  				hasNewDevopsSources=true
-    		        	requiresBuild=true
- 			    	}
-			    }
-		        if (hasSources)
-		        {
-        		    sh "touch ${sourcesLastCommitFile}" 
-        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
-        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
-    		        try{
-    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-        			} catch (err){
-        			}
-       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
-        			if (devopsSourcesCurrentCommit!=''){
-        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
-        			}
-        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
-                        sh "touch ${sourcesLastChangedCommitFile}" 
-                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
-                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
-                        if (sourcesLastChangedCommit=="")  {
-	    		    		sourcesDiffPreviousCommit="force"
-	    		    	}
-	    		    	else {
-	    		    		try{
-	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
-	    		    		} catch(err) {
-	    		    		}
-	    		    	}
-	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
-	 			    	if (sourcesDiffPreviousCommit!=""){
-                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
- 		  				    hasNewSources=true
-	    		        	requiresBuild=true
-	 			    	}
-        		    }
-		        }
-    		}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
-       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
-		
-        if(requiresBuild){
-            stage ('Prepare Build Variables'){
-                // Get the Maven tool.
-                // ** NOTE: This 'M3' Maven tool must be configured
-                // **       in the global configuration.
-                mvnHome = tool 'Maven 3.3.9 colocated'
-            }
-             if(hasNewDevopsSources){
-	            stage ('Devops Source Move'){
-	                  sh "rm -rf ${devopsSourcesPath}/src"	   
-	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            if(hasNewSources){
-	            stage ('Source Move'){
-                  sh "rm -rf ${sourcesPath}"	   
-                  sh "mkdir ${sourcesPath}"	   
-	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
-	            }
-            	stage ('Assess Sources Install Need'){          	
-					try {
-					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
-					} catch (err){
-					}
-	            	hasPomFile=(""!=pomFile)
- 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
-                }	            
-                if (hasPomFile){
-	                stage ('Source Maven Install'){
-	                 	try {
-	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
-	                 	} catch (err){
-	                 	}
-	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
-	                 	hasPomPackaging=(""!=pomPackaging)
-	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
-	 					if 	(hasPomPackaging){
-	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
-	 					} else {
-		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
-	 					}
-	                }
-                }
-            }
-            if(currentVerbose){
-                stage ('Variables Echo'){
-                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-                }
-            }
-            stage ('Assess Package/Install Need'){          	
-             	try {
-                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
-             	} catch (err){
-             	}
-	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
-                hasDevopsPomPackaging=(""!=devopsPomPackaging)
- 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
-            }           
-            if (hasDevopsPomPackaging){
-                stage ('Maven Devops Install'){
-                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }
-            } else {
-                stage ('Maven Devops Package'){
-                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }            
-            }
-            if (currentStopContainer){
-	            stage ('Docker Stop'){
-	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            stage ('Docker Build Image'){
-                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
-            }
-        	if (!currentForcePush){
-			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
-			    sh "touch ${devopsImageLastSha256File}" 
-			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
-			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
-		        try{
-		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
-				} catch (err){
-				}			
-			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
-				if (devopsImageCurrentSha256!=''){
-					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
-				}
-			}
-			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
-	            stage ('Docker Push'){
-					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }				
-			if (currentContinueTasks) {
-				stage('Launch Depending Tasks') {
-					int i=0;
-					for (i=0;i<dependingTasks.size();i++){
-						if (dependingTasks[i]!=""){
-			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-						}
-					}
-			    }
-			}            
-        }
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def sourcesRelativePath=null
+	def sourcesRepo=null
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentForceBuild=false
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+	Boolean currentForcePush=false
+				
+	try	{	
+		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
+		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def sourcesPath
+		def sourcesGitRepoPath
+		def sourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+		Boolean hasNewSources=false
+		Boolean requiresBuild=false
+		Boolean requiresPackage=false
+
+		Boolean hasDevopsPomPackaging=false
+		String devopsPomPackaging=""
+		Boolean hasPomPackaging=false
+		String pomPackaging=""
+		Boolean hasPomFile=false
+		String pomFile=""
+				
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+		String sourcesLastCommitFile
+        String sourcesLastChangedCommitFile
+
+		String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+		String devopsSourcesCurrentCommit
+		String sourcesLastCommit
+        String sourcesLastChangedCommit
+		String sourcesCurrentCommit
+		
+		String devopsSourcesDiffPreviousCommit
+		String sourcesLastDiffPreviousCommit
+		
+		String devopsImageLastSha256File
+		String devopsImageBuildResult
+		String devopsImageLastSha256=""
+		String devopsImageCurrentSha256=""
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def ForceBuild -> defaults to "false"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//def forcePush -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			if (hasSources) {
+				try{
+				    if (scmCredentials==null){ error "scm credentials empty"}
+				    hasCredentials=true;
+				} catch (err){
+				    println ("No scm credentials param")
+				}			
+				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
+				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
+			}
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
+			} catch (err){
+			    println ("forceBuild not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
+			try{
+			    currentForcePush=((forcePush=="true")||(forcePush==true))
+			} catch (err){
+			    println ("forcePush not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
+			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
+			if (hasSources){
+    		    sourcesPath=workspace+"/sources"
+	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
+			    sourcesGitRepoPath=workspace+"/sourcesRepo"
+				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
+			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
+				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
+        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
+	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
+                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
+	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
+			}
+		}		
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }
+        
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if(hasSources){
+		    stage ('Gather Sources'){
+		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
+    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
+		    }
+		}		
+		if(currentForceBuild||hasEmptyWorkspace){
+			hasNewDevopsSources=true
+			try{
+				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+			} catch (err){
+			}
+			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+			if (hasSources) {
+				hasNewSources=true
+				try{
+					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+			}
+	        requiresBuild=true
+		}
+		else{
+    		stage ('Assess Built Need'){
+    		    sh "touch ${devopsSourcesLastCommitFile}" 
+    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+    			} catch (err){
+    			}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+    			if (devopsSourcesCurrentCommit!=''){
+    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+    			}
+    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+    		    	try{
+    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+    		    	} catch(err) {
+    		    	}
+ 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+ 			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+ 		  				hasNewDevopsSources=true
+    		        	requiresBuild=true
+ 			    	}
+			    }
+		        if (hasSources)
+		        {
+        		    sh "touch ${sourcesLastCommitFile}" 
+        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
+        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
+    		        try{
+    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+        			} catch (err){
+        			}
+       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
+        			if (devopsSourcesCurrentCommit!=''){
+        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
+        			}
+        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
+                        sh "touch ${sourcesLastChangedCommitFile}" 
+                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
+                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
+                        if (sourcesLastChangedCommit=="")  {
+	    		    		sourcesDiffPreviousCommit="force"
+	    		    	}
+	    		    	else {
+	    		    		try{
+	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
+	    		    		} catch(err) {
+	    		    		}
+	    		    	}
+	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
+	 			    	if (sourcesDiffPreviousCommit!=""){
+                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+ 		  				    hasNewSources=true
+	    		        	requiresBuild=true
+	 			    	}
+        		    }
+		        }
+    		}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
+       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
+		
+        if(requiresBuild){
+            stage ('Prepare Build Variables'){
+                // Get the Maven tool.
+                // ** NOTE: This 'M3' Maven tool must be configured
+                // **       in the global configuration.
+                mvnHome = tool 'Maven 3.3.9 colocated'
+            }
+             if(hasNewDevopsSources){
+	            stage ('Devops Source Move'){
+	                  sh "rm -rf ${devopsSourcesPath}/src"	   
+	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            if(hasNewSources){
+	            stage ('Source Move'){
+                  sh "rm -rf ${sourcesPath}"	   
+                  sh "mkdir ${sourcesPath}"	   
+	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
+	            }
+            	stage ('Assess Sources Install Need'){          	
+					try {
+					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
+					} catch (err){
+					}
+	            	hasPomFile=(""!=pomFile)
+ 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
+                }	            
+                if (hasPomFile){
+	                stage ('Source Maven Install'){
+	                 	try {
+	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
+	                 	} catch (err){
+	                 	}
+	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
+	                 	hasPomPackaging=(""!=pomPackaging)
+	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
+	 					if 	(hasPomPackaging){
+	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
+	 					} else {
+		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
+	 					}
+	                }
+                }
+            }
+            if(currentVerbose){
+                stage ('Variables Echo'){
+                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+                }
+            }
+            stage ('Assess Package/Install Need'){          	
+             	try {
+                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
+             	} catch (err){
+             	}
+	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
+                hasDevopsPomPackaging=(""!=devopsPomPackaging)
+ 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
+            }           
+            if (hasDevopsPomPackaging){
+                stage ('Maven Devops Install'){
+                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }
+            } else {
+                stage ('Maven Devops Package'){
+                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }            
+            }
+            if (currentStopContainer){
+	            stage ('Docker Stop'){
+	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            stage ('Docker Build Image'){
+                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
+            }
+        	if (!currentForcePush){
+			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
+			    sh "touch ${devopsImageLastSha256File}" 
+			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
+			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
+		        try{
+		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
+				} catch (err){
+				}			
+			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
+				if (devopsImageCurrentSha256!=''){
+					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
+				}
+			}
+			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
+	            stage ('Docker Push'){
+					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }				
+			if (currentContinueTasks) {
+				stage('Launch Depending Tasks') {
+					int i=0;
+					for (i=0;i<dependingTasks.size();i++){
+						if (dependingTasks[i]!=""){
+			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+						}
+					}
+			    }
+			}            
+        }
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerRunService b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerRunService
index 98c895dcfb535e91f5fa2c7b06f40d1754818120..855bccc6028d76e21a5b3f8cdca56c2119dd9c31 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerRunService
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/JenkinsfileDockerRunService
@@ -1,209 +1,209 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-				
-	try	{		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-
-		String devopsSourcesDiffPreviousCommit
-		String devopsSourcesCurrentCommit
-        String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		}
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }       
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if (hasEmptyWorkspace) {
-			hasNewDevopsSources=true
-		} else {
-			stage ('Assess New Sources'){
-			    sh "touch ${devopsSourcesLastCommitFile}" 
-			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-				if (devopsSourcesCurrentCommit!=''){
-					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-				}
-			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-			    	try{
-			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-			    	} catch(err) {
-			    	}
-			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
-			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-		  				hasNewDevopsSources=true
-			    	}
-			    }
-			}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-		
-        stage ('Prepare Variables'){
-            // Get the Maven tool.
-            // ** NOTE: This 'M3' Maven tool must be configured
-            // **       in the global configuration.
-            mvnHome = tool 'Maven 3.3.9 colocated'
-        }
-         if(hasNewDevopsSources){
-            stage ('Devops Source Move'){
-                  sh "rm -rf ${devopsSourcesPath}/src"	   
-                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if(currentVerbose){
-            stage ('Variables Echo'){
-            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if (currentStopContainer){
-            stage ('Docker Stop'){
-                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        stage ('Docker Start'){
-            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-        }
-  		if (currentContinueTasks) {
-			stage('Launch Depending Tasks') {
-				int i=0;
-				for (i=0;i<dependingTasks.size();i++){
-					if (dependingTasks[i]!=""){
-		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-					}
-				}
-		    }
-		}            
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+				
+	try	{		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+
+		String devopsSourcesDiffPreviousCommit
+		String devopsSourcesCurrentCommit
+        String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		}
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }       
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if (hasEmptyWorkspace) {
+			hasNewDevopsSources=true
+		} else {
+			stage ('Assess New Sources'){
+			    sh "touch ${devopsSourcesLastCommitFile}" 
+			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+				if (devopsSourcesCurrentCommit!=''){
+					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+				}
+			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+			    	try{
+			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+			    	} catch(err) {
+			    	}
+			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+		  				hasNewDevopsSources=true
+			    	}
+			    }
+			}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+		
+        stage ('Prepare Variables'){
+            // Get the Maven tool.
+            // ** NOTE: This 'M3' Maven tool must be configured
+            // **       in the global configuration.
+            mvnHome = tool 'Maven 3.3.9 colocated'
+        }
+         if(hasNewDevopsSources){
+            stage ('Devops Source Move'){
+                  sh "rm -rf ${devopsSourcesPath}/src"	   
+                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if(currentVerbose){
+            stage ('Variables Echo'){
+            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if (currentStopContainer){
+            stage ('Docker Stop'){
+                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        stage ('Docker Start'){
+            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+        }
+  		if (currentContinueTasks) {
+			stage('Launch Depending Tasks') {
+				int i=0;
+				for (i=0;i<dependingTasks.size();i++){
+					if (dependingTasks[i]!=""){
+		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+					}
+				}
+		    }
+		}            
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/pom.xml b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/pom.xml
index 13b24666bfdb3c02d04211876421ce30eb758eab..6e455c6df53bc3af2832696b8fd38d80786b671d 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/pom.xml
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/pom.xml
@@ -1,75 +1,75 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
-		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
-		<version>ALPHA</version>
-	</parent>
-	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.vagrant.server</artifactId>
-	<packaging>pom</packaging>
-	<build>
-		<plugins>
-			<!-- We check the value of some properties values -->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<version>1.1</version>
-				<executions>
-					<execution>
-						<id>echo</id>
-						<phase>initialize</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<tasks>
-								<echo>Displaying values of properties</echo>
-								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
-								<echo>[docker.image.name]=${docker.image.name}</echo>
-								<echo>[docker.image.version]=${docker.image.version}</echo>
-								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
-							</tasks>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<!-- added to support docker image creation -->
-			<plugin>
-				<groupId>org.jolokia</groupId>
-				<artifactId>docker-maven-plugin</artifactId>
-				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
-				<version>0.13.9</version>
-				<configuration>
-					<images>
-						<image>
-							<alias>${docker.name}</alias>
-							<name>${docker.image.name}:${docker.image.version}</name>
-							<build>
-								<assembly>
-									<!-- this time we will do it from a docker file element is needed 
-										to switch the usage of the extrenal file -->
-									<dockerFileDir>.</dockerFileDir>
-									<!-- end -->
-								</assembly>
-							</build>
-							<run>
-								<namingStrategy>alias</namingStrategy>
-								<ports>
-									<port>${docker.port1.mapping}</port>
-								</ports>
-							</run>
-						</image>
-					</images>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	<properties>
-		<docker.name>eu.decideh2020.vagrant.server</docker.name>
-		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
-		<docker.image.version>${project.version}</docker.image.version>
-		<docker.port1.external>${eu.decideh2020.vagrant.port}</docker.port1.external>
-		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
-	</properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>eu.decideh2020.int.adapt.monitoring</groupId>
+		<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp</artifactId>
+		<version>ALPHA</version>
+	</parent>
+	<artifactId>eu.decideh2020.int.adapt.monitoring.src.dvp.vagrant.server</artifactId>
+	<packaging>pom</packaging>
+	<build>
+		<plugins>
+			<!-- We check the value of some properties values -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>echo</id>
+						<phase>initialize</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<tasks>
+								<echo>Displaying values of properties</echo>
+								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
+								<echo>[docker.image.name]=${docker.image.name}</echo>
+								<echo>[docker.image.version]=${docker.image.version}</echo>
+								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
+							</tasks>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<!-- added to support docker image creation -->
+			<plugin>
+				<groupId>org.jolokia</groupId>
+				<artifactId>docker-maven-plugin</artifactId>
+				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
+				<version>0.13.9</version>
+				<configuration>
+					<images>
+						<image>
+							<alias>${docker.name}</alias>
+							<name>${docker.image.name}:${docker.image.version}</name>
+							<build>
+								<assembly>
+									<!-- this time we will do it from a docker file element is needed 
+										to switch the usage of the extrenal file -->
+									<dockerFileDir>.</dockerFileDir>
+									<!-- end -->
+								</assembly>
+							</build>
+							<run>
+								<namingStrategy>alias</namingStrategy>
+								<ports>
+									<port>${docker.port1.mapping}</port>
+								</ports>
+							</run>
+						</image>
+					</images>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<properties>
+		<docker.name>eu.decideh2020.vagrant.server</docker.name>
+		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
+		<docker.image.version>${project.version}</docker.image.version>
+		<docker.port1.external>${eu.decideh2020.vagrant.port}</docker.port1.external>
+		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
+	</properties>
 </project>
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
index 9e64c7a31eff061303f1d32c83d86ae935917a4e..f69883603678a78152e519bf94bdaed7b96e5fa0 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
@@ -1,175 +1,175 @@
-#http://ricostacruz.com/cheatsheets/vagrantfile.html
-
-# https://gist.github.com/bcantoni/f9ca55cd4393ec4929a2
-# test setting a guest environment variable based on a host environment variable
-# if FOO_BAR is set locally, create command to add it to .profile in the guest
-
-env_var_cmd = ""
-if ENV['SOCKSHOP_IP']
-  value = ENV['SOCKSHOP_IP']
-else
-  value = "10.0.2.2 sockshop.integration.decideh2020.lan.esilab.org"
-end
-
-env_var_cmd = <<CMD
-echo "#{value}" >> /etc/hosts
-CMD
-  
-script = <<SCRIPT
-#{env_var_cmd}
-SCRIPT
-
-Vagrant.configure("2") do |config|
-  # All Vagrant configuration is done here. The most common configuration
-  # options are documented and commented below. For a complete reference,
-  # please see the online documentation at vagrantup.com.
-
-  # Every Vagrant virtual environment requires a box to build off of.
-  config.vm.box = "ubuntu/xenial64"
-  
-  # This resizes the first hard drive it requires the vagrant-disksize plugin to be 
-  # installed https://github.com/sprotheroe/vagrant-disksize
-  # config.disksize.size = '50GB'
-
-  # The url from where the 'config.vm.box' box will be fetched if it
-  # doesn't already exist on the user's system.
-  # config.vm.box_url = "http://domain.com/path/to/above.box"
-
-  # Create a forwarded port mapping which allows access to a specific port
-  # within the machine from a port on the host machine. In the example below,
-  # accessing "localhost:8080" will access port 80 on the guest machine.
-  # config.vm.network :forwarded_port, guest: 80, host: 8080
-  config.vm.network "forwarded_port", guest: 3000, host: 3000
-  config.vm.network "forwarded_port", guest: 8086, host: 8086
-
-  # Create a private network, which allows host-only access to the machine
-  # using a specific IP.
-  # config.vm.network :private_network, ip: "192.168.33.10"
-
-  # Create a public network, which generally matched to bridged network.
-  # Bridged networks make the machine appear as another physical device on
-  # your network.
-  config.vm.network :public_network
-
-  # If true, then any SSH connections made will enable agent forwarding.
-  # Default value: false
-  # config.ssh.forward_agent = true
-
-  # Share an additional folder to the guest VM. The first argument is
-  # the path on the host to the actual folder. The second argument is
-  # the path on the guest to mount the folder. And the optional third
-  # argument is a set of non-required options.
-  # config.vm.synced_folder "../data", "/vagrant_data"
-
-  # Provider-specific configuration so you can fine-tune various
-  # backing providers for Vagrant. These expose provider-specific options.
-  # Example for VirtualBox:
-  #
-  # config.vm.provider :virtualbox do |vb|
-  #   # Don't boot with headless mode
-  #   vb.gui = true
-  #
-  #   # Use VBoxManage to customize the VM. For example to change memory:
-  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
-  # end
-  #
-  # View the documentation for the provider you're using for more
-  # information on available options.
-  
-  config.vm.provider "virtualbox" do |vb|
-  #   # Display the VirtualBox GUI when booting the machine
-      vb.gui = true
-  #   # Customize the amount of memory on the VM:
-  end
-
-  config.vm.synced_folder "grafana", "/docker.grafana.copy"  	
-  config.vm.synced_folder "../../../../eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker", "/docker.grafana"
-  config.vm.synced_folder "../../../../eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker", "/docker.influxdb"
-  
-  
-  config.vm.provision "shell", name: "sudo", inline: <<-SHELL
-    cp /docker.grafana.copy/grafana-init.sh /docker.grafana/grafana-init.sh
-  SHELL
-  
-  config.vm.provision "docker" do |d|
-    d.build_image "/docker.grafana", args: "-t tecnalia/eu.decideh2020.adapt.grafana.server"
-    #d.run "tecnalia/eu.decideh2020.adapt.grafana.server", args: "-d -p 3000:3000 --restart=always -e 'GF_SERVER_ROOT_URL=http://grafana.esilab.org'  -e 'GF_SECURITY_ADMIN_PASSWORD=admin' --name eu.decideh2020.adapt.grafana.server --add-host #{ENV['SOCKSHOP_IP']}"
-    d.run "tecnalia/eu.decideh2020.adapt.grafana.server", args: "-d -p 3000:3000 --restart=always -e 'GF_SERVER_ROOT_URL=http://grafana.esilab.org'  -e 'GF_SECURITY_ADMIN_PASSWORD=admin' --name eu.decideh2020.adapt.grafana.server"
-    d.build_image "/docker.influxdb", args: "-t tecnalia/eu.decideh2020.adapt.influxdb.server"
-    d.run "tecnalia/eu.decideh2020.adapt.influxdb.server", args: "-d -p 8086:8086 --restart=always -e INFLUXDB_DB='decideh2020adapt' --name eu.decideh2020.adapt.influxdb.server"
-  end
-  config.vm.provision :shell, :inline => script
-  config.vm.synced_folder "telegraf", "/telegraf"
-  config.vm.provision "shell", name: "sudo", inline: <<-SHELL
-    curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -
-    source /etc/lsb-release
-    echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
-    apt-get update
-    apt-get install telegraf --yes
-    cp /telegraf/telegraf.conf /etc/telegraf/telegraf.conf
-    usermod -aG docker telegraf
-    service telegraf restart
-  SHELL
-  
-  # Enable provisioning with Puppet stand alone.  Puppet manifests
-  # are contained in a directory path relative to this Vagrantfile.
-  # You will need to create the manifests directory and a manifest in
-  # the file precise64.pp in the manifests_path directory.
-  #
-  # An example Puppet manifest to provision the message of the day:
-  #
-  # # group { "puppet":
-  # #   ensure => "present",
-  # # }
-  # #
-  # # File { owner => 0, group => 0, mode => 0644 }
-  # #
-  # # file { '/etc/motd':
-  # #   content => "Welcome to your Vagrant-built virtual machine!
-  # #               Managed by Puppet.\n"
-  # # }
-  #
-  # config.vm.provision :puppet do |puppet|
-  #   puppet.manifests_path = "manifests"
-  #   puppet.manifest_file  = "init.pp"
-  # end
-
-  # Enable provisioning with chef solo, specifying a cookbooks path, roles
-  # path, and data_bags path (all relative to this Vagrantfile), and adding
-  # some recipes and/or roles.
-  #
-  # config.vm.provision :chef_solo do |chef|
-  #   chef.cookbooks_path = "../my-recipes/cookbooks"
-  #   chef.roles_path = "../my-recipes/roles"
-  #   chef.data_bags_path = "../my-recipes/data_bags"
-  #   chef.add_recipe "mysql"
-  #   chef.add_role "web"
-  #
-  #   # You may also specify custom JSON attributes:
-  #   chef.json = { :mysql_password => "foo" }
-  # end
-
-  # Enable provisioning with chef server, specifying the chef server URL,
-  # and the path to the validation key (relative to this Vagrantfile).
-  #
-  # The Opscode Platform uses HTTPS. Substitute your organization for
-  # ORGNAME in the URL and validation key.
-  #
-  # If you have your own Chef Server, use the appropriate URL, which may be
-  # HTTP instead of HTTPS depending on your configuration. Also change the
-  # validation key to validation.pem.
-  #
-  # config.vm.provision :chef_client do |chef|
-  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
-  #   chef.validation_key_path = "ORGNAME-validator.pem"
-  # end
-  #
-  # If you're using the Opscode platform, your validator client is
-  # ORGNAME-validator, replacing ORGNAME with your organization name.
-  #
-  # If you have your own Chef Server, the default validation client name is
-  # chef-validator, unless you changed the configuration.
-  #
-  #   chef.validation_client_name = "ORGNAME-validator"
-end
-
+#http://ricostacruz.com/cheatsheets/vagrantfile.html
+
+# https://gist.github.com/bcantoni/f9ca55cd4393ec4929a2
+# test setting a guest environment variable based on a host environment variable
+# if FOO_BAR is set locally, create command to add it to .profile in the guest
+
+env_var_cmd = ""
+if ENV['SOCKSHOP_IP']
+  value = ENV['SOCKSHOP_IP']
+else
+  value = "10.0.2.2 sockshop.integration.decideh2020.lan.esilab.org"
+end
+
+env_var_cmd = <<CMD
+echo "#{value}" >> /etc/hosts
+CMD
+  
+script = <<SCRIPT
+#{env_var_cmd}
+SCRIPT
+
+Vagrant.configure("2") do |config|
+  # All Vagrant configuration is done here. The most common configuration
+  # options are documented and commented below. For a complete reference,
+  # please see the online documentation at vagrantup.com.
+
+  # Every Vagrant virtual environment requires a box to build off of.
+  config.vm.box = "ubuntu/xenial64"
+  
+  # This resizes the first hard drive it requires the vagrant-disksize plugin to be 
+  # installed https://github.com/sprotheroe/vagrant-disksize
+  # config.disksize.size = '50GB'
+
+  # The url from where the 'config.vm.box' box will be fetched if it
+  # doesn't already exist on the user's system.
+  # config.vm.box_url = "http://domain.com/path/to/above.box"
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine. In the example below,
+  # accessing "localhost:8080" will access port 80 on the guest machine.
+  # config.vm.network :forwarded_port, guest: 80, host: 8080
+  config.vm.network "forwarded_port", guest: 3000, host: 3000
+  config.vm.network "forwarded_port", guest: 8086, host: 8086
+
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network :private_network, ip: "192.168.33.10"
+
+  # Create a public network, which generally matched to bridged network.
+  # Bridged networks make the machine appear as another physical device on
+  # your network.
+  config.vm.network :public_network
+
+  # If true, then any SSH connections made will enable agent forwarding.
+  # Default value: false
+  # config.ssh.forward_agent = true
+
+  # Share an additional folder to the guest VM. The first argument is
+  # the path on the host to the actual folder. The second argument is
+  # the path on the guest to mount the folder. And the optional third
+  # argument is a set of non-required options.
+  # config.vm.synced_folder "../data", "/vagrant_data"
+
+  # Provider-specific configuration so you can fine-tune various
+  # backing providers for Vagrant. These expose provider-specific options.
+  # Example for VirtualBox:
+  #
+  # config.vm.provider :virtualbox do |vb|
+  #   # Don't boot with headless mode
+  #   vb.gui = true
+  #
+  #   # Use VBoxManage to customize the VM. For example to change memory:
+  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
+  # end
+  #
+  # View the documentation for the provider you're using for more
+  # information on available options.
+  
+  config.vm.provider "virtualbox" do |vb|
+  #   # Display the VirtualBox GUI when booting the machine
+      vb.gui = true
+  #   # Customize the amount of memory on the VM:
+  end
+
+  config.vm.synced_folder "grafana", "/docker.grafana.copy"  	
+  config.vm.synced_folder "../../../../eu.decideh2020.int.adapt.monitoring.grafana.server.src.dvp/src/main/docker", "/docker.grafana"
+  config.vm.synced_folder "../../../../eu.decideh2020.int.adapt.monitoring.influxdb.server.src.dvp/src/main/docker", "/docker.influxdb"
+  
+  
+  config.vm.provision "shell", name: "sudo", inline: <<-SHELL
+    cp /docker.grafana.copy/grafana-init.sh /docker.grafana/grafana-init.sh
+  SHELL
+  
+  config.vm.provision "docker" do |d|
+    d.build_image "/docker.grafana", args: "-t tecnalia/eu.decideh2020.adapt.grafana.server"
+    #d.run "tecnalia/eu.decideh2020.adapt.grafana.server", args: "-d -p 3000:3000 --restart=always -e 'GF_SERVER_ROOT_URL=http://grafana.esilab.org'  -e 'GF_SECURITY_ADMIN_PASSWORD=admin' --name eu.decideh2020.adapt.grafana.server --add-host #{ENV['SOCKSHOP_IP']}"
+    d.run "tecnalia/eu.decideh2020.adapt.grafana.server", args: "-d -p 3000:3000 --restart=always -e 'GF_SERVER_ROOT_URL=http://grafana.esilab.org'  -e 'GF_SECURITY_ADMIN_PASSWORD=admin' --name eu.decideh2020.adapt.grafana.server"
+    d.build_image "/docker.influxdb", args: "-t tecnalia/eu.decideh2020.adapt.influxdb.server"
+    d.run "tecnalia/eu.decideh2020.adapt.influxdb.server", args: "-d -p 8086:8086 --restart=always -e INFLUXDB_DB='decideh2020adapt' --name eu.decideh2020.adapt.influxdb.server"
+  end
+  config.vm.provision :shell, :inline => script
+  config.vm.synced_folder "telegraf", "/telegraf"
+  config.vm.provision "shell", name: "sudo", inline: <<-SHELL
+    curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -
+    source /etc/lsb-release
+    echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
+    apt-get update
+    apt-get install telegraf --yes
+    cp /telegraf/telegraf.conf /etc/telegraf/telegraf.conf
+    usermod -aG docker telegraf
+    service telegraf restart
+  SHELL
+  
+  # Enable provisioning with Puppet stand alone.  Puppet manifests
+  # are contained in a directory path relative to this Vagrantfile.
+  # You will need to create the manifests directory and a manifest in
+  # the file precise64.pp in the manifests_path directory.
+  #
+  # An example Puppet manifest to provision the message of the day:
+  #
+  # # group { "puppet":
+  # #   ensure => "present",
+  # # }
+  # #
+  # # File { owner => 0, group => 0, mode => 0644 }
+  # #
+  # # file { '/etc/motd':
+  # #   content => "Welcome to your Vagrant-built virtual machine!
+  # #               Managed by Puppet.\n"
+  # # }
+  #
+  # config.vm.provision :puppet do |puppet|
+  #   puppet.manifests_path = "manifests"
+  #   puppet.manifest_file  = "init.pp"
+  # end
+
+  # Enable provisioning with chef solo, specifying a cookbooks path, roles
+  # path, and data_bags path (all relative to this Vagrantfile), and adding
+  # some recipes and/or roles.
+  #
+  # config.vm.provision :chef_solo do |chef|
+  #   chef.cookbooks_path = "../my-recipes/cookbooks"
+  #   chef.roles_path = "../my-recipes/roles"
+  #   chef.data_bags_path = "../my-recipes/data_bags"
+  #   chef.add_recipe "mysql"
+  #   chef.add_role "web"
+  #
+  #   # You may also specify custom JSON attributes:
+  #   chef.json = { :mysql_password => "foo" }
+  # end
+
+  # Enable provisioning with chef server, specifying the chef server URL,
+  # and the path to the validation key (relative to this Vagrantfile).
+  #
+  # The Opscode Platform uses HTTPS. Substitute your organization for
+  # ORGNAME in the URL and validation key.
+  #
+  # If you have your own Chef Server, use the appropriate URL, which may be
+  # HTTP instead of HTTPS depending on your configuration. Also change the
+  # validation key to validation.pem.
+  #
+  # config.vm.provision :chef_client do |chef|
+  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
+  #   chef.validation_key_path = "ORGNAME-validator.pem"
+  # end
+  #
+  # If you're using the Opscode platform, your validator client is
+  # ORGNAME-validator, replacing ORGNAME with your organization name.
+  #
+  # If you have your own Chef Server, the default validation client name is
+  # chef-validator, unless you changed the configuration.
+  #
+  #   chef.validation_client_name = "ORGNAME-validator"
+end
+
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/grafana/grafana-init.sh b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/grafana/grafana-init.sh
index 14b4c0d1f761e98091c9cb70d6985f10394c74df..ea2abab45c181833de9e06150623b7d8d3b0a1f9 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/grafana/grafana-init.sh
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/grafana/grafana-init.sh
@@ -1,14 +1,14 @@
-#!/bin/bash
-
-echo 'Starting Grafana...'
-AddDataSource() {
-   curl --silent --output /dev/null 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"decideh2020adapt","type":"influxdb","url":"http://10.0.2.15:8086","access":"proxy","isDefault":false,"database":"decideh2020adapt","user":"n/a","password":"n/a"}' 
-}
-
-echo 'Configuring Grafana start...' 
-until AddDataSource; do
-  echo 'Configuring Grafana...' 
-  sleep 1
-done
-echo 'Done!'
-wait
+#!/bin/bash
+
+echo 'Starting Grafana...'
+AddDataSource() {
+   curl --silent --output /dev/null 'http://admin:admin@127.0.0.1:3000/api/datasources' -X POST -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"name":"decideh2020adapt","type":"influxdb","url":"http://10.0.2.15:8086","access":"proxy","isDefault":false,"database":"decideh2020adapt","user":"n/a","password":"n/a"}' 
+}
+
+echo 'Configuring Grafana start...' 
+until AddDataSource; do
+  echo 'Configuring Grafana...' 
+  sleep 1
+done
+echo 'Done!'
+wait
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/telegraf/telegraf.conf b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/telegraf/telegraf.conf
index 43c4ada791a4050c2e74cffa844694810acb4f69..412d32439223809564766e9abd6186ed208dbeb7 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/telegraf/telegraf.conf
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.monitoring.vagrant.server.src.dvp/src/main/vagrant/telegraf/telegraf.conf
@@ -1,2599 +1,2599 @@
-##/****************************************************************
-##*Copyright (c) 2017 Tecnalia.
-##*Licensed under MIT License (the "License");
-##*Permission is hereby granted, free of charge, to any person obtaining a copy 
-##of this software and associated documentation files (the "Software"), to deal 
-##in the Software without restriction, including without limitation the rights 
-##to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-##copies of the Software, and to permit persons to whom the Software is furnished 
-##to do so, subject to the following conditions:
-##*The above copyright notice and this permission notice shall be included in all 
-##copies or substantial portions of the Software.
-##*
-##*
-##*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-##INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-##PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-##HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-##CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-##OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-##
-##*Contributors (in alphabetical order):
-##*Gorka Benguria                                 Tecnalia
-##*Iñaki Etxaniz                                  Tecnalia
-##*Juncal Alonso                                  Tecnalia
-##*Leire Orue-Echevarria                          Tecnalia
-##*Maria Jose Lopez                               Tecnalia
-##*Marisa Escalante                               Tecnalia
-##*
-##*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-##*****************************************************************************/
-
-
-
-# Telegraf Configuration
-#
-# Telegraf is entirely plugin driven. All metrics are gathered from the
-# declared inputs, and sent to the declared outputs.
-#
-# Plugins must be declared in here to be active.
-# To deactivate a plugin, comment out the name and any variables.
-#
-# Use 'telegraf -config telegraf.conf -test' to see what metrics a config
-# file would generate.
-#
-# Environment variables can be used anywhere in this config file, simply prepend
-# them with $. For strings the variable must be within quotes (ie, "$STR_VAR"),
-# for numbers and booleans they should be plain (ie, $INT_VAR, $BOOL_VAR)
-
-
-# Global tags can be specified here in key="value" format.
-[global_tags]
-  # dc = "us-east-1" # will tag all metrics with dc=us-east-1
-  # rack = "1a"
-  ## Environment variables can be used as tags, and throughout the config file
-  # user = "$USER"
-
-
-# Configuration for telegraf agent
-[agent]
-  ## Default data collection interval for all inputs
-  interval = "10s"
-  ## Rounds collection interval to 'interval'
-  ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
-  round_interval = true
-
-  ## Telegraf will send metrics to outputs in batches of at most
-  ## metric_batch_size metrics.
-  ## This controls the size of writes that Telegraf sends to output plugins.
-  metric_batch_size = 1000
-
-  ## For failed writes, telegraf will cache metric_buffer_limit metrics for each
-  ## output, and will flush this buffer on a successful write. Oldest metrics
-  ## are dropped first when this buffer fills.
-  ## This buffer only fills when writes fail to output plugin(s).
-  metric_buffer_limit = 10000
-
-  ## Collection jitter is used to jitter the collection by a random amount.
-  ## Each plugin will sleep for a random time within jitter before collecting.
-  ## This can be used to avoid many plugins querying things like sysfs at the
-  ## same time, which can have a measurable effect on the system.
-  collection_jitter = "0s"
-
-  ## Default flushing interval for all outputs. You shouldn't set this below
-  ## interval. Maximum flush_interval will be flush_interval + flush_jitter
-  flush_interval = "10s"
-  ## Jitter the flush interval by a random amount. This is primarily to avoid
-  ## large write spikes for users running a large number of telegraf instances.
-  ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
-  flush_jitter = "0s"
-
-  ## By default or when set to "0s", precision will be set to the same
-  ## timestamp order as the collection interval, with the maximum being 1s.
-  ##   ie, when interval = "10s", precision will be "1s"
-  ##       when interval = "250ms", precision will be "1ms"
-  ## Precision will NOT be used for service inputs. It is up to each individual
-  ## service input to set the timestamp at the appropriate precision.
-  ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
-  precision = ""
-
-  ## Logging configuration:
-  ## Run telegraf with debug log messages.
-  debug = false
-  ## Run telegraf in quiet mode (error log messages only).
-  quiet = false
-  ## Specify the log file name. The empty string means to log to stderr.
-  logfile = ""
-
-  ## Override default hostname, if empty use os.Hostname()
-  hostname = ""
-  ## If set to true, do no set the "host" tag in the telegraf agent.
-  omit_hostname = false
-
-
-###############################################################################
-#                            OUTPUT PLUGINS                                   #
-###############################################################################
-
-# Configuration for influxdb server to send metrics to
-[[outputs.influxdb]]
-  ## The HTTP or UDP URL for your InfluxDB instance.  Each item should be
-  ## of the form:
-  ##   scheme "://" host [ ":" port]
-  ##
-  ## Multiple urls can be specified as part of the same cluster,
-  ## this means that only ONE of the urls will be written to each interval.
-  # urls = ["udp://localhost:8089"] # UDP endpoint example
-  urls = ["http://localhost:8086"] # required
-  ## The target database for metrics (telegraf will create it if not exists).
-  database = "decideh2020adapt" # required
-
-  ## Name of existing retention policy to write to.  Empty string writes to
-  ## the default retention policy.
-  retention_policy = ""
-  ## Write consistency (clusters only), can be: "any", "one", "quorum", "all"
-  write_consistency = "any"
-
-  ## Write timeout (for the InfluxDB client), formatted as a string.
-  ## If not provided, will default to 5s. 0s means no timeout (not recommended).
-  timeout = "5s"
-  # username = "telegraf"
-  # password = "metricsmetricsmetricsmetrics"
-  ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
-  # user_agent = "telegraf"
-  ## Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
-  # udp_payload = 512
-
-  ## Optional SSL Config
-  # ssl_ca = "/etc/telegraf/ca.pem"
-  # ssl_cert = "/etc/telegraf/cert.pem"
-  # ssl_key = "/etc/telegraf/key.pem"
-  ## Use SSL but skip chain & host verification
-  # insecure_skip_verify = false
-
-
-# # Configuration for Amon Server to send metrics to.
-# [[outputs.amon]]
-#   ## Amon Server Key
-#   server_key = "my-server-key" # required.
-#
-#   ## Amon Instance URL
-#   amon_instance = "https://youramoninstance" # required
-#
-#   ## Connection timeout.
-#   # timeout = "5s"
-
-
-# # Configuration for the AMQP server to send metrics to
-# [[outputs.amqp]]
-#   ## AMQP url
-#   url = "amqp://localhost:5672/influxdb"
-#   ## AMQP exchange
-#   exchange = "telegraf"
-#   ## Auth method. PLAIN and EXTERNAL are supported
-#   ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
-#   ## described here: https://www.rabbitmq.com/plugins.html
-#   # auth_method = "PLAIN"
-#   ## Telegraf tag to use as a routing key
-#   ##  ie, if this tag exists, its value will be used as the routing key
-#   routing_tag = "host"
-#
-#   ## InfluxDB retention policy
-#   # retention_policy = "default"
-#   ## InfluxDB database
-#   # database = "telegraf"
-#
-#   ## Write timeout, formatted as a string.  If not provided, will default
-#   ## to 5s. 0s means no timeout (not recommended).
-#   # timeout = "5s"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Configuration for AWS CloudWatch output.
-# [[outputs.cloudwatch]]
-#   ## Amazon REGION
-#   region = "us-east-1"
-#
-#   ## Amazon Credentials
-#   ## Credentials are loaded in the following order
-#   ## 1) Assumed credentials via STS if role_arn is specified
-#   ## 2) explicit credentials from 'access_key' and 'secret_key'
-#   ## 3) shared profile from 'profile'
-#   ## 4) environment variables
-#   ## 5) shared credentials file
-#   ## 6) EC2 Instance Profile
-#   #access_key = ""
-#   #secret_key = ""
-#   #token = ""
-#   #role_arn = ""
-#   #profile = ""
-#   #shared_credential_file = ""
-#
-#   ## Namespace for the CloudWatch MetricDatums
-#   namespace = "InfluxData/Telegraf"
-
-
-# # Configuration for DataDog API to send metrics to.
-# [[outputs.datadog]]
-#   ## Datadog API key
-#   apikey = "my-secret-key" # required.
-#
-#   ## Connection timeout.
-#   # timeout = "5s"
-
-
-# # Send metrics to nowhere at all
-# [[outputs.discard]]
-#   # no configuration
-
-
-# # Configuration for Elasticsearch to send metrics to.
-# [[outputs.elasticsearch]]
-#   ## The full HTTP endpoint URL for your Elasticsearch instance
-#   ## Multiple urls can be specified as part of the same cluster,
-#   ## this means that only ONE of the urls will be written to each interval.
-#   urls = [ "http://node1.es.example.com:9200" ] # required.
-#   ## Elasticsearch client timeout, defaults to "5s" if not set.
-#   timeout = "5s"
-#   ## Set to true to ask Elasticsearch a list of all cluster nodes,
-#   ## thus it is not necessary to list all nodes in the urls config option.
-#   enable_sniffer = false
-#   ## Set the interval to check if the Elasticsearch nodes are available
-#   ## Setting to "0s" will disable the health check (not recommended in production)
-#   health_check_interval = "10s"
-#   ## HTTP basic authentication details (eg. when using Shield)
-#   # username = "telegraf"
-#   # password = "mypassword"
-#
-#   ## Index Config
-#   ## The target index for metrics (Elasticsearch will create if it not exists).
-#   ## You can use the date specifiers below to create indexes per time frame.
-#   ## The metric timestamp will be used to decide the destination index name
-#   # %Y - year (2016)
-#   # %y - last two digits of year (00..99)
-#   # %m - month (01..12)
-#   # %d - day of month (e.g., 01)
-#   # %H - hour (00..23)
-#   index_name = "telegraf-%Y.%m.%d" # required.
-#
-#   ## Template Config
-#   ## Set to true if you want telegraf to manage its index template.
-#   ## If enabled it will create a recommended index template for telegraf indexes
-#   manage_template = true
-#   ## The template name used for telegraf indexes
-#   template_name = "telegraf"
-#   ## Set to true if you want telegraf to overwrite an existing template
-#   overwrite_template = false
-
-
-# # Send telegraf metrics to file(s)
-# [[outputs.file]]
-#   ## Files to write to, "stdout" is a specially handled file.
-#   files = ["stdout", "/tmp/metrics.out"]
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Configuration for Graphite server to send metrics to
-# [[outputs.graphite]]
-#   ## TCP endpoint for your graphite instance.
-#   ## If multiple endpoints are configured, output will be load balanced.
-#   ## Only one of the endpoints will be written to with each iteration.
-#   servers = ["localhost:2003"]
-#   ## Prefix metrics name
-#   prefix = ""
-#   ## Graphite output template
-#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   template = "host.tags.measurement.field"
-#   ## timeout in seconds for the write connection to graphite
-#   timeout = 2
-
-
-# # Send telegraf metrics to graylog(s)
-# [[outputs.graylog]]
-#   ## UDP endpoint for your graylog instance.
-#   servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
-
-
-# # Configuration for sending metrics to an Instrumental project
-# [[outputs.instrumental]]
-#   ## Project API Token (required)
-#   api_token = "API Token" # required
-#   ## Prefix the metrics with a given name
-#   prefix = ""
-#   ## Stats output template (Graphite formatting)
-#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
-#   template = "host.tags.measurement.field"
-#   ## Timeout in seconds to connect
-#   timeout = "2s"
-#   ## Display Communcation to Instrumental
-#   debug = false
-
-
-# # Configuration for the Kafka server to send metrics to
-# [[outputs.kafka]]
-#   ## URLs of kafka brokers
-#   brokers = ["localhost:9092"]
-#   ## Kafka topic for producer messages
-#   topic = "telegraf"
-#   ## Telegraf tag to use as a routing key
-#   ##  ie, if this tag exists, its value will be used as the routing key
-#   routing_tag = "host"
-#
-#   ## CompressionCodec represents the various compression codecs recognized by
-#   ## Kafka in messages.
-#   ##  0 : No compression
-#   ##  1 : Gzip compression
-#   ##  2 : Snappy compression
-#   compression_codec = 0
-#
-#   ##  RequiredAcks is used in Produce Requests to tell the broker how many
-#   ##  replica acknowledgements it must see before responding
-#   ##   0 : the producer never waits for an acknowledgement from the broker.
-#   ##       This option provides the lowest latency but the weakest durability
-#   ##       guarantees (some data will be lost when a server fails).
-#   ##   1 : the producer gets an acknowledgement after the leader replica has
-#   ##       received the data. This option provides better durability as the
-#   ##       client waits until the server acknowledges the request as successful
-#   ##       (only messages that were written to the now-dead leader but not yet
-#   ##       replicated will be lost).
-#   ##   -1: the producer gets an acknowledgement after all in-sync replicas have
-#   ##       received the data. This option provides the best durability, we
-#   ##       guarantee that no messages will be lost as long as at least one in
-#   ##       sync replica remains.
-#   required_acks = -1
-#
-#   ##  The total number of times to retry sending a message
-#   max_retry = 3
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Optional SASL Config
-#   # sasl_username = "kafka"
-#   # sasl_password = "secret"
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Configuration for the AWS Kinesis output.
-# [[outputs.kinesis]]
-#   ## Amazon REGION of kinesis endpoint.
-#   region = "ap-southeast-2"
-#
-#   ## Amazon Credentials
-#   ## Credentials are loaded in the following order
-#   ## 1) Assumed credentials via STS if role_arn is specified
-#   ## 2) explicit credentials from 'access_key' and 'secret_key'
-#   ## 3) shared profile from 'profile'
-#   ## 4) environment variables
-#   ## 5) shared credentials file
-#   ## 6) EC2 Instance Profile
-#   #access_key = ""
-#   #secret_key = ""
-#   #token = ""
-#   #role_arn = ""
-#   #profile = ""
-#   #shared_credential_file = ""
-#
-#   ## Kinesis StreamName must exist prior to starting telegraf.
-#   streamname = "StreamName"
-#   ## PartitionKey as used for sharding data.
-#   partitionkey = "PartitionKey"
-#   ## If set the paritionKey will be a random UUID on every put.
-#   ## This allows for scaling across multiple shards in a stream.
-#   ## This will cause issues with ordering.
-#   use_random_partitionkey = false
-#
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-#
-#   ## debug will show upstream aws messages.
-#   debug = false
-
-
-# # Configuration for Librato API to send metrics to.
-# [[outputs.librato]]
-#   ## Librator API Docs
-#   ## http://dev.librato.com/v1/metrics-authentication
-#   ## Librato API user
-#   api_user = "telegraf@influxdb.com" # required.
-#   ## Librato API token
-#   api_token = "my-secret-token" # required.
-#   ## Debug
-#   # debug = false
-#   ## Connection timeout.
-#   # timeout = "5s"
-#   ## Output source Template (same as graphite buckets)
-#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
-#   ## This template is used in librato's source (not metric's name)
-#   template = "host"
-#
-
-
-# # Configuration for MQTT server to send metrics to
-# [[outputs.mqtt]]
-#   servers = ["localhost:1883"] # required.
-#
-#   ## MQTT outputs send metrics to this topic format
-#   ##    "<topic_prefix>/<hostname>/<pluginname>/"
-#   ##   ex: prefix/web01.example.com/mem
-#   topic_prefix = "telegraf"
-#
-#   ## username and password to connect MQTT server.
-#   # username = "telegraf"
-#   # password = "metricsmetricsmetricsmetrics"
-#
-#   ## client ID, if not set a random ID is generated
-#   # client_id = ""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Send telegraf measurements to NATS
-# [[outputs.nats]]
-#   ## URLs of NATS servers
-#   servers = ["nats://localhost:4222"]
-#   ## Optional credentials
-#   # username = ""
-#   # password = ""
-#   ## NATS subject for producer messages
-#   subject = "telegraf"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Send telegraf measurements to NSQD
-# [[outputs.nsq]]
-#   ## Location of nsqd instance listening on TCP
-#   server = "localhost:4150"
-#   ## NSQ topic for producer messages
-#   topic = "telegraf"
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Configuration for OpenTSDB server to send metrics to
-# [[outputs.opentsdb]]
-#   ## prefix for metrics keys
-#   prefix = "my.specific.prefix."
-#
-#   ## DNS name of the OpenTSDB server
-#   ## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
-#   ## telnet API. "http://opentsdb.example.com" will use the Http API.
-#   host = "opentsdb.example.com"
-#
-#   ## Port of the OpenTSDB server
-#   port = 4242
-#
-#   ## Number of data points to send to OpenTSDB in Http requests.
-#   ## Not used with telnet API.
-#   httpBatchSize = 50
-#
-#   ## Debug true - Prints OpenTSDB communication
-#   debug = false
-
-
-# # Configuration for the Prometheus client to spawn
-# [[outputs.prometheus_client]]
-#   ## Address to listen on
-#   # listen = ":9126"
-#
-#   ## Interval to expire metrics and not deliver to prometheus, 0 == no expiration
-#   # expiration_interval = "60s"
-
-
-# # Configuration for the Riemann server to send metrics to
-# [[outputs.riemann]]
-#   ## The full TCP or UDP URL of the Riemann server
-#   url = "tcp://localhost:5555"
-#
-#   ## Riemann event TTL, floating-point time in seconds.
-#   ## Defines how long that an event is considered valid for in Riemann
-#   # ttl = 30.0
-#
-#   ## Separator to use between measurement and field name in Riemann service name
-#   ## This does not have any effect if 'measurement_as_attribute' is set to 'true'
-#   separator = "/"
-#
-#   ## Set measurement name as Riemann attribute 'measurement', instead of prepending it to the Riemann service name
-#   # measurement_as_attribute = false
-#
-#   ## Send string metrics as Riemann event states.
-#   ## Unless enabled all string metrics will be ignored
-#   # string_as_state = false
-#
-#   ## A list of tag keys whose values get sent as Riemann tags.
-#   ## If empty, all Telegraf tag values will be sent as tags
-#   # tag_keys = ["telegraf","custom_tag"]
-#
-#   ## Additional Riemann tags to send.
-#   # tags = ["telegraf-output"]
-#
-#   ## Description for Riemann event
-#   # description_text = "metrics collected from telegraf"
-#
-#   ## Riemann client write timeout, defaults to "5s" if not set.
-#   # timeout = "5s"
-
-
-# # Configuration for the Riemann server to send metrics to
-# [[outputs.riemann_legacy]]
-#   ## URL of server
-#   url = "localhost:5555"
-#   ## transport protocol to use either tcp or udp
-#   transport = "tcp"
-#   ## separator to use between input name and field name in Riemann service name
-#   separator = " "
-
-
-# # Generic socket writer capable of handling multiple socket types.
-# [[outputs.socket_writer]]
-#   ## URL to connect to
-#   # address = "tcp://127.0.0.1:8094"
-#   # address = "tcp://example.com:http"
-#   # address = "tcp4://127.0.0.1:8094"
-#   # address = "tcp6://127.0.0.1:8094"
-#   # address = "tcp6://[2001:db8::1]:8094"
-#   # address = "udp://127.0.0.1:8094"
-#   # address = "udp4://127.0.0.1:8094"
-#   # address = "udp6://127.0.0.1:8094"
-#   # address = "unix:///tmp/telegraf.sock"
-#   # address = "unixgram:///tmp/telegraf.sock"
-#
-#   ## Period between keep alive probes.
-#   ## Only applies to TCP sockets.
-#   ## 0 disables keep alive probes.
-#   ## Defaults to the OS configuration.
-#   # keep_alive_period = "5m"
-#
-#   ## Data format to generate.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   # data_format = "influx"
-
-
-
-###############################################################################
-#                            PROCESSOR PLUGINS                                #
-###############################################################################
-
-# # Print all metrics that pass through this filter.
-# [[processors.printer]]
-
-
-
-###############################################################################
-#                            AGGREGATOR PLUGINS                               #
-###############################################################################
-
-# # Keep the aggregate min/max of each metric passing through.
-# [[aggregators.minmax]]
-#   ## General Aggregator Arguments:
-#   ## The period on which to flush & clear the aggregator.
-#   period = "30s"
-#   ## If true, the original metric will be dropped by the
-#   ## aggregator and will not get sent to the output plugins.
-#   drop_original = false
-
-
-
-###############################################################################
-#                            INPUT PLUGINS                                    #
-###############################################################################
-
-# Read metrics about cpu usage
-[[inputs.cpu]]
-  ## Whether to report per-cpu stats or not
-  percpu = true
-  ## Whether to report total system cpu stats or not
-  totalcpu = true
-  ## If true, collect raw CPU time metrics.
-  collect_cpu_time = false
-
-
-# Read metrics about disk usage by mount point
-[[inputs.disk]]
-  ## By default, telegraf gather stats for all mountpoints.
-  ## Setting mountpoints will restrict the stats to the specified mountpoints.
-  # mount_points = ["/"]
-
-  ## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
-  ## present on /run, /var/run, /dev/shm or /dev).
-  ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
-
-
-# Read metrics about disk IO by device
-[[inputs.diskio]]
-  ## By default, telegraf will gather stats for all devices including
-  ## disk partitions.
-  ## Setting devices will restrict the stats to the specified devices.
-  # devices = ["sda", "sdb"]
-  ## Uncomment the following line if you need disk serial numbers.
-  # skip_serial_number = false
-  #
-  ## On systems which support it, device metadata can be added in the form of
-  ## tags.
-  ## Currently only Linux is supported via udev properties. You can view
-  ## available properties for a device by running:
-  ## 'udevadm info -q property -n /dev/sda'
-  # device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"]
-  #
-  ## Using the same metadata source as device_tags, you can also customize the
-  ## name of the device via templates.
-  ## The 'name_templates' parameter is a list of templates to try and apply to
-  ## the device. The template may contain variables in the form of '$PROPERTY' or
-  ## '${PROPERTY}'. The first template which does not contain any variables not
-  ## present for the device is used as the device name tag.
-  ## The typical use case is for LVM volumes, to get the VG/LV name instead of
-  ## the near-meaningless DM-0 name.
-  # name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"]
-
-
-# Get kernel statistics from /proc/stat
-[[inputs.kernel]]
-  # no configuration
-
-
-# Read metrics about memory usage
-[[inputs.mem]]
-  # no configuration
-
-
-# Get the number of processes and group them by status
-[[inputs.processes]]
-  # no configuration
-
-
-# Read metrics about swap memory usage
-[[inputs.swap]]
-  # no configuration
-
-
-# Read metrics about system load & uptime
-[[inputs.system]]
-  # no configuration
-
-
-# # Read stats from aerospike server(s)
-# [[inputs.aerospike]]
-#   ## Aerospike servers to connect to (with port)
-#   ## This plugin will query all namespaces the aerospike
-#   ## server has configured and get stats for them.
-#   servers = ["localhost:3000"]
-
-
-# # Read Apache status information (mod_status)
-# [[inputs.apache]]
-#   ## An array of Apache status URI to gather stats.
-#   ## Default is "http://localhost/server-status?auto".
-#   urls = ["http://localhost/server-status?auto"]
-#   ## user credentials for basic HTTP authentication
-#   username = "myuser"
-#   password = "mypassword"
-#
-#   ## Timeout to the complete conection and reponse time in seconds
-#   response_timeout = "25s" ## default to 5 seconds
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read metrics of bcache from stats_total and dirty_data
-# [[inputs.bcache]]
-#   ## Bcache sets path
-#   ## If not specified, then default is:
-#   bcachePath = "/sys/fs/bcache"
-#
-#   ## By default, telegraf gather stats for all bcache devices
-#   ## Setting devices will restrict the stats to the specified
-#   ## bcache devices.
-#   bcacheDevs = ["bcache0"]
-
-
-# # Read Cassandra metrics through Jolokia
-# [[inputs.cassandra]]
-#   # This is the context root used to compose the jolokia url
-#   context = "/jolokia/read"
-#   ## List of cassandra servers exposing jolokia read service
-#   servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
-#   ## List of metrics collected on above servers
-#   ## Each metric consists of a jmx path.
-#   ## This will collect all heap memory usage metrics from the jvm and
-#   ## ReadLatency metrics for all keyspaces and tables.
-#   ## "type=Table" in the query works with Cassandra3.0. Older versions might
-#   ## need to use "type=ColumnFamily"
-#   metrics  = [
-#     "/java.lang:type=Memory/HeapMemoryUsage",
-#     "/org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"
-#   ]
-
-
-# # Collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
-# [[inputs.ceph]]
-#   ## This is the recommended interval to poll.  Too frequent and you will lose
-#   ## data points due to timeouts during rebalancing and recovery
-#   interval = '1m'
-#
-#   ## All configuration values are optional, defaults are shown below
-#
-#   ## location of ceph binary
-#   ceph_binary = "/usr/bin/ceph"
-#
-#   ## directory in which to look for socket files
-#   socket_dir = "/var/run/ceph"
-#
-#   ## prefix of MON and OSD socket files, used to determine socket type
-#   mon_prefix = "ceph-mon"
-#   osd_prefix = "ceph-osd"
-#
-#   ## suffix used to identify socket files
-#   socket_suffix = "asok"
-#
-#   ## Ceph user to authenticate as
-#   ceph_user = "client.admin"
-#
-#   ## Ceph configuration to use to locate the cluster
-#   ceph_config = "/etc/ceph/ceph.conf"
-#
-#   ## Whether to gather statistics via the admin socket
-#   gather_admin_socket_stats = true
-#
-#   ## Whether to gather statistics via ceph commands
-#   gather_cluster_stats = false
-
-
-# # Read specific statistics per cgroup
-# [[inputs.cgroup]]
-#   ## Directories in which to look for files, globs are supported.
-#   ## Consider restricting paths to the set of cgroups you really
-#   ## want to monitor if you have a large number of cgroups, to avoid
-#   ## any cardinality issues.
-#   # paths = [
-#   #   "/cgroup/memory",
-#   #   "/cgroup/memory/child1",
-#   #   "/cgroup/memory/child2/*",
-#   # ]
-#   ## cgroup stat fields, as file names, globs are supported.
-#   ## these file names are appended to each path from above.
-#   # files = ["memory.*usage*", "memory.limit_in_bytes"]
-
-
-# # Get standard chrony metrics, requires chronyc executable.
-# [[inputs.chrony]]
-#   ## If true, chronyc tries to perform a DNS lookup for the time server.
-#   # dns_lookup = false
-
-
-# # Pull Metric Statistics from Amazon CloudWatch
-# [[inputs.cloudwatch]]
-#   ## Amazon Region
-#   region = "us-east-1"
-#
-#   ## Amazon Credentials
-#   ## Credentials are loaded in the following order
-#   ## 1) Assumed credentials via STS if role_arn is specified
-#   ## 2) explicit credentials from 'access_key' and 'secret_key'
-#   ## 3) shared profile from 'profile'
-#   ## 4) environment variables
-#   ## 5) shared credentials file
-#   ## 6) EC2 Instance Profile
-#   #access_key = ""
-#   #secret_key = ""
-#   #token = ""
-#   #role_arn = ""
-#   #profile = ""
-#   #shared_credential_file = ""
-#
-#   # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
-#   # metrics are made available to the 1 minute period. Some are collected at
-#   # 3 minute and 5 minutes intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
-#   # Note that if a period is configured that is smaller than the minimum for a
-#   # particular metric, that metric will not be returned by the Cloudwatch API
-#   # and will not be collected by Telegraf.
-#   #
-#   ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
-#   period = "5m"
-#
-#   ## Collection Delay (required - must account for metrics availability via CloudWatch API)
-#   delay = "5m"
-#
-#   ## Recomended: use metric 'interval' that is a multiple of 'period' to avoid
-#   ## gaps or overlap in pulled data
-#   interval = "5m"
-#
-#   ## Configure the TTL for the internal cache of metrics.
-#   ## Defaults to 1 hr if not specified
-#   #cache_ttl = "10m"
-#
-#   ## Metric Statistic Namespace (required)
-#   namespace = "AWS/ELB"
-#
-#   ## Maximum requests per second. Note that the global default AWS rate limit is
-#   ## 400 reqs/sec, so if you define multiple namespaces, these should add up to a
-#   ## maximum of 400. Optional - default value is 200.
-#   ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
-#   ratelimit = 200
-#
-#   ## Metrics to Pull (optional)
-#   ## Defaults to all Metrics in Namespace if nothing is provided
-#   ## Refreshes Namespace available metrics every 1h
-#   #[[inputs.cloudwatch.metrics]]
-#   #  names = ["Latency", "RequestCount"]
-#   #
-#   #  ## Dimension filters for Metric (optional)
-#   #  [[inputs.cloudwatch.metrics.dimensions]]
-#   #    name = "LoadBalancerName"
-#   #    value = "p-example"
-
-
-# # Collects conntrack stats from the configured directories and files.
-# [[inputs.conntrack]]
-#    ## The following defaults would work with multiple versions of conntrack.
-#    ## Note the nf_ and ip_ filename prefixes are mutually exclusive across
-#    ## kernel versions, as are the directory locations.
-#
-#    ## Superset of filenames to look for within the conntrack dirs.
-#    ## Missing files will be ignored.
-#    files = ["ip_conntrack_count","ip_conntrack_max",
-#             "nf_conntrack_count","nf_conntrack_max"]
-#
-#    ## Directories to search within for the conntrack files above.
-#    ## Missing directrories will be ignored.
-#    dirs = ["/proc/sys/net/ipv4/netfilter","/proc/sys/net/netfilter"]
-
-
-# # Gather health check statuses from services registered in Consul
-# [[inputs.consul]]
-#   ## Most of these values defaults to the one configured on a Consul's agent level.
-#   ## Optional Consul server address (default: "localhost")
-#   # address = "localhost"
-#   ## Optional URI scheme for the Consul server (default: "http")
-#   # scheme = "http"
-#   ## Optional ACL token used in every request (default: "")
-#   # token = ""
-#   ## Optional username used for request HTTP Basic Authentication (default: "")
-#   # username = ""
-#   ## Optional password used for HTTP Basic Authentication (default: "")
-#   # password = ""
-#   ## Optional data centre to query the health checks from (default: "")
-#   # datacentre = ""
-
-
-# # Read metrics from one or many couchbase clusters
-# [[inputs.couchbase]]
-#   ## specify servers via a url matching:
-#   ##  [protocol://][:password]@address[:port]
-#   ##  e.g.
-#   ##    http://couchbase-0.example.com/
-#   ##    http://admin:secret@couchbase-0.example.com:8091/
-#   ##
-#   ## If no servers are specified, then localhost is used as the host.
-#   ## If no protocol is specifed, HTTP is used.
-#   ## If no port is specified, 8091 is used.
-#   servers = ["http://localhost:8091"]
-
-
-# # Read CouchDB Stats from one or more servers
-# [[inputs.couchdb]]
-#   ## Works with CouchDB stats endpoints out of the box
-#   ## Multiple HOSTs from which to read CouchDB stats:
-#   hosts = ["http://localhost:8086/_stats"]
-
-
-# # Read metrics from one or many disque servers
-# [[inputs.disque]]
-#   ## An array of URI to gather stats about. Specify an ip or hostname
-#   ## with optional port and password.
-#   ## ie disque://localhost, disque://10.10.3.33:18832, 10.0.0.1:10000, etc.
-#   ## If no servers are specified, then localhost is used as the host.
-#   servers = ["localhost"]
-
-
-# # Provide a native collection for dmsetup based statistics for dm-cache
-# [[inputs.dmcache]]
-#   ## Whether to report per-device stats or not
-#   per_device = true
-
-
-# # Query given DNS server and gives statistics
-# [[inputs.dns_query]]
-#   ## servers to query
-#   servers = ["8.8.8.8"] # required
-#
-#   ## Domains or subdomains to query. "."(root) is default
-#   domains = ["."] # optional
-#
-#   ## Query record type. Default is "A"
-#   ## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
-#   record_type = "A" # optional
-#
-#   ## Dns server port. 53 is default
-#   port = 53 # optional
-#
-#   ## Query timeout in seconds. Default is 2 seconds
-#   timeout = 2 # optional
-
-
-# # Read metrics about docker containers
-[[inputs.docker]]
-#   ## Docker Endpoint
-#   ##   To use TCP, set endpoint = "tcp://[ip]:[port]"
-#   ##   To use environment variables (ie, docker-machine), set endpoint = "ENV"
-  endpoint = "unix:///var/run/docker.sock"
-#   ## Only collect metrics for these containers, collect all if empty
-  container_names = []
-#   ## Timeout for docker list, info, and stats commands
-  timeout = "5s"
-#
-#   ## Whether to report for each container per-device blkio (8:0, 8:1...) and
-#   ## network (eth0, eth1, ...) stats or not
-   perdevice = true
-#   ## Whether to report for each container total blkio and network stats or not
-  total = false
-#
-#   ## docker labels to include and exclude as tags.  Globs accepted.
-#   ## Note that an empty array for both will include all labels as tags
-#   docker_label_include = []
-#   docker_label_exclude = []
-
-
-# # Read statistics from one or many dovecot servers
-# [[inputs.dovecot]]
-#   ## specify dovecot servers via an address:port list
-#   ##  e.g.
-#   ##    localhost:24242
-#   ##
-#   ## If no servers are specified, then localhost is used as the host.
-#   servers = ["localhost:24242"]
-#   ## Type is one of "user", "domain", "ip", or "global"
-#   type = "global"
-#   ## Wildcard matches like "*.com". An empty string "" is same as "*"
-#   ## If type = "ip" filters should be <IP/network>
-#   filters = [""]
-
-
-# # Read stats from one or more Elasticsearch servers or clusters
-# [[inputs.elasticsearch]]
-#   ## specify a list of one or more Elasticsearch servers
-#   # you can add username and password to your url to use basic authentication:
-#   # servers = ["http://user:pass@localhost:9200"]
-#   servers = ["http://localhost:9200"]
-#
-#   ## Timeout for HTTP requests to the elastic search server(s)
-#   http_timeout = "5s"
-#
-#   ## When local is true (the default), the node will read only its own stats.
-#   ## Set local to false when you want to read the node stats from all nodes
-#   ## of the cluster.
-#   local = true
-#
-#   ## Set cluster_health to true when you want to also obtain cluster health stats
-#   cluster_health = false
-#
-#   ## Set cluster_stats to true when you want to also obtain cluster stats from the
-#   ## Master node.
-#   cluster_stats = false
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read metrics from one or more commands that can output to stdout
-# [[inputs.exec]]
-#   ## Commands array
-#   commands = [
-#     "/tmp/test.sh",
-#     "/usr/bin/mycollector --foo=bar",
-#     "/tmp/collect_*.sh"
-#   ]
-#
-#   ## Timeout for each command to complete.
-#   timeout = "5s"
-#
-#   ## measurement name suffix (for separating different commands)
-#   name_suffix = "_mycollector"
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-
-
-# # Read stats about given file(s)
-# [[inputs.filestat]]
-#   ## Files to gather stats about.
-#   ## These accept standard unix glob matching rules, but with the addition of
-#   ## ** as a "super asterisk". ie:
-#   ##   "/var/log/**.log"  -> recursively find all .log files in /var/log
-#   ##   "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
-#   ##   "/var/log/apache.log" -> just tail the apache log file
-#   ##
-#   ## See https://github.com/gobwas/glob for more examples
-#   ##
-#   files = ["/var/log/**.log"]
-#   ## If true, read the entire file and calculate an md5 checksum.
-#   md5 = false
-
-
-# # Read flattened metrics from one or more GrayLog HTTP endpoints
-# [[inputs.graylog]]
-#   ## API endpoint, currently supported API:
-#   ##
-#   ##   - multiple  (Ex http://<host>:12900/system/metrics/multiple)
-#   ##   - namespace (Ex http://<host>:12900/system/metrics/namespace/{namespace})
-#   ##
-#   ## For namespace endpoint, the metrics array will be ignored for that call.
-#   ## Endpoint can contain namespace and multiple type calls.
-#   ##
-#   ## Please check http://[graylog-server-ip]:12900/api-browser for full list
-#   ## of endpoints
-#   servers = [
-#     "http://[graylog-server-ip]:12900/system/metrics/multiple",
-#   ]
-#
-#   ## Metrics list
-#   ## List of metrics can be found on Graylog webservice documentation.
-#   ## Or by hitting the the web service api at:
-#   ##   http://[graylog-host]:12900/system/metrics
-#   metrics = [
-#     "jvm.cl.loaded",
-#     "jvm.memory.pools.Metaspace.committed"
-#   ]
-#
-#   ## Username and password
-#   username = ""
-#   password = ""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read metrics of haproxy, via socket or csv stats page
-# [[inputs.haproxy]]
-#   ## An array of address to gather stats about. Specify an ip on hostname
-#   ## with optional port. ie localhost, 10.10.3.33:1936, etc.
-#   ## Make sure you specify the complete path to the stats endpoint
-#   ## including the protocol, ie http://10.10.3.33:1936/haproxy?stats
-#
-#   ## If no servers are specified, then default to 127.0.0.1:1936/haproxy?stats
-#   servers = ["http://myhaproxy.com:1936/haproxy?stats"]
-#
-#   ## You can also use local socket with standard wildcard globbing.
-#   ## Server address not starting with 'http' will be treated as a possible
-#   ## socket, so both examples below are valid.
-#   # servers = ["socket:/run/haproxy/admin.sock", "/run/haproxy/*.sock"]
-#
-#   ## By default, some of the fields are renamed from what haproxy calls them.
-#   ## Setting this option to true results in the plugin keeping the original
-#   ## field names.
-#   # keep_field_names = true
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Monitor disks' temperatures using hddtemp
-# [[inputs.hddtemp]]
-#   ## By default, telegraf gathers temps data from all disks detected by the
-#   ## hddtemp.
-#   ##
-#   ## Only collect temps from the selected disks.
-#   ##
-#   ## A * as the device name will return the temperature values of all disks.
-#   ##
-#   # address = "127.0.0.1:7634"
-#   # devices = ["sda", "*"]
-
-
-# # HTTP/HTTPS request given an address a method and a timeout
-[[inputs.http_response]]
-#   ## Server address (default http://localhost) Sock Shop Front End
-  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html" 
-#   ## Set response_timeout (default 5 seconds)
-  response_timeout = "5s"
-#   ## HTTP Request Method
-  method = "GET"
-#   ## Whether to follow redirects from the server (defaults to false)
-  follow_redirects = true
-#   ## HTTP Request Headers (all values must be strings)
-#   # [inputs.http_response.headers]
-#   #   Host = "github.com"
-#   ## Optional HTTP Request Body
-#   # body = '''
-#   # {'fake':'data'}
-#   # '''
-#
-#   ## Optional substring or regex match in body of the response
-#   ## response_string_match = "\"service_status\": \"up\""
-#   ## response_string_match = "ok"
-#   ## response_string_match = "\".*_status\".?:.?\"up\""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-# # HTTP/HTTPS request given an address a method and a timeout
-[[inputs.http_response]]
-#   ## Server address (default http://localhost)Sock Shop Catalogue
-  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
-#   ## Set response_timeout (default 5 seconds)
-  response_timeout = "5s"
-#   ## HTTP Request Method
-  method = "GET"
-#   ## Whether to follow redirects from the server (defaults to false)
-  follow_redirects = true
-#   ## HTTP Request Headers (all values must be strings)
-#   # [inputs.http_response.headers]
-#   #   Host = "github.com"
-#   ## Optional HTTP Request Body
-#   # body = '''
-#   # {'fake':'data'}
-#   # '''
-#
-#   ## Optional substring or regex match in body of the response
-#   ## response_string_match = "\"service_status\": \"up\""
-#   ## response_string_match = "ok"
-#   ## response_string_match = "\".*_status\".?:.?\"up\""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-# # HTTP/HTTPS request given an address a method and a timeout
-[[inputs.http_response]]
-#   ## Server address (default http://localhost)Sock Shop Cart
-  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
-#   ## Set response_timeout (default 5 seconds)
-  response_timeout = "5s"
-#   ## HTTP Request Method
-  method = "GET"
-#   ## Whether to follow redirects from the server (defaults to false)
-  follow_redirects = true
-#   ## HTTP Request Headers (all values must be strings)
-#   # [inputs.http_response.headers]
-#   #   Host = "github.com"
-#   ## Optional HTTP Request Body
-#   # body = '''
-#   # {'fake':'data'}
-#   # '''
-#
-#   ## Optional substring or regex match in body of the response
-#   ## response_string_match = "\"service_status\": \"up\""
-#   ## response_string_match = "ok"
-#   ## response_string_match = "\".*_status\".?:.?\"up\""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-# # HTTP/HTTPS request given an address a method and a timeout
-[[inputs.http_response]]
-#   ## Server address (default http://localhost)Sock Shop Orders
-  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-#   ## Set response_timeout (default 5 seconds)
-  response_timeout = "5s"
-#   ## HTTP Request Method
-  method = "GET"
-#   ## Whether to follow redirects from the server (defaults to false)
-  follow_redirects = true
-#   ## HTTP Request Headers (all values must be strings)
-#   # [inputs.http_response.headers]
-#   #   Host = "github.com"
-#   ## Optional HTTP Request Body
-#   # body = '''
-#   # {'fake':'data'}
-#   # '''
-#
-#   ## Optional substring or regex match in body of the response
-#   ## response_string_match = "\"service_status\": \"up\""
-#   ## response_string_match = "ok"
-#   ## response_string_match = "\".*_status\".?:.?\"up\""
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read flattened metrics from one or more JSON HTTP endpoints
-# [[inputs.httpjson]]
-#   ## NOTE This plugin only reads numerical measurements, strings and booleans
-#   ## will be ignored.
-#
-#   ## Name for the service being polled.  Will be appended to the name of the
-#   ## measurement e.g. httpjson_webserver_stats
-#   ##
-#   ## Deprecated (1.3.0): Use name_override, name_suffix, name_prefix instead.
-#   name = "webserver_stats"
-#
-#   ## URL of each server in the service's cluster
-#   servers = [
-#     "http://localhost:9999/stats/",
-#     "http://localhost:9998/stats/",
-#   ]
-#   ## Set response_timeout (default 5 seconds)
-#   response_timeout = "5s"
-#
-#   ## HTTP method to use: GET or POST (case-sensitive)
-#   method = "GET"
-#
-#   ## List of tag names to extract from top-level of JSON server response
-#   # tag_keys = [
-#   #   "my_tag_1",
-#   #   "my_tag_2"
-#   # ]
-#
-#   ## HTTP parameters (all values must be strings).  For "GET" requests, data
-#   ## will be included in the query.  For "POST" requests, data will be included
-#   ## in the request body as "x-www-form-urlencoded".
-#   # [inputs.httpjson.parameters]
-#   #   event_type = "cpu_spike"
-#   #   threshold = "0.75"
-#
-#   ## HTTP Headers (all values must be strings)
-#   # [inputs.httpjson.headers]
-#   #   X-Auth-Token = "my-xauth-token"
-#   #   apiVersion = "v1"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
-# [[inputs.influxdb]]
-#   ## Works with InfluxDB debug endpoints out of the box,
-#   ## but other services can use this format too.
-#   ## See the influxdb plugin's README for more details.
-#
-#   ## Multiple URLs from which to read InfluxDB-formatted JSON
-#   ## Default is "http://localhost:8086/debug/vars".
-#   urls = [
-#     "http://localhost:8086/debug/vars"
-#   ]
-#
-#   ## http request & header timeout
-#   timeout = "5s"
-
-
-# # Collect statistics about itself
-# [[inputs.internal]]
-#   ## If true, collect telegraf memory stats.
-#   # collect_memstats = true
-
-
-# # This plugin gathers interrupts data from /proc/interrupts and /proc/softirqs.
-# [[inputs.interrupts]]
-#   ## To filter which IRQs to collect, make use of tagpass / tagdrop, i.e.
-#   # [inputs.interrupts.tagdrop]
-#     # irq = [ "NET_RX", "TASKLET" ]
-
-
-# # Read metrics from the bare metal servers via IPMI
-# [[inputs.ipmi_sensor]]
-#   ## optionally specify the path to the ipmitool executable
-#   # path = "/usr/bin/ipmitool"
-#   #
-#   ## optionally specify one or more servers via a url matching
-#   ##  [username[:password]@][protocol[(address)]]
-#   ##  e.g.
-#   ##    root:passwd@lan(127.0.0.1)
-#   ##
-#   ## if no servers are specified, local machine sensor stats will be queried
-#   ##
-#   # servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
-
-
-# # Gather packets and bytes throughput from iptables
-# [[inputs.iptables]]
-#   ## iptables require root access on most systems.
-#   ## Setting 'use_sudo' to true will make use of sudo to run iptables.
-#   ## Users must configure sudo to allow telegraf user to run iptables with no password.
-#   ## iptables can be restricted to only list command "iptables -nvL".
-#   use_sudo = false
-#   ## Setting 'use_lock' to true runs iptables with the "-w" option.
-#   ## Adjust your sudo settings appropriately if using this option ("iptables -wnvl")
-#   use_lock = false
-#   ## defines the table to monitor:
-#   table = "filter"
-#   ## defines the chains to monitor.
-#   ## NOTE: iptables rules without a comment will not be monitored.
-#   ## Read the plugin documentation for more information.
-#   chains = [ "INPUT" ]
-
-
-# # Read JMX metrics through Jolokia
-# [[inputs.jolokia]]
-#   ## This is the context root used to compose the jolokia url
-#   ## NOTE that Jolokia requires a trailing slash at the end of the context root
-#   ## NOTE that your jolokia security policy must allow for POST requests.
-#   context = "/jolokia/"
-#
-#   ## This specifies the mode used
-#   # mode = "proxy"
-#   #
-#   ## When in proxy mode this section is used to specify further
-#   ## proxy address configurations.
-#   ## Remember to change host address to fit your environment.
-#   # [inputs.jolokia.proxy]
-#   #   host = "127.0.0.1"
-#   #   port = "8080"
-#
-#   ## Optional http timeouts
-#   ##
-#   ## response_header_timeout, if non-zero, specifies the amount of time to wait
-#   ## for a server's response headers after fully writing the request.
-#   # response_header_timeout = "3s"
-#   ##
-#   ## client_timeout specifies a time limit for requests made by this client.
-#   ## Includes connection time, any redirects, and reading the response body.
-#   # client_timeout = "4s"
-#
-#   ## Attribute delimiter
-#   ##
-#   ## When multiple attributes are returned for a single
-#   ## [inputs.jolokia.metrics], the field name is a concatenation of the metric
-#   ## name, and the attribute name, separated by the given delimiter.
-#   # delimiter = "_"
-#
-#   ## List of servers exposing jolokia read service
-#   [[inputs.jolokia.servers]]
-#     name = "as-server-01"
-#     host = "127.0.0.1"
-#     port = "8080"
-#     # username = "myuser"
-#     # password = "mypassword"
-#
-#   ## List of metrics collected on above servers
-#   ## Each metric consists in a name, a jmx path and either
-#   ## a pass or drop slice attribute.
-#   ## This collect all heap memory usage metrics.
-#   [[inputs.jolokia.metrics]]
-#     name = "heap_memory_usage"
-#     mbean  = "java.lang:type=Memory"
-#     attribute = "HeapMemoryUsage"
-#
-#   ## This collect thread counts metrics.
-#   [[inputs.jolokia.metrics]]
-#     name = "thread_count"
-#     mbean  = "java.lang:type=Threading"
-#     attribute = "TotalStartedThreadCount,ThreadCount,DaemonThreadCount,PeakThreadCount"
-#
-#   ## This collect number of class loaded/unloaded counts metrics.
-#   [[inputs.jolokia.metrics]]
-#     name = "class_count"
-#     mbean  = "java.lang:type=ClassLoading"
-#     attribute = "LoadedClassCount,UnloadedClassCount,TotalLoadedClassCount"
-
-
-# # Read Kapacitor-formatted JSON metrics from one or more HTTP endpoints
-# [[inputs.kapacitor]]
-#   ## Multiple URLs from which to read Kapacitor-formatted JSON
-#   ## Default is "http://localhost:9092/kapacitor/v1/debug/vars".
-#   urls = [
-#     "http://localhost:9092/kapacitor/v1/debug/vars"
-#   ]
-#
-#   ## Time limit for http requests
-#   timeout = "5s"
-
-
-# # Get kernel statistics from /proc/vmstat
-# [[inputs.kernel_vmstat]]
-#   # no configuration
-
-
-# # Read metrics from the kubernetes kubelet api
-# [[inputs.kubernetes]]
-#   ## URL for the kubelet
-#   url = "http://1.1.1.1:10255"
-#
-#   ## Use bearer token for authorization
-#   # bearer_token = /path/to/bearer/token
-#
-#   ## Optional SSL Config
-#   # ssl_ca = /path/to/cafile
-#   # ssl_cert = /path/to/certfile
-#   # ssl_key = /path/to/keyfile
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read metrics from a LeoFS Server via SNMP
-# [[inputs.leofs]]
-#   ## An array of URI to gather stats about LeoFS.
-#   ## Specify an ip or hostname with port. ie 127.0.0.1:4020
-#   servers = ["127.0.0.1:4021"]
-
-
-# # Provides Linux sysctl fs metrics
-# [[inputs.linux_sysctl_fs]]
-#   # no configuration
-
-
-# # Read metrics from local Lustre service on OST, MDS
-# [[inputs.lustre2]]
-#   ## An array of /proc globs to search for Lustre stats
-#   ## If not specified, the default will work on Lustre 2.5.x
-#   ##
-#   # ost_procfiles = [
-#   #   "/proc/fs/lustre/obdfilter/*/stats",
-#   #   "/proc/fs/lustre/osd-ldiskfs/*/stats",
-#   #   "/proc/fs/lustre/obdfilter/*/job_stats",
-#   # ]
-#   # mds_procfiles = [
-#   #   "/proc/fs/lustre/mdt/*/md_stats",
-#   #   "/proc/fs/lustre/mdt/*/job_stats",
-#   # ]
-
-
-# # Gathers metrics from the /3.0/reports MailChimp API
-# [[inputs.mailchimp]]
-#   ## MailChimp API key
-#   ## get from https://admin.mailchimp.com/account/api/
-#   api_key = "" # required
-#   ## Reports for campaigns sent more than days_old ago will not be collected.
-#   ## 0 means collect all.
-#   days_old = 0
-#   ## Campaign ID to get, if empty gets all campaigns, this option overrides days_old
-#   # campaign_id = ""
-
-
-# # Read metrics from one or many memcached servers
-# [[inputs.memcached]]
-#   ## An array of address to gather stats about. Specify an ip on hostname
-#   ## with optional port. ie localhost, 10.0.0.1:11211, etc.
-#   servers = ["localhost:11211"]
-#   # unix_sockets = ["/var/run/memcached.sock"]
-
-
-# # Telegraf plugin for gathering metrics from N Mesos masters
-# [[inputs.mesos]]
-#   ## Timeout, in ms.
-#   timeout = 100
-#   ## A list of Mesos masters.
-#   masters = ["localhost:5050"]
-#   ## Master metrics groups to be collected, by default, all enabled.
-#   master_collections = [
-#     "resources",
-#     "master",
-#     "system",
-#     "agents",
-#     "frameworks",
-#     "tasks",
-#     "messages",
-#     "evqueue",
-#     "registrar",
-#   ]
-#   ## A list of Mesos slaves, default is []
-#   # slaves = []
-#   ## Slave metrics groups to be collected, by default, all enabled.
-#   # slave_collections = [
-#   #   "resources",
-#   #   "agent",
-#   #   "system",
-#   #   "executors",
-#   #   "tasks",
-#   #   "messages",
-#   # ]
-
-
-# # Read metrics from one or many MongoDB servers
-# [[inputs.mongodb]]
-#   ## An array of URI to gather stats about. Specify an ip or hostname
-#   ## with optional port add password. ie,
-#   ##   mongodb://user:auth_key@10.10.3.30:27017,
-#   ##   mongodb://10.10.3.33:18832,
-#   ##   10.0.0.1:10000, etc.
-#   servers = ["127.0.0.1:27017"]
-#   gather_perdb_stats = false
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Read metrics from one or many mysql servers
-# [[inputs.mysql]]
-#   ## specify servers via a url matching:
-#   ##  [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
-#   ##  see https://github.com/go-sql-driver/mysql#dsn-data-source-name
-#   ##  e.g.
-#   ##    servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
-#   ##    servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
-#   #
-#   ## If no servers are specified, then localhost is used as the host.
-#   servers = ["tcp(127.0.0.1:3306)/"]
-#   ## the limits for metrics form perf_events_statements
-#   perf_events_statements_digest_text_limit  = 120
-#   perf_events_statements_limit              = 250
-#   perf_events_statements_time_limit         = 86400
-#   #
-#   ## if the list is empty, then metrics are gathered from all databasee tables
-#   table_schema_databases                    = []
-#   #
-#   ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
-#   gather_table_schema                       = false
-#   #
-#   ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
-#   gather_process_list                       = true
-#   #
-#   ## gather thread state counts from INFORMATION_SCHEMA.USER_STATISTICS
-#   gather_user_statistics                    = true
-#   #
-#   ## gather auto_increment columns and max values from information schema
-#   gather_info_schema_auto_inc               = true
-#   #
-#   ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
-#   gather_innodb_metrics                     = true
-#   #
-#   ## gather metrics from SHOW SLAVE STATUS command output
-#   gather_slave_status                       = true
-#   #
-#   ## gather metrics from SHOW BINARY LOGS command output
-#   gather_binary_logs                        = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
-#   gather_table_io_waits                     = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
-#   gather_table_lock_waits                   = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
-#   gather_index_io_waits                     = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
-#   gather_event_waits                        = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
-#   gather_file_events_stats                  = false
-#   #
-#   ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
-#   gather_perf_events_statements             = false
-#   #
-#   ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
-#   interval_slow                   = "30m"
-
-
-# # Read metrics about network interface usage
-[[inputs.net]]
-#   ## By default, telegraf gathers stats from any up interface (excluding loopback)
-#   ## Setting interfaces will tell it to gather these explicit interfaces,
-#   ## regardless of status.
-#   ##
-#   # interfaces = ["eth0"]
-
-
-# # TCP or UDP 'ping' given url and collect response time in seconds
-# [[inputs.net_response]]
-#   ## Protocol, must be "tcp" or "udp"
-#   ## NOTE: because the "udp" protocol does not respond to requests, it requires
-#   ## a send/expect string pair (see below).
-#   protocol = "tcp"
-#   ## Server address (default localhost)
-#   address = "localhost:80"
-#   ## Set timeout
-#   timeout = "1s"
-#
-#   ## Set read timeout (only used if expecting a response)
-#   read_timeout = "1s"
-#
-#   ## The following options are required for UDP checks. For TCP, they are
-#   ## optional. The plugin will send the given string to the server and then
-#   ## expect to receive the given 'expect' string back.
-#   ## string sent to the server
-#   # send = "ssh"
-#   ## expected string in answer
-#   # expect = "ssh"
-
-
-# # Read TCP metrics such as established, time wait and sockets counts.
-# [[inputs.netstat]]
-#   # no configuration
-
-
-# # Read Nginx's basic status information (ngx_http_stub_status_module)
-# [[inputs.nginx]]
-#   ## An array of Nginx stub_status URI to gather stats.
-#   urls = ["http://localhost/status"]
-
-
-# # Read NSQ topic and channel statistics.
-# [[inputs.nsq]]
-#   ## An array of NSQD HTTP API endpoints
-#   endpoints = ["http://localhost:4151"]
-
-
-# # Collect kernel snmp counters and network interface statistics
-# [[inputs.nstat]]
-#   ## file paths for proc files. If empty default paths will be used:
-#   ##    /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6
-#   ## These can also be overridden with env variables, see README.
-#   proc_net_netstat = "/proc/net/netstat"
-#   proc_net_snmp = "/proc/net/snmp"
-#   proc_net_snmp6 = "/proc/net/snmp6"
-#   ## dump metrics with 0 values too
-#   dump_zeros       = true
-
-
-# # Get standard NTP query metrics, requires ntpq executable.
-# [[inputs.ntpq]]
-#   ## If false, set the -n ntpq flag. Can reduce metric gather time.
-#   dns_lookup = true
-
-
-# # Read metrics of passenger using passenger-status
-# [[inputs.passenger]]
-#   ## Path of passenger-status.
-#   ##
-#   ## Plugin gather metric via parsing XML output of passenger-status
-#   ## More information about the tool:
-#   ##   https://www.phusionpassenger.com/library/admin/apache/overall_status_report.html
-#   ##
-#   ## If no path is specified, then the plugin simply execute passenger-status
-#   ## hopefully it can be found in your PATH
-#   command = "passenger-status -v --show=xml"
-
-
-# # Read metrics of phpfpm, via HTTP status page or socket
-# [[inputs.phpfpm]]
-#   ## An array of addresses to gather stats about. Specify an ip or hostname
-#   ## with optional port and path
-#   ##
-#   ## Plugin can be configured in three modes (either can be used):
-#   ##   - http: the URL must start with http:// or https://, ie:
-#   ##       "http://localhost/status"
-#   ##       "http://192.168.130.1/status?full"
-#   ##
-#   ##   - unixsocket: path to fpm socket, ie:
-#   ##       "/var/run/php5-fpm.sock"
-#   ##      or using a custom fpm status path:
-#   ##       "/var/run/php5-fpm.sock:fpm-custom-status-path"
-#   ##
-#   ##   - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
-#   ##       "fcgi://10.0.0.12:9000/status"
-#   ##       "cgi://10.0.10.12:9001/status"
-#   ##
-#   ## Example of multiple gathering from local socket and remove host
-#   ## urls = ["http://192.168.1.20/status", "/tmp/fpm.sock"]
-#   urls = ["http://localhost/status"]
-
-
-# # Ping given url(s) and return statistics
-## [[inputs.ping]]
-#   ## NOTE: this plugin forks the ping command. You may need to set capabilities
-#   ## via setcap cap_net_raw+p /bin/ping
-#   #
-#   ## List of urls to ping
-# urls = ["www.google.com"] 
-# required
-#"http://integration.decideh2020.lan.esilab.org:10080/category.html", "http://integration.decideh2020.lan.esilab.org:10080/basket.html", #"http://integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
-#   ## number of pings to send per collection (ping -c <COUNT>)
-#count = 1
-#   ## interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
-#ping_interval = 1.0
-#   ## per-ping timeout, in s. 0 == no timeout (ping -W <TIMEOUT>)
-#timeout = 1.0
-#   ## interface to send ping from (ping -I <INTERFACE>)
-#interface = ""
-
-
-# # Read metrics from one or many postgresql servers
-# [[inputs.postgresql]]
-#   ## specify address via a url matching:
-#   ##   postgres://[pqgotest[:password]]@localhost[/dbname]\
-#   ##       ?sslmode=[disable|verify-ca|verify-full]
-#   ## or a simple string:
-#   ##   host=localhost user=pqotest password=... sslmode=... dbname=app_production
-#   ##
-#   ## All connection parameters are optional.
-#   ##
-#   ## Without the dbname parameter, the driver will default to a database
-#   ## with the same name as the user. This dbname is just for instantiating a
-#   ## connection with the server and doesn't restrict the databases we are trying
-#   ## to grab metrics for.
-#   ##
-#   address = "host=localhost user=postgres sslmode=disable"
-#
-#   ## A  list of databases to explicitly ignore.  If not specified, metrics for all
-#   ## databases are gathered.  Do NOT use with the 'databases' option.
-#   # ignored_databases = ["postgres", "template0", "template1"]
-#
-#   ## A list of databases to pull metrics about. If not specified, metrics for all
-#   ## databases are gathered.  Do NOT use with the 'ignored_databases' option.
-#   # databases = ["app_production", "testing"]
-
-
-# # Read metrics from one or many postgresql servers
-# [[inputs.postgresql_extensible]]
-#   ## specify address via a url matching:
-#   ##   postgres://[pqgotest[:password]]@localhost[/dbname]\
-#   ##       ?sslmode=[disable|verify-ca|verify-full]
-#   ## or a simple string:
-#   ##   host=localhost user=pqotest password=... sslmode=... dbname=app_production
-#   #
-#   ## All connection parameters are optional.  #
-#   ## Without the dbname parameter, the driver will default to a database
-#   ## with the same name as the user. This dbname is just for instantiating a
-#   ## connection with the server and doesn't restrict the databases we are trying
-#   ## to grab metrics for.
-#   #
-#   address = "host=localhost user=postgres sslmode=disable"
-#   ## A list of databases to pull metrics about. If not specified, metrics for all
-#   ## databases are gathered.
-#   ## databases = ["app_production", "testing"]
-#   #
-#   # outputaddress = "db01"
-#   ## A custom name for the database that will be used as the "server" tag in the
-#   ## measurement output. If not specified, a default one generated from
-#   ## the connection address is used.
-#   #
-#   ## Define the toml config where the sql queries are stored
-#   ## New queries can be added, if the withdbname is set to true and there is no
-#   ## databases defined in the 'databases field', the sql query is ended by a
-#   ## 'is not null' in order to make the query succeed.
-#   ## Example :
-#   ## The sqlquery : "SELECT * FROM pg_stat_database where datname" become
-#   ## "SELECT * FROM pg_stat_database where datname IN ('postgres', 'pgbench')"
-#   ## because the databases variable was set to ['postgres', 'pgbench' ] and the
-#   ## withdbname was true. Be careful that if the withdbname is set to false you
-#   ## don't have to define the where clause (aka with the dbname) the tagvalue
-#   ## field is used to define custom tags (separated by commas)
-#   ## The optional "measurement" value can be used to override the default
-#   ## output measurement name ("postgresql").
-#   #
-#   ## Structure :
-#   ## [[inputs.postgresql_extensible.query]]
-#   ##   sqlquery string
-#   ##   version string
-#   ##   withdbname boolean
-#   ##   tagvalue string (comma separated)
-#   ##   measurement string
-#   [[inputs.postgresql_extensible.query]]
-#     sqlquery="SELECT * FROM pg_stat_database"
-#     version=901
-#     withdbname=false
-#     tagvalue=""
-#     measurement=""
-#   [[inputs.postgresql_extensible.query]]
-#     sqlquery="SELECT * FROM pg_stat_bgwriter"
-#     version=901
-#     withdbname=false
-#     tagvalue="postgresql.stats"
-
-
-# # Read metrics from one or many PowerDNS servers
-# [[inputs.powerdns]]
-#   ## An array of sockets to gather stats about.
-#   ## Specify a path to unix socket.
-#   unix_sockets = ["/var/run/pdns.controlsocket"]
-
-
-# # Monitor process cpu and memory usage
-# [[inputs.procstat]]
-#   ## Must specify one of: pid_file, exe, or pattern
-#   ## PID file to monitor process
-#   pid_file = "/var/run/nginx.pid"
-#   ## executable name (ie, pgrep <exe>)
-#   # exe = "nginx"
-#   ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
-#   # pattern = "nginx"
-#   ## user as argument for pgrep (ie, pgrep -u <user>)
-#   # user = "nginx"
-#
-#   ## override for process_name
-#   ## This is optional; default is sourced from /proc/<pid>/status
-#   # process_name = "bar"
-#   ## Field name prefix
-#   prefix = ""
-#   ## comment this out if you want raw cpu_time stats
-#   fielddrop = ["cpu_time_*"]
-#   ## This is optional; moves pid into a tag instead of a field
-#   pid_tag = false
-
-
-# # Read metrics from one or many prometheus clients
-# [[inputs.prometheus]]
-#   ## An array of urls to scrape metrics from.
-#   urls = ["http://localhost:9100/metrics"]
-#
-#   ## Use bearer token for authorization
-#   # bearer_token = /path/to/bearer/token
-#
-#   ## Specify timeout duration for slower prometheus clients (default is 3s)
-#   # response_timeout = "3s"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = /path/to/cafile
-#   # ssl_cert = /path/to/certfile
-#   # ssl_key = /path/to/keyfile
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-
-
-# # Reads last_run_summary.yaml file and converts to measurments
-# [[inputs.puppetagent]]
-#   ## Location of puppet last run summary file
-#   location = "/var/lib/puppet/state/last_run_summary.yaml"
-
-
-# # Read metrics from one or many RabbitMQ servers via the management API
-# [[inputs.rabbitmq]]
-#   # url = "http://localhost:15672"
-#   # name = "rmq-server-1" # optional tag
-#   # username = "guest"
-#   # password = "guest"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Optional request timeouts
-#   ##
-#   ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
-#   ## for a server's response headers after fully writing the request.
-#   # header_timeout = "3s"
-#   ##
-#   ## client_timeout specifies a time limit for requests made by this client.
-#   ## Includes connection time, any redirects, and reading the response body.
-#   # client_timeout = "4s"
-#
-#   ## A list of nodes to pull metrics about. If not specified, metrics for
-#   ## all nodes are gathered.
-#   # nodes = ["rabbit@node1", "rabbit@node2"]
-
-
-# # Read raindrops stats (raindrops - real-time stats for preforking Rack servers)
-# [[inputs.raindrops]]
-#   ## An array of raindrops middleware URI to gather stats.
-#   urls = ["http://localhost:8080/_raindrops"]
-
-
-# # Read metrics from one or many redis servers
-# [[inputs.redis]]
-#   ## specify servers via a url matching:
-#   ##  [protocol://][:password]@address[:port]
-#   ##  e.g.
-#   ##    tcp://localhost:6379
-#   ##    tcp://:password@192.168.99.100
-#   ##    unix:///var/run/redis.sock
-#   ##
-#   ## If no servers are specified, then localhost is used as the host.
-#   ## If no port is specified, 6379 is used
-#   servers = ["tcp://localhost:6379"]
-
-
-# # Read metrics from one or many RethinkDB servers
-# [[inputs.rethinkdb]]
-#   ## An array of URI to gather stats about. Specify an ip or hostname
-#   ## with optional port add password. ie,
-#   ##   rethinkdb://user:auth_key@10.10.3.30:28105,
-#   ##   rethinkdb://10.10.3.33:18832,
-#   ##   10.0.0.1:10000, etc.
-#   servers = ["127.0.0.1:28015"]
-
-
-# # Read metrics one or many Riak servers
-# [[inputs.riak]]
-#   # Specify a list of one or more riak http servers
-#   servers = ["http://localhost:8098"]
-
-
-# # Monitor sensors, requires lm-sensors package
-# [[inputs.sensors]]
-#   ## Remove numbers from field names.
-#   ## If true, a field name like 'temp1_input' will be changed to 'temp_input'.
-#   # remove_numbers = true
-
-
-# # Retrieves SNMP values from remote agents
-# [[inputs.snmp]]
-#   agents = [ "127.0.0.1:161" ]
-#   ## Timeout for each SNMP query.
-#   timeout = "5s"
-#   ## Number of retries to attempt within timeout.
-#   retries = 3
-#   ## SNMP version, values can be 1, 2, or 3
-#   version = 2
-#
-#   ## SNMP community string.
-#   community = "public"
-#
-#   ## The GETBULK max-repetitions parameter
-#   max_repetitions = 10
-#
-#   ## SNMPv3 auth parameters
-#   #sec_name = "myuser"
-#   #auth_protocol = "md5"      # Values: "MD5", "SHA", ""
-#   #auth_password = "pass"
-#   #sec_level = "authNoPriv"   # Values: "noAuthNoPriv", "authNoPriv", "authPriv"
-#   #context_name = ""
-#   #priv_protocol = ""         # Values: "DES", "AES", ""
-#   #priv_password = ""
-#
-#   ## measurement name
-#   name = "system"
-#   [[inputs.snmp.field]]
-#     name = "hostname"
-#     oid = ".1.0.0.1.1"
-#   [[inputs.snmp.field]]
-#     name = "uptime"
-#     oid = ".1.0.0.1.2"
-#   [[inputs.snmp.field]]
-#     name = "load"
-#     oid = ".1.0.0.1.3"
-#   [[inputs.snmp.field]]
-#     oid = "HOST-RESOURCES-MIB::hrMemorySize"
-#
-#   [[inputs.snmp.table]]
-#     ## measurement name
-#     name = "remote_servers"
-#     inherit_tags = [ "hostname" ]
-#     [[inputs.snmp.table.field]]
-#       name = "server"
-#       oid = ".1.0.0.0.1.0"
-#       is_tag = true
-#     [[inputs.snmp.table.field]]
-#       name = "connections"
-#       oid = ".1.0.0.0.1.1"
-#     [[inputs.snmp.table.field]]
-#       name = "latency"
-#       oid = ".1.0.0.0.1.2"
-#
-#   [[inputs.snmp.table]]
-#     ## auto populate table's fields using the MIB
-#     oid = "HOST-RESOURCES-MIB::hrNetworkTable"
-
-
-# # DEPRECATED! PLEASE USE inputs.snmp INSTEAD.
-# [[inputs.snmp_legacy]]
-#   ## Use 'oids.txt' file to translate oids to names
-#   ## To generate 'oids.txt' you need to run:
-#   ##   snmptranslate -m all -Tz -On | sed -e 's/"//g' > /tmp/oids.txt
-#   ## Or if you have an other MIB folder with custom MIBs
-#   ##   snmptranslate -M /mycustommibfolder -Tz -On -m all | sed -e 's/"//g' > oids.txt
-#   snmptranslate_file = "/tmp/oids.txt"
-#   [[inputs.snmp.host]]
-#     address = "192.168.2.2:161"
-#     # SNMP community
-#     community = "public" # default public
-#     # SNMP version (1, 2 or 3)
-#     # Version 3 not supported yet
-#     version = 2 # default 2
-#     # SNMP response timeout
-#     timeout = 2.0 # default 2.0
-#     # SNMP request retries
-#     retries = 2 # default 2
-#     # Which get/bulk do you want to collect for this host
-#     collect = ["mybulk", "sysservices", "sysdescr"]
-#     # Simple list of OIDs to get, in addition to "collect"
-#     get_oids = []
-#
-#   [[inputs.snmp.host]]
-#     address = "192.168.2.3:161"
-#     community = "public"
-#     version = 2
-#     timeout = 2.0
-#     retries = 2
-#     collect = ["mybulk"]
-#     get_oids = [
-#         "ifNumber",
-#         ".1.3.6.1.2.1.1.3.0",
-#     ]
-#
-#   [[inputs.snmp.get]]
-#     name = "ifnumber"
-#     oid = "ifNumber"
-#
-#   [[inputs.snmp.get]]
-#     name = "interface_speed"
-#     oid = "ifSpeed"
-#     instance = "0"
-#
-#   [[inputs.snmp.get]]
-#     name = "sysuptime"
-#     oid = ".1.3.6.1.2.1.1.3.0"
-#     unit = "second"
-#
-#   [[inputs.snmp.bulk]]
-#     name = "mybulk"
-#     max_repetition = 127
-#     oid = ".1.3.6.1.2.1.1"
-#
-#   [[inputs.snmp.bulk]]
-#     name = "ifoutoctets"
-#     max_repetition = 127
-#     oid = "ifOutOctets"
-#
-#   [[inputs.snmp.host]]
-#     address = "192.168.2.13:161"
-#     #address = "127.0.0.1:161"
-#     community = "public"
-#     version = 2
-#     timeout = 2.0
-#     retries = 2
-#     #collect = ["mybulk", "sysservices", "sysdescr", "systype"]
-#     collect = ["sysuptime" ]
-#     [[inputs.snmp.host.table]]
-#       name = "iftable3"
-#       include_instances = ["enp5s0", "eth1"]
-#
-#   # SNMP TABLEs
-#   # table without mapping neither subtables
-#   [[inputs.snmp.table]]
-#     name = "iftable1"
-#     oid = ".1.3.6.1.2.1.31.1.1.1"
-#
-#   # table without mapping but with subtables
-#   [[inputs.snmp.table]]
-#     name = "iftable2"
-#     oid = ".1.3.6.1.2.1.31.1.1.1"
-#     sub_tables = [".1.3.6.1.2.1.2.2.1.13"]
-#
-#   # table with mapping but without subtables
-#   [[inputs.snmp.table]]
-#     name = "iftable3"
-#     oid = ".1.3.6.1.2.1.31.1.1.1"
-#     # if empty. get all instances
-#     mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
-#     # if empty, get all subtables
-#
-#   # table with both mapping and subtables
-#   [[inputs.snmp.table]]
-#     name = "iftable4"
-#     oid = ".1.3.6.1.2.1.31.1.1.1"
-#     # if empty get all instances
-#     mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
-#     # if empty get all subtables
-#     # sub_tables could be not "real subtables"
-#     sub_tables=[".1.3.6.1.2.1.2.2.1.13", "bytes_recv", "bytes_send"]
-
-
-# # Read metrics from Microsoft SQL Server
-# [[inputs.sqlserver]]
-#   ## Specify instances to monitor with a list of connection strings.
-#   ## All connection parameters are optional.
-#   ## By default, the host is localhost, listening on default port, TCP 1433.
-#   ##   for Windows, the user is the currently running AD user (SSO).
-#   ##   See https://github.com/denisenkom/go-mssqldb for detailed connection
-#   ##   parameters.
-#   # servers = [
-#   #  "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
-#   # ]
-
-
-# # Sysstat metrics collector
-# [[inputs.sysstat]]
-#   ## Path to the sadc command.
-#   #
-#   ## Common Defaults:
-#   ##   Debian/Ubuntu: /usr/lib/sysstat/sadc
-#   ##   Arch:          /usr/lib/sa/sadc
-#   ##   RHEL/CentOS:   /usr/lib64/sa/sadc
-#   sadc_path = "/usr/lib/sa/sadc" # required
-#   #
-#   #
-#   ## Path to the sadf command, if it is not in PATH
-#   # sadf_path = "/usr/bin/sadf"
-#   #
-#   #
-#   ## Activities is a list of activities, that are passed as argument to the
-#   ## sadc collector utility (e.g: DISK, SNMP etc...)
-#   ## The more activities that are added, the more data is collected.
-#   # activities = ["DISK"]
-#   #
-#   #
-#   ## Group metrics to measurements.
-#   ##
-#   ## If group is false each metric will be prefixed with a description
-#   ## and represents itself a measurement.
-#   ##
-#   ## If Group is true, corresponding metrics are grouped to a single measurement.
-#   # group = true
-#   #
-#   #
-#   ## Options for the sadf command. The values on the left represent the sadf
-#   ## options and the values on the right their description (wich are used for
-#   ## grouping and prefixing metrics).
-#   ##
-#   ## Run 'sar -h' or 'man sar' to find out the supported options for your
-#   ## sysstat version.
-#   [inputs.sysstat.options]
-#     -C = "cpu"
-#     -B = "paging"
-#     -b = "io"
-#     -d = "disk"             # requires DISK activity
-#     "-n ALL" = "network"
-#     "-P ALL" = "per_cpu"
-#     -q = "queue"
-#     -R = "mem"
-#     -r = "mem_util"
-#     -S = "swap_util"
-#     -u = "cpu_util"
-#     -v = "inode"
-#     -W = "swap"
-#     -w = "task"
-#   #  -H = "hugepages"        # only available for newer linux distributions
-#   #  "-I ALL" = "interrupts" # requires INT activity
-#   #
-#   #
-#   ## Device tags can be used to add additional tags for devices.
-#   ## For example the configuration below adds a tag vg with value rootvg for
-#   ## all metrics with sda devices.
-#   # [[inputs.sysstat.device_tags.sda]]
-#   #  vg = "rootvg"
-
-
-# # Inserts sine and cosine waves for demonstration purposes
-# [[inputs.trig]]
-#   ## Set the amplitude
-#   amplitude = 10.0
-
-
-# # Read Twemproxy stats data
-# [[inputs.twemproxy]]
-#   ## Twemproxy stats address and port (no scheme)
-#   addr = "localhost:22222"
-#   ## Monitor pool name
-#   pools = ["redis_pool", "mc_pool"]
-
-
-# # A plugin to collect stats from Varnish HTTP Cache
-# [[inputs.varnish]]
-#   ## The default location of the varnishstat binary can be overridden with:
-#   binary = "/usr/bin/varnishstat"
-#
-#   ## By default, telegraf gather stats for 3 metric points.
-#   ## Setting stats will override the defaults shown below.
-#   ## Glob matching can be used, ie, stats = ["MAIN.*"]
-#   ## stats may also be set to ["*"], which will collect all stats
-#   stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"]
-
-
-# # Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, and pools
-# [[inputs.zfs]]
-#   ## ZFS kstat path. Ignored on FreeBSD
-#   ## If not specified, then default is:
-#   # kstatPath = "/proc/spl/kstat/zfs"
-#
-#   ## By default, telegraf gather all zfs stats
-#   ## If not specified, then default is:
-#   # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
-#
-#   ## By default, don't gather zpool stats
-#   # poolMetrics = false
-
-
-# # Reads 'mntr' stats from one or many zookeeper servers
-# [[inputs.zookeeper]]
-#   ## An array of address to gather stats about. Specify an ip or hostname
-#   ## with port. ie localhost:2181, 10.0.0.1:2181, etc.
-#
-#   ## If no servers are specified, then localhost is used as the host.
-#   ## If no port is specified, 2181 is used
-#   servers = [":2181"]
-
-
-
-###############################################################################
-#                            SERVICE INPUT PLUGINS                            #
-###############################################################################
-
-# # AMQP consumer plugin
-# [[inputs.amqp_consumer]]
-#   ## AMQP url
-#   url = "amqp://localhost:5672/influxdb"
-#   ## AMQP exchange
-#   exchange = "telegraf"
-#   ## AMQP queue name
-#   queue = "telegraf"
-#   ## Binding Key
-#   binding_key = "#"
-#
-#   ## Maximum number of messages server should give to the worker.
-#   prefetch_count = 50
-#
-#   ## Auth method. PLAIN and EXTERNAL are supported
-#   ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
-#   ## described here: https://www.rabbitmq.com/plugins.html
-#   # auth_method = "PLAIN"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Data format to output.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
-#   data_format = "influx"
-
-
-# # Influx HTTP write listener
-# [[inputs.http_listener]]
-#   ## Address and port to host HTTP listener on
-#   service_address = ":8186"
-#
-#   ## maximum duration before timing out read of the request
-#   read_timeout = "10s"
-#   ## maximum duration before timing out write of the response
-#   write_timeout = "10s"
-#
-#   ## Maximum allowed http request body size in bytes.
-#   ## 0 means to use the default of 536,870,912 bytes (500 mebibytes)
-#   max_body_size = 0
-#
-#   ## Maximum line size allowed to be sent in bytes.
-#   ## 0 means to use the default of 65536 bytes (64 kibibytes)
-#   max_line_size = 0
-
-
-# # Read metrics from Kafka topic(s)
-# [[inputs.kafka_consumer]]
-#   ## topic(s) to consume
-#   topics = ["telegraf"]
-#   ## an array of Zookeeper connection strings
-#   zookeeper_peers = ["localhost:2181"]
-#   ## Zookeeper Chroot
-#   zookeeper_chroot = ""
-#   ## the name of the consumer group
-#   consumer_group = "telegraf_metrics_consumers"
-#   ## Offset (must be either "oldest" or "newest")
-#   offset = "oldest"
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-#
-#   ## Maximum length of a message to consume, in bytes (default 0/unlimited);
-#   ## larger messages are dropped
-#   max_message_len = 65536
-
-
-# # Stream and parse log file(s).
-# [[inputs.logparser]]
-#   ## Log files to parse.
-#   ## These accept standard unix glob matching rules, but with the addition of
-#   ## ** as a "super asterisk". ie:
-#   ##   /var/log/**.log     -> recursively find all .log files in /var/log
-#   ##   /var/log/*/*.log    -> find all .log files with a parent dir in /var/log
-#   ##   /var/log/apache.log -> only tail the apache log file
-#   files = ["/var/log/apache/access.log"]
-#   ## Read files that currently exist from the beginning. Files that are created
-#   ## while telegraf is running (and that match the "files" globs) will always
-#   ## be read from the beginning.
-#   from_beginning = false
-#
-#   ## Parse logstash-style "grok" patterns:
-#   ##   Telegraf built-in parsing patterns: https://goo.gl/dkay10
-#   [inputs.logparser.grok]
-#     ## This is a list of patterns to check the given log file(s) for.
-#     ## Note that adding patterns here increases processing time. The most
-#     ## efficient configuration is to have one pattern per logparser.
-#     ## Other common built-in patterns are:
-#     ##   %{COMMON_LOG_FORMAT}   (plain apache & nginx access logs)
-#     ##   %{COMBINED_LOG_FORMAT} (access logs + referrer & agent)
-#     patterns = ["%{COMBINED_LOG_FORMAT}"]
-#     ## Name of the outputted measurement name.
-#     measurement = "apache_access_log"
-#     ## Full path(s) to custom pattern files.
-#     custom_pattern_files = []
-#     ## Custom patterns can also be defined here. Put one pattern per line.
-#     custom_patterns = '''
-#     '''
-
-
-# # Read metrics from MQTT topic(s)
-# [[inputs.mqtt_consumer]]
-#   servers = ["localhost:1883"]
-#   ## MQTT QoS, must be 0, 1, or 2
-#   qos = 0
-#
-#   ## Topics to subscribe to
-#   topics = [
-#     "telegraf/host01/cpu",
-#     "telegraf/+/mem",
-#     "sensors/#",
-#   ]
-#
-#   # if true, messages that can't be delivered while the subscriber is offline
-#   # will be delivered when it comes back (such as on service restart).
-#   # NOTE: if true, client_id MUST be set
-#   persistent_session = false
-#   # If empty, a random client ID will be generated.
-#   client_id = ""
-#
-#   ## username and password to connect MQTT server.
-#   # username = "telegraf"
-#   # password = "metricsmetricsmetricsmetrics"
-#
-#   ## Optional SSL Config
-#   # ssl_ca = "/etc/telegraf/ca.pem"
-#   # ssl_cert = "/etc/telegraf/cert.pem"
-#   # ssl_key = "/etc/telegraf/key.pem"
-#   ## Use SSL but skip chain & host verification
-#   # insecure_skip_verify = false
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-
-
-# # Read metrics from NATS subject(s)
-# [[inputs.nats_consumer]]
-#   ## urls of NATS servers
-#   # servers = ["nats://localhost:4222"]
-#   ## Use Transport Layer Security
-#   # secure = false
-#   ## subject(s) to consume
-#   # subjects = ["telegraf"]
-#   ## name a queue group
-#   # queue_group = "telegraf_consumers"
-#
-#   ## Sets the limits for pending msgs and bytes for each subscription
-#   ## These shouldn't need to be adjusted except in very high throughput scenarios
-#   # pending_message_limit = 65536
-#   # pending_bytes_limit = 67108864
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-
-
-# # Read NSQ topic for metrics.
-# [[inputs.nsq_consumer]]
-#   ## An string representing the NSQD TCP Endpoint
-#   server = "localhost:4150"
-#   topic = "telegraf"
-#   channel = "consumer"
-#   max_in_flight = 100
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-
-
-# # Generic socket listener capable of handling multiple socket types.
-# [[inputs.socket_listener]]
-#   ## URL to listen on
-#   # service_address = "tcp://:8094"
-#   # service_address = "tcp://127.0.0.1:http"
-#   # service_address = "tcp4://:8094"
-#   # service_address = "tcp6://:8094"
-#   # service_address = "tcp6://[2001:db8::1]:8094"
-#   # service_address = "udp://:8094"
-#   # service_address = "udp4://:8094"
-#   # service_address = "udp6://:8094"
-#   # service_address = "unix:///tmp/telegraf.sock"
-#   # service_address = "unixgram:///tmp/telegraf.sock"
-#
-#   ## Maximum number of concurrent connections.
-#   ## Only applies to stream sockets (e.g. TCP).
-#   ## 0 (default) is unlimited.
-#   # max_connections = 1024
-#
-#   ## Maximum socket buffer size in bytes.
-#   ## For stream sockets, once the buffer fills up, the sender will start backing up.
-#   ## For datagram sockets, once the buffer fills up, metrics will start dropping.
-#   ## Defaults to the OS default.
-#   # read_buffer_size = 65535
-#
-#   ## Period between keep alive probes.
-#   ## Only applies to TCP sockets.
-#   ## 0 disables keep alive probes.
-#   ## Defaults to the OS configuration.
-#   # keep_alive_period = "5m"
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   # data_format = "influx"
-
-
-# # Statsd Server
-# [[inputs.statsd]]
-#   ## Address and port to host UDP listener on
-#   service_address = ":8125"
-#
-#   ## The following configuration options control when telegraf clears it's cache
-#   ## of previous values. If set to false, then telegraf will only clear it's
-#   ## cache when the daemon is restarted.
-#   ## Reset gauges every interval (default=true)
-#   delete_gauges = true
-#   ## Reset counters every interval (default=true)
-#   delete_counters = true
-#   ## Reset sets every interval (default=true)
-#   delete_sets = true
-#   ## Reset timings & histograms every interval (default=true)
-#   delete_timings = true
-#
-#   ## Percentiles to calculate for timing & histogram stats
-#   percentiles = [90]
-#
-#   ## separator to use between elements of a statsd metric
-#   metric_separator = "_"
-#
-#   ## Parses tags in the datadog statsd format
-#   ## http://docs.datadoghq.com/guides/dogstatsd/
-#   parse_data_dog_tags = false
-#
-#   ## Statsd data translation templates, more info can be read here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite
-#   # templates = [
-#   #     "cpu.* measurement*"
-#   # ]
-#
-#   ## Number of UDP messages allowed to queue up, once filled,
-#   ## the statsd server will start dropping packets
-#   allowed_pending_messages = 10000
-#
-#   ## Number of timing/histogram values to track per-measurement in the
-#   ## calculation of percentiles. Raising this limit increases the accuracy
-#   ## of percentiles but also increases the memory usage and cpu time.
-#   percentile_limit = 1000
-
-
-# # Stream a log file, like the tail -f command
-# [[inputs.tail]]
-#   ## files to tail.
-#   ## These accept standard unix glob matching rules, but with the addition of
-#   ## ** as a "super asterisk". ie:
-#   ##   "/var/log/**.log"  -> recursively find all .log files in /var/log
-#   ##   "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
-#   ##   "/var/log/apache.log" -> just tail the apache log file
-#   ##
-#   ## See https://github.com/gobwas/glob for more examples
-#   ##
-#   files = ["/var/mymetrics.out"]
-#   ## Read file from beginning.
-#   from_beginning = false
-#   ## Whether file is a named pipe
-#   pipe = false
-#
-#   ## Data format to consume.
-#   ## Each data format has its own unique set of configuration options, read
-#   ## more about them here:
-#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
-#   data_format = "influx"
-
-
-# # Generic TCP listener
-# [[inputs.tcp_listener]]
-#   # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
-#   # socket_listener plugin
-#   # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
-
-
-# # Generic UDP listener
-# [[inputs.udp_listener]]
-#   # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
-#   # socket_listener plugin
-#   # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
-
-
-# # A Webhooks Event collector
-# [[inputs.webhooks]]
-#   ## Address and port to host Webhook listener on
-#   service_address = ":1619"
-#
-#   [inputs.webhooks.filestack]
-#     path = "/filestack"
-#
-#   [inputs.webhooks.github]
-#     path = "/github"
-#     # secret = ""
-#
-#   [inputs.webhooks.mandrill]
-#     path = "/mandrill"
-#
-#   [inputs.webhooks.rollbar]
-#     path = "/rollbar"
-#
-#   [inputs.webhooks.papertrail]
-#     path = "/papertrail"
-
+##/****************************************************************
+##*Copyright (c) 2017 Tecnalia.
+##*Licensed under MIT License (the "License");
+##*Permission is hereby granted, free of charge, to any person obtaining a copy 
+##of this software and associated documentation files (the "Software"), to deal 
+##in the Software without restriction, including without limitation the rights 
+##to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+##copies of the Software, and to permit persons to whom the Software is furnished 
+##to do so, subject to the following conditions:
+##*The above copyright notice and this permission notice shall be included in all 
+##copies or substantial portions of the Software.
+##*
+##*
+##*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+##INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+##PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+##HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+##CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+##OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+##
+##*Contributors (in alphabetical order):
+##*Gorka Benguria                                 Tecnalia
+##*Iñaki Etxaniz                                  Tecnalia
+##*Juncal Alonso                                  Tecnalia
+##*Leire Orue-Echevarria                          Tecnalia
+##*Maria Jose Lopez                               Tecnalia
+##*Marisa Escalante                               Tecnalia
+##*
+##*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+##*****************************************************************************/
+
+
+
+# Telegraf Configuration
+#
+# Telegraf is entirely plugin driven. All metrics are gathered from the
+# declared inputs, and sent to the declared outputs.
+#
+# Plugins must be declared in here to be active.
+# To deactivate a plugin, comment out the name and any variables.
+#
+# Use 'telegraf -config telegraf.conf -test' to see what metrics a config
+# file would generate.
+#
+# Environment variables can be used anywhere in this config file, simply prepend
+# them with $. For strings the variable must be within quotes (ie, "$STR_VAR"),
+# for numbers and booleans they should be plain (ie, $INT_VAR, $BOOL_VAR)
+
+
+# Global tags can be specified here in key="value" format.
+[global_tags]
+  # dc = "us-east-1" # will tag all metrics with dc=us-east-1
+  # rack = "1a"
+  ## Environment variables can be used as tags, and throughout the config file
+  # user = "$USER"
+
+
+# Configuration for telegraf agent
+[agent]
+  ## Default data collection interval for all inputs
+  interval = "10s"
+  ## Rounds collection interval to 'interval'
+  ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
+  round_interval = true
+
+  ## Telegraf will send metrics to outputs in batches of at most
+  ## metric_batch_size metrics.
+  ## This controls the size of writes that Telegraf sends to output plugins.
+  metric_batch_size = 1000
+
+  ## For failed writes, telegraf will cache metric_buffer_limit metrics for each
+  ## output, and will flush this buffer on a successful write. Oldest metrics
+  ## are dropped first when this buffer fills.
+  ## This buffer only fills when writes fail to output plugin(s).
+  metric_buffer_limit = 10000
+
+  ## Collection jitter is used to jitter the collection by a random amount.
+  ## Each plugin will sleep for a random time within jitter before collecting.
+  ## This can be used to avoid many plugins querying things like sysfs at the
+  ## same time, which can have a measurable effect on the system.
+  collection_jitter = "0s"
+
+  ## Default flushing interval for all outputs. You shouldn't set this below
+  ## interval. Maximum flush_interval will be flush_interval + flush_jitter
+  flush_interval = "10s"
+  ## Jitter the flush interval by a random amount. This is primarily to avoid
+  ## large write spikes for users running a large number of telegraf instances.
+  ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
+  flush_jitter = "0s"
+
+  ## By default or when set to "0s", precision will be set to the same
+  ## timestamp order as the collection interval, with the maximum being 1s.
+  ##   ie, when interval = "10s", precision will be "1s"
+  ##       when interval = "250ms", precision will be "1ms"
+  ## Precision will NOT be used for service inputs. It is up to each individual
+  ## service input to set the timestamp at the appropriate precision.
+  ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
+  precision = ""
+
+  ## Logging configuration:
+  ## Run telegraf with debug log messages.
+  debug = false
+  ## Run telegraf in quiet mode (error log messages only).
+  quiet = false
+  ## Specify the log file name. The empty string means to log to stderr.
+  logfile = ""
+
+  ## Override default hostname, if empty use os.Hostname()
+  hostname = ""
+  ## If set to true, do no set the "host" tag in the telegraf agent.
+  omit_hostname = false
+
+
+###############################################################################
+#                            OUTPUT PLUGINS                                   #
+###############################################################################
+
+# Configuration for influxdb server to send metrics to
+[[outputs.influxdb]]
+  ## The HTTP or UDP URL for your InfluxDB instance.  Each item should be
+  ## of the form:
+  ##   scheme "://" host [ ":" port]
+  ##
+  ## Multiple urls can be specified as part of the same cluster,
+  ## this means that only ONE of the urls will be written to each interval.
+  # urls = ["udp://localhost:8089"] # UDP endpoint example
+  urls = ["http://localhost:8086"] # required
+  ## The target database for metrics (telegraf will create it if not exists).
+  database = "decideh2020adapt" # required
+
+  ## Name of existing retention policy to write to.  Empty string writes to
+  ## the default retention policy.
+  retention_policy = ""
+  ## Write consistency (clusters only), can be: "any", "one", "quorum", "all"
+  write_consistency = "any"
+
+  ## Write timeout (for the InfluxDB client), formatted as a string.
+  ## If not provided, will default to 5s. 0s means no timeout (not recommended).
+  timeout = "5s"
+  # username = "telegraf"
+  # password = "metricsmetricsmetricsmetrics"
+  ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
+  # user_agent = "telegraf"
+  ## Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
+  # udp_payload = 512
+
+  ## Optional SSL Config
+  # ssl_ca = "/etc/telegraf/ca.pem"
+  # ssl_cert = "/etc/telegraf/cert.pem"
+  # ssl_key = "/etc/telegraf/key.pem"
+  ## Use SSL but skip chain & host verification
+  # insecure_skip_verify = false
+
+
+# # Configuration for Amon Server to send metrics to.
+# [[outputs.amon]]
+#   ## Amon Server Key
+#   server_key = "my-server-key" # required.
+#
+#   ## Amon Instance URL
+#   amon_instance = "https://youramoninstance" # required
+#
+#   ## Connection timeout.
+#   # timeout = "5s"
+
+
+# # Configuration for the AMQP server to send metrics to
+# [[outputs.amqp]]
+#   ## AMQP url
+#   url = "amqp://localhost:5672/influxdb"
+#   ## AMQP exchange
+#   exchange = "telegraf"
+#   ## Auth method. PLAIN and EXTERNAL are supported
+#   ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
+#   ## described here: https://www.rabbitmq.com/plugins.html
+#   # auth_method = "PLAIN"
+#   ## Telegraf tag to use as a routing key
+#   ##  ie, if this tag exists, its value will be used as the routing key
+#   routing_tag = "host"
+#
+#   ## InfluxDB retention policy
+#   # retention_policy = "default"
+#   ## InfluxDB database
+#   # database = "telegraf"
+#
+#   ## Write timeout, formatted as a string.  If not provided, will default
+#   ## to 5s. 0s means no timeout (not recommended).
+#   # timeout = "5s"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Configuration for AWS CloudWatch output.
+# [[outputs.cloudwatch]]
+#   ## Amazon REGION
+#   region = "us-east-1"
+#
+#   ## Amazon Credentials
+#   ## Credentials are loaded in the following order
+#   ## 1) Assumed credentials via STS if role_arn is specified
+#   ## 2) explicit credentials from 'access_key' and 'secret_key'
+#   ## 3) shared profile from 'profile'
+#   ## 4) environment variables
+#   ## 5) shared credentials file
+#   ## 6) EC2 Instance Profile
+#   #access_key = ""
+#   #secret_key = ""
+#   #token = ""
+#   #role_arn = ""
+#   #profile = ""
+#   #shared_credential_file = ""
+#
+#   ## Namespace for the CloudWatch MetricDatums
+#   namespace = "InfluxData/Telegraf"
+
+
+# # Configuration for DataDog API to send metrics to.
+# [[outputs.datadog]]
+#   ## Datadog API key
+#   apikey = "my-secret-key" # required.
+#
+#   ## Connection timeout.
+#   # timeout = "5s"
+
+
+# # Send metrics to nowhere at all
+# [[outputs.discard]]
+#   # no configuration
+
+
+# # Configuration for Elasticsearch to send metrics to.
+# [[outputs.elasticsearch]]
+#   ## The full HTTP endpoint URL for your Elasticsearch instance
+#   ## Multiple urls can be specified as part of the same cluster,
+#   ## this means that only ONE of the urls will be written to each interval.
+#   urls = [ "http://node1.es.example.com:9200" ] # required.
+#   ## Elasticsearch client timeout, defaults to "5s" if not set.
+#   timeout = "5s"
+#   ## Set to true to ask Elasticsearch a list of all cluster nodes,
+#   ## thus it is not necessary to list all nodes in the urls config option.
+#   enable_sniffer = false
+#   ## Set the interval to check if the Elasticsearch nodes are available
+#   ## Setting to "0s" will disable the health check (not recommended in production)
+#   health_check_interval = "10s"
+#   ## HTTP basic authentication details (eg. when using Shield)
+#   # username = "telegraf"
+#   # password = "mypassword"
+#
+#   ## Index Config
+#   ## The target index for metrics (Elasticsearch will create if it not exists).
+#   ## You can use the date specifiers below to create indexes per time frame.
+#   ## The metric timestamp will be used to decide the destination index name
+#   # %Y - year (2016)
+#   # %y - last two digits of year (00..99)
+#   # %m - month (01..12)
+#   # %d - day of month (e.g., 01)
+#   # %H - hour (00..23)
+#   index_name = "telegraf-%Y.%m.%d" # required.
+#
+#   ## Template Config
+#   ## Set to true if you want telegraf to manage its index template.
+#   ## If enabled it will create a recommended index template for telegraf indexes
+#   manage_template = true
+#   ## The template name used for telegraf indexes
+#   template_name = "telegraf"
+#   ## Set to true if you want telegraf to overwrite an existing template
+#   overwrite_template = false
+
+
+# # Send telegraf metrics to file(s)
+# [[outputs.file]]
+#   ## Files to write to, "stdout" is a specially handled file.
+#   files = ["stdout", "/tmp/metrics.out"]
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Configuration for Graphite server to send metrics to
+# [[outputs.graphite]]
+#   ## TCP endpoint for your graphite instance.
+#   ## If multiple endpoints are configured, output will be load balanced.
+#   ## Only one of the endpoints will be written to with each iteration.
+#   servers = ["localhost:2003"]
+#   ## Prefix metrics name
+#   prefix = ""
+#   ## Graphite output template
+#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   template = "host.tags.measurement.field"
+#   ## timeout in seconds for the write connection to graphite
+#   timeout = 2
+
+
+# # Send telegraf metrics to graylog(s)
+# [[outputs.graylog]]
+#   ## UDP endpoint for your graylog instance.
+#   servers = ["127.0.0.1:12201", "192.168.1.1:12201"]
+
+
+# # Configuration for sending metrics to an Instrumental project
+# [[outputs.instrumental]]
+#   ## Project API Token (required)
+#   api_token = "API Token" # required
+#   ## Prefix the metrics with a given name
+#   prefix = ""
+#   ## Stats output template (Graphite formatting)
+#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
+#   template = "host.tags.measurement.field"
+#   ## Timeout in seconds to connect
+#   timeout = "2s"
+#   ## Display Communcation to Instrumental
+#   debug = false
+
+
+# # Configuration for the Kafka server to send metrics to
+# [[outputs.kafka]]
+#   ## URLs of kafka brokers
+#   brokers = ["localhost:9092"]
+#   ## Kafka topic for producer messages
+#   topic = "telegraf"
+#   ## Telegraf tag to use as a routing key
+#   ##  ie, if this tag exists, its value will be used as the routing key
+#   routing_tag = "host"
+#
+#   ## CompressionCodec represents the various compression codecs recognized by
+#   ## Kafka in messages.
+#   ##  0 : No compression
+#   ##  1 : Gzip compression
+#   ##  2 : Snappy compression
+#   compression_codec = 0
+#
+#   ##  RequiredAcks is used in Produce Requests to tell the broker how many
+#   ##  replica acknowledgements it must see before responding
+#   ##   0 : the producer never waits for an acknowledgement from the broker.
+#   ##       This option provides the lowest latency but the weakest durability
+#   ##       guarantees (some data will be lost when a server fails).
+#   ##   1 : the producer gets an acknowledgement after the leader replica has
+#   ##       received the data. This option provides better durability as the
+#   ##       client waits until the server acknowledges the request as successful
+#   ##       (only messages that were written to the now-dead leader but not yet
+#   ##       replicated will be lost).
+#   ##   -1: the producer gets an acknowledgement after all in-sync replicas have
+#   ##       received the data. This option provides the best durability, we
+#   ##       guarantee that no messages will be lost as long as at least one in
+#   ##       sync replica remains.
+#   required_acks = -1
+#
+#   ##  The total number of times to retry sending a message
+#   max_retry = 3
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Optional SASL Config
+#   # sasl_username = "kafka"
+#   # sasl_password = "secret"
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Configuration for the AWS Kinesis output.
+# [[outputs.kinesis]]
+#   ## Amazon REGION of kinesis endpoint.
+#   region = "ap-southeast-2"
+#
+#   ## Amazon Credentials
+#   ## Credentials are loaded in the following order
+#   ## 1) Assumed credentials via STS if role_arn is specified
+#   ## 2) explicit credentials from 'access_key' and 'secret_key'
+#   ## 3) shared profile from 'profile'
+#   ## 4) environment variables
+#   ## 5) shared credentials file
+#   ## 6) EC2 Instance Profile
+#   #access_key = ""
+#   #secret_key = ""
+#   #token = ""
+#   #role_arn = ""
+#   #profile = ""
+#   #shared_credential_file = ""
+#
+#   ## Kinesis StreamName must exist prior to starting telegraf.
+#   streamname = "StreamName"
+#   ## PartitionKey as used for sharding data.
+#   partitionkey = "PartitionKey"
+#   ## If set the paritionKey will be a random UUID on every put.
+#   ## This allows for scaling across multiple shards in a stream.
+#   ## This will cause issues with ordering.
+#   use_random_partitionkey = false
+#
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+#
+#   ## debug will show upstream aws messages.
+#   debug = false
+
+
+# # Configuration for Librato API to send metrics to.
+# [[outputs.librato]]
+#   ## Librator API Docs
+#   ## http://dev.librato.com/v1/metrics-authentication
+#   ## Librato API user
+#   api_user = "telegraf@influxdb.com" # required.
+#   ## Librato API token
+#   api_token = "my-secret-token" # required.
+#   ## Debug
+#   # debug = false
+#   ## Connection timeout.
+#   # timeout = "5s"
+#   ## Output source Template (same as graphite buckets)
+#   ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md#graphite
+#   ## This template is used in librato's source (not metric's name)
+#   template = "host"
+#
+
+
+# # Configuration for MQTT server to send metrics to
+# [[outputs.mqtt]]
+#   servers = ["localhost:1883"] # required.
+#
+#   ## MQTT outputs send metrics to this topic format
+#   ##    "<topic_prefix>/<hostname>/<pluginname>/"
+#   ##   ex: prefix/web01.example.com/mem
+#   topic_prefix = "telegraf"
+#
+#   ## username and password to connect MQTT server.
+#   # username = "telegraf"
+#   # password = "metricsmetricsmetricsmetrics"
+#
+#   ## client ID, if not set a random ID is generated
+#   # client_id = ""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Send telegraf measurements to NATS
+# [[outputs.nats]]
+#   ## URLs of NATS servers
+#   servers = ["nats://localhost:4222"]
+#   ## Optional credentials
+#   # username = ""
+#   # password = ""
+#   ## NATS subject for producer messages
+#   subject = "telegraf"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Send telegraf measurements to NSQD
+# [[outputs.nsq]]
+#   ## Location of nsqd instance listening on TCP
+#   server = "localhost:4150"
+#   ## NSQ topic for producer messages
+#   topic = "telegraf"
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Configuration for OpenTSDB server to send metrics to
+# [[outputs.opentsdb]]
+#   ## prefix for metrics keys
+#   prefix = "my.specific.prefix."
+#
+#   ## DNS name of the OpenTSDB server
+#   ## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
+#   ## telnet API. "http://opentsdb.example.com" will use the Http API.
+#   host = "opentsdb.example.com"
+#
+#   ## Port of the OpenTSDB server
+#   port = 4242
+#
+#   ## Number of data points to send to OpenTSDB in Http requests.
+#   ## Not used with telnet API.
+#   httpBatchSize = 50
+#
+#   ## Debug true - Prints OpenTSDB communication
+#   debug = false
+
+
+# # Configuration for the Prometheus client to spawn
+# [[outputs.prometheus_client]]
+#   ## Address to listen on
+#   # listen = ":9126"
+#
+#   ## Interval to expire metrics and not deliver to prometheus, 0 == no expiration
+#   # expiration_interval = "60s"
+
+
+# # Configuration for the Riemann server to send metrics to
+# [[outputs.riemann]]
+#   ## The full TCP or UDP URL of the Riemann server
+#   url = "tcp://localhost:5555"
+#
+#   ## Riemann event TTL, floating-point time in seconds.
+#   ## Defines how long that an event is considered valid for in Riemann
+#   # ttl = 30.0
+#
+#   ## Separator to use between measurement and field name in Riemann service name
+#   ## This does not have any effect if 'measurement_as_attribute' is set to 'true'
+#   separator = "/"
+#
+#   ## Set measurement name as Riemann attribute 'measurement', instead of prepending it to the Riemann service name
+#   # measurement_as_attribute = false
+#
+#   ## Send string metrics as Riemann event states.
+#   ## Unless enabled all string metrics will be ignored
+#   # string_as_state = false
+#
+#   ## A list of tag keys whose values get sent as Riemann tags.
+#   ## If empty, all Telegraf tag values will be sent as tags
+#   # tag_keys = ["telegraf","custom_tag"]
+#
+#   ## Additional Riemann tags to send.
+#   # tags = ["telegraf-output"]
+#
+#   ## Description for Riemann event
+#   # description_text = "metrics collected from telegraf"
+#
+#   ## Riemann client write timeout, defaults to "5s" if not set.
+#   # timeout = "5s"
+
+
+# # Configuration for the Riemann server to send metrics to
+# [[outputs.riemann_legacy]]
+#   ## URL of server
+#   url = "localhost:5555"
+#   ## transport protocol to use either tcp or udp
+#   transport = "tcp"
+#   ## separator to use between input name and field name in Riemann service name
+#   separator = " "
+
+
+# # Generic socket writer capable of handling multiple socket types.
+# [[outputs.socket_writer]]
+#   ## URL to connect to
+#   # address = "tcp://127.0.0.1:8094"
+#   # address = "tcp://example.com:http"
+#   # address = "tcp4://127.0.0.1:8094"
+#   # address = "tcp6://127.0.0.1:8094"
+#   # address = "tcp6://[2001:db8::1]:8094"
+#   # address = "udp://127.0.0.1:8094"
+#   # address = "udp4://127.0.0.1:8094"
+#   # address = "udp6://127.0.0.1:8094"
+#   # address = "unix:///tmp/telegraf.sock"
+#   # address = "unixgram:///tmp/telegraf.sock"
+#
+#   ## Period between keep alive probes.
+#   ## Only applies to TCP sockets.
+#   ## 0 disables keep alive probes.
+#   ## Defaults to the OS configuration.
+#   # keep_alive_period = "5m"
+#
+#   ## Data format to generate.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   # data_format = "influx"
+
+
+
+###############################################################################
+#                            PROCESSOR PLUGINS                                #
+###############################################################################
+
+# # Print all metrics that pass through this filter.
+# [[processors.printer]]
+
+
+
+###############################################################################
+#                            AGGREGATOR PLUGINS                               #
+###############################################################################
+
+# # Keep the aggregate min/max of each metric passing through.
+# [[aggregators.minmax]]
+#   ## General Aggregator Arguments:
+#   ## The period on which to flush & clear the aggregator.
+#   period = "30s"
+#   ## If true, the original metric will be dropped by the
+#   ## aggregator and will not get sent to the output plugins.
+#   drop_original = false
+
+
+
+###############################################################################
+#                            INPUT PLUGINS                                    #
+###############################################################################
+
+# Read metrics about cpu usage
+[[inputs.cpu]]
+  ## Whether to report per-cpu stats or not
+  percpu = true
+  ## Whether to report total system cpu stats or not
+  totalcpu = true
+  ## If true, collect raw CPU time metrics.
+  collect_cpu_time = false
+
+
+# Read metrics about disk usage by mount point
+[[inputs.disk]]
+  ## By default, telegraf gather stats for all mountpoints.
+  ## Setting mountpoints will restrict the stats to the specified mountpoints.
+  # mount_points = ["/"]
+
+  ## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
+  ## present on /run, /var/run, /dev/shm or /dev).
+  ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
+
+
+# Read metrics about disk IO by device
+[[inputs.diskio]]
+  ## By default, telegraf will gather stats for all devices including
+  ## disk partitions.
+  ## Setting devices will restrict the stats to the specified devices.
+  # devices = ["sda", "sdb"]
+  ## Uncomment the following line if you need disk serial numbers.
+  # skip_serial_number = false
+  #
+  ## On systems which support it, device metadata can be added in the form of
+  ## tags.
+  ## Currently only Linux is supported via udev properties. You can view
+  ## available properties for a device by running:
+  ## 'udevadm info -q property -n /dev/sda'
+  # device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"]
+  #
+  ## Using the same metadata source as device_tags, you can also customize the
+  ## name of the device via templates.
+  ## The 'name_templates' parameter is a list of templates to try and apply to
+  ## the device. The template may contain variables in the form of '$PROPERTY' or
+  ## '${PROPERTY}'. The first template which does not contain any variables not
+  ## present for the device is used as the device name tag.
+  ## The typical use case is for LVM volumes, to get the VG/LV name instead of
+  ## the near-meaningless DM-0 name.
+  # name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"]
+
+
+# Get kernel statistics from /proc/stat
+[[inputs.kernel]]
+  # no configuration
+
+
+# Read metrics about memory usage
+[[inputs.mem]]
+  # no configuration
+
+
+# Get the number of processes and group them by status
+[[inputs.processes]]
+  # no configuration
+
+
+# Read metrics about swap memory usage
+[[inputs.swap]]
+  # no configuration
+
+
+# Read metrics about system load & uptime
+[[inputs.system]]
+  # no configuration
+
+
+# # Read stats from aerospike server(s)
+# [[inputs.aerospike]]
+#   ## Aerospike servers to connect to (with port)
+#   ## This plugin will query all namespaces the aerospike
+#   ## server has configured and get stats for them.
+#   servers = ["localhost:3000"]
+
+
+# # Read Apache status information (mod_status)
+# [[inputs.apache]]
+#   ## An array of Apache status URI to gather stats.
+#   ## Default is "http://localhost/server-status?auto".
+#   urls = ["http://localhost/server-status?auto"]
+#   ## user credentials for basic HTTP authentication
+#   username = "myuser"
+#   password = "mypassword"
+#
+#   ## Timeout to the complete conection and reponse time in seconds
+#   response_timeout = "25s" ## default to 5 seconds
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read metrics of bcache from stats_total and dirty_data
+# [[inputs.bcache]]
+#   ## Bcache sets path
+#   ## If not specified, then default is:
+#   bcachePath = "/sys/fs/bcache"
+#
+#   ## By default, telegraf gather stats for all bcache devices
+#   ## Setting devices will restrict the stats to the specified
+#   ## bcache devices.
+#   bcacheDevs = ["bcache0"]
+
+
+# # Read Cassandra metrics through Jolokia
+# [[inputs.cassandra]]
+#   # This is the context root used to compose the jolokia url
+#   context = "/jolokia/read"
+#   ## List of cassandra servers exposing jolokia read service
+#   servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
+#   ## List of metrics collected on above servers
+#   ## Each metric consists of a jmx path.
+#   ## This will collect all heap memory usage metrics from the jvm and
+#   ## ReadLatency metrics for all keyspaces and tables.
+#   ## "type=Table" in the query works with Cassandra3.0. Older versions might
+#   ## need to use "type=ColumnFamily"
+#   metrics  = [
+#     "/java.lang:type=Memory/HeapMemoryUsage",
+#     "/org.apache.cassandra.metrics:type=Table,keyspace=*,scope=*,name=ReadLatency"
+#   ]
+
+
+# # Collects performance metrics from the MON and OSD nodes in a Ceph storage cluster.
+# [[inputs.ceph]]
+#   ## This is the recommended interval to poll.  Too frequent and you will lose
+#   ## data points due to timeouts during rebalancing and recovery
+#   interval = '1m'
+#
+#   ## All configuration values are optional, defaults are shown below
+#
+#   ## location of ceph binary
+#   ceph_binary = "/usr/bin/ceph"
+#
+#   ## directory in which to look for socket files
+#   socket_dir = "/var/run/ceph"
+#
+#   ## prefix of MON and OSD socket files, used to determine socket type
+#   mon_prefix = "ceph-mon"
+#   osd_prefix = "ceph-osd"
+#
+#   ## suffix used to identify socket files
+#   socket_suffix = "asok"
+#
+#   ## Ceph user to authenticate as
+#   ceph_user = "client.admin"
+#
+#   ## Ceph configuration to use to locate the cluster
+#   ceph_config = "/etc/ceph/ceph.conf"
+#
+#   ## Whether to gather statistics via the admin socket
+#   gather_admin_socket_stats = true
+#
+#   ## Whether to gather statistics via ceph commands
+#   gather_cluster_stats = false
+
+
+# # Read specific statistics per cgroup
+# [[inputs.cgroup]]
+#   ## Directories in which to look for files, globs are supported.
+#   ## Consider restricting paths to the set of cgroups you really
+#   ## want to monitor if you have a large number of cgroups, to avoid
+#   ## any cardinality issues.
+#   # paths = [
+#   #   "/cgroup/memory",
+#   #   "/cgroup/memory/child1",
+#   #   "/cgroup/memory/child2/*",
+#   # ]
+#   ## cgroup stat fields, as file names, globs are supported.
+#   ## these file names are appended to each path from above.
+#   # files = ["memory.*usage*", "memory.limit_in_bytes"]
+
+
+# # Get standard chrony metrics, requires chronyc executable.
+# [[inputs.chrony]]
+#   ## If true, chronyc tries to perform a DNS lookup for the time server.
+#   # dns_lookup = false
+
+
+# # Pull Metric Statistics from Amazon CloudWatch
+# [[inputs.cloudwatch]]
+#   ## Amazon Region
+#   region = "us-east-1"
+#
+#   ## Amazon Credentials
+#   ## Credentials are loaded in the following order
+#   ## 1) Assumed credentials via STS if role_arn is specified
+#   ## 2) explicit credentials from 'access_key' and 'secret_key'
+#   ## 3) shared profile from 'profile'
+#   ## 4) environment variables
+#   ## 5) shared credentials file
+#   ## 6) EC2 Instance Profile
+#   #access_key = ""
+#   #secret_key = ""
+#   #token = ""
+#   #role_arn = ""
+#   #profile = ""
+#   #shared_credential_file = ""
+#
+#   # The minimum period for Cloudwatch metrics is 1 minute (60s). However not all
+#   # metrics are made available to the 1 minute period. Some are collected at
+#   # 3 minute and 5 minutes intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
+#   # Note that if a period is configured that is smaller than the minimum for a
+#   # particular metric, that metric will not be returned by the Cloudwatch API
+#   # and will not be collected by Telegraf.
+#   #
+#   ## Requested CloudWatch aggregation Period (required - must be a multiple of 60s)
+#   period = "5m"
+#
+#   ## Collection Delay (required - must account for metrics availability via CloudWatch API)
+#   delay = "5m"
+#
+#   ## Recomended: use metric 'interval' that is a multiple of 'period' to avoid
+#   ## gaps or overlap in pulled data
+#   interval = "5m"
+#
+#   ## Configure the TTL for the internal cache of metrics.
+#   ## Defaults to 1 hr if not specified
+#   #cache_ttl = "10m"
+#
+#   ## Metric Statistic Namespace (required)
+#   namespace = "AWS/ELB"
+#
+#   ## Maximum requests per second. Note that the global default AWS rate limit is
+#   ## 400 reqs/sec, so if you define multiple namespaces, these should add up to a
+#   ## maximum of 400. Optional - default value is 200.
+#   ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
+#   ratelimit = 200
+#
+#   ## Metrics to Pull (optional)
+#   ## Defaults to all Metrics in Namespace if nothing is provided
+#   ## Refreshes Namespace available metrics every 1h
+#   #[[inputs.cloudwatch.metrics]]
+#   #  names = ["Latency", "RequestCount"]
+#   #
+#   #  ## Dimension filters for Metric (optional)
+#   #  [[inputs.cloudwatch.metrics.dimensions]]
+#   #    name = "LoadBalancerName"
+#   #    value = "p-example"
+
+
+# # Collects conntrack stats from the configured directories and files.
+# [[inputs.conntrack]]
+#    ## The following defaults would work with multiple versions of conntrack.
+#    ## Note the nf_ and ip_ filename prefixes are mutually exclusive across
+#    ## kernel versions, as are the directory locations.
+#
+#    ## Superset of filenames to look for within the conntrack dirs.
+#    ## Missing files will be ignored.
+#    files = ["ip_conntrack_count","ip_conntrack_max",
+#             "nf_conntrack_count","nf_conntrack_max"]
+#
+#    ## Directories to search within for the conntrack files above.
+#    ## Missing directrories will be ignored.
+#    dirs = ["/proc/sys/net/ipv4/netfilter","/proc/sys/net/netfilter"]
+
+
+# # Gather health check statuses from services registered in Consul
+# [[inputs.consul]]
+#   ## Most of these values defaults to the one configured on a Consul's agent level.
+#   ## Optional Consul server address (default: "localhost")
+#   # address = "localhost"
+#   ## Optional URI scheme for the Consul server (default: "http")
+#   # scheme = "http"
+#   ## Optional ACL token used in every request (default: "")
+#   # token = ""
+#   ## Optional username used for request HTTP Basic Authentication (default: "")
+#   # username = ""
+#   ## Optional password used for HTTP Basic Authentication (default: "")
+#   # password = ""
+#   ## Optional data centre to query the health checks from (default: "")
+#   # datacentre = ""
+
+
+# # Read metrics from one or many couchbase clusters
+# [[inputs.couchbase]]
+#   ## specify servers via a url matching:
+#   ##  [protocol://][:password]@address[:port]
+#   ##  e.g.
+#   ##    http://couchbase-0.example.com/
+#   ##    http://admin:secret@couchbase-0.example.com:8091/
+#   ##
+#   ## If no servers are specified, then localhost is used as the host.
+#   ## If no protocol is specifed, HTTP is used.
+#   ## If no port is specified, 8091 is used.
+#   servers = ["http://localhost:8091"]
+
+
+# # Read CouchDB Stats from one or more servers
+# [[inputs.couchdb]]
+#   ## Works with CouchDB stats endpoints out of the box
+#   ## Multiple HOSTs from which to read CouchDB stats:
+#   hosts = ["http://localhost:8086/_stats"]
+
+
+# # Read metrics from one or many disque servers
+# [[inputs.disque]]
+#   ## An array of URI to gather stats about. Specify an ip or hostname
+#   ## with optional port and password.
+#   ## ie disque://localhost, disque://10.10.3.33:18832, 10.0.0.1:10000, etc.
+#   ## If no servers are specified, then localhost is used as the host.
+#   servers = ["localhost"]
+
+
+# # Provide a native collection for dmsetup based statistics for dm-cache
+# [[inputs.dmcache]]
+#   ## Whether to report per-device stats or not
+#   per_device = true
+
+
+# # Query given DNS server and gives statistics
+# [[inputs.dns_query]]
+#   ## servers to query
+#   servers = ["8.8.8.8"] # required
+#
+#   ## Domains or subdomains to query. "."(root) is default
+#   domains = ["."] # optional
+#
+#   ## Query record type. Default is "A"
+#   ## Posible values: A, AAAA, CNAME, MX, NS, PTR, TXT, SOA, SPF, SRV.
+#   record_type = "A" # optional
+#
+#   ## Dns server port. 53 is default
+#   port = 53 # optional
+#
+#   ## Query timeout in seconds. Default is 2 seconds
+#   timeout = 2 # optional
+
+
+# # Read metrics about docker containers
+[[inputs.docker]]
+#   ## Docker Endpoint
+#   ##   To use TCP, set endpoint = "tcp://[ip]:[port]"
+#   ##   To use environment variables (ie, docker-machine), set endpoint = "ENV"
+  endpoint = "unix:///var/run/docker.sock"
+#   ## Only collect metrics for these containers, collect all if empty
+  container_names = []
+#   ## Timeout for docker list, info, and stats commands
+  timeout = "5s"
+#
+#   ## Whether to report for each container per-device blkio (8:0, 8:1...) and
+#   ## network (eth0, eth1, ...) stats or not
+   perdevice = true
+#   ## Whether to report for each container total blkio and network stats or not
+  total = false
+#
+#   ## docker labels to include and exclude as tags.  Globs accepted.
+#   ## Note that an empty array for both will include all labels as tags
+#   docker_label_include = []
+#   docker_label_exclude = []
+
+
+# # Read statistics from one or many dovecot servers
+# [[inputs.dovecot]]
+#   ## specify dovecot servers via an address:port list
+#   ##  e.g.
+#   ##    localhost:24242
+#   ##
+#   ## If no servers are specified, then localhost is used as the host.
+#   servers = ["localhost:24242"]
+#   ## Type is one of "user", "domain", "ip", or "global"
+#   type = "global"
+#   ## Wildcard matches like "*.com". An empty string "" is same as "*"
+#   ## If type = "ip" filters should be <IP/network>
+#   filters = [""]
+
+
+# # Read stats from one or more Elasticsearch servers or clusters
+# [[inputs.elasticsearch]]
+#   ## specify a list of one or more Elasticsearch servers
+#   # you can add username and password to your url to use basic authentication:
+#   # servers = ["http://user:pass@localhost:9200"]
+#   servers = ["http://localhost:9200"]
+#
+#   ## Timeout for HTTP requests to the elastic search server(s)
+#   http_timeout = "5s"
+#
+#   ## When local is true (the default), the node will read only its own stats.
+#   ## Set local to false when you want to read the node stats from all nodes
+#   ## of the cluster.
+#   local = true
+#
+#   ## Set cluster_health to true when you want to also obtain cluster health stats
+#   cluster_health = false
+#
+#   ## Set cluster_stats to true when you want to also obtain cluster stats from the
+#   ## Master node.
+#   cluster_stats = false
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read metrics from one or more commands that can output to stdout
+# [[inputs.exec]]
+#   ## Commands array
+#   commands = [
+#     "/tmp/test.sh",
+#     "/usr/bin/mycollector --foo=bar",
+#     "/tmp/collect_*.sh"
+#   ]
+#
+#   ## Timeout for each command to complete.
+#   timeout = "5s"
+#
+#   ## measurement name suffix (for separating different commands)
+#   name_suffix = "_mycollector"
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+
+
+# # Read stats about given file(s)
+# [[inputs.filestat]]
+#   ## Files to gather stats about.
+#   ## These accept standard unix glob matching rules, but with the addition of
+#   ## ** as a "super asterisk". ie:
+#   ##   "/var/log/**.log"  -> recursively find all .log files in /var/log
+#   ##   "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
+#   ##   "/var/log/apache.log" -> just tail the apache log file
+#   ##
+#   ## See https://github.com/gobwas/glob for more examples
+#   ##
+#   files = ["/var/log/**.log"]
+#   ## If true, read the entire file and calculate an md5 checksum.
+#   md5 = false
+
+
+# # Read flattened metrics from one or more GrayLog HTTP endpoints
+# [[inputs.graylog]]
+#   ## API endpoint, currently supported API:
+#   ##
+#   ##   - multiple  (Ex http://<host>:12900/system/metrics/multiple)
+#   ##   - namespace (Ex http://<host>:12900/system/metrics/namespace/{namespace})
+#   ##
+#   ## For namespace endpoint, the metrics array will be ignored for that call.
+#   ## Endpoint can contain namespace and multiple type calls.
+#   ##
+#   ## Please check http://[graylog-server-ip]:12900/api-browser for full list
+#   ## of endpoints
+#   servers = [
+#     "http://[graylog-server-ip]:12900/system/metrics/multiple",
+#   ]
+#
+#   ## Metrics list
+#   ## List of metrics can be found on Graylog webservice documentation.
+#   ## Or by hitting the the web service api at:
+#   ##   http://[graylog-host]:12900/system/metrics
+#   metrics = [
+#     "jvm.cl.loaded",
+#     "jvm.memory.pools.Metaspace.committed"
+#   ]
+#
+#   ## Username and password
+#   username = ""
+#   password = ""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read metrics of haproxy, via socket or csv stats page
+# [[inputs.haproxy]]
+#   ## An array of address to gather stats about. Specify an ip on hostname
+#   ## with optional port. ie localhost, 10.10.3.33:1936, etc.
+#   ## Make sure you specify the complete path to the stats endpoint
+#   ## including the protocol, ie http://10.10.3.33:1936/haproxy?stats
+#
+#   ## If no servers are specified, then default to 127.0.0.1:1936/haproxy?stats
+#   servers = ["http://myhaproxy.com:1936/haproxy?stats"]
+#
+#   ## You can also use local socket with standard wildcard globbing.
+#   ## Server address not starting with 'http' will be treated as a possible
+#   ## socket, so both examples below are valid.
+#   # servers = ["socket:/run/haproxy/admin.sock", "/run/haproxy/*.sock"]
+#
+#   ## By default, some of the fields are renamed from what haproxy calls them.
+#   ## Setting this option to true results in the plugin keeping the original
+#   ## field names.
+#   # keep_field_names = true
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Monitor disks' temperatures using hddtemp
+# [[inputs.hddtemp]]
+#   ## By default, telegraf gathers temps data from all disks detected by the
+#   ## hddtemp.
+#   ##
+#   ## Only collect temps from the selected disks.
+#   ##
+#   ## A * as the device name will return the temperature values of all disks.
+#   ##
+#   # address = "127.0.0.1:7634"
+#   # devices = ["sda", "*"]
+
+
+# # HTTP/HTTPS request given an address a method and a timeout
+[[inputs.http_response]]
+#   ## Server address (default http://localhost) Sock Shop Front End
+  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/index.html" 
+#   ## Set response_timeout (default 5 seconds)
+  response_timeout = "5s"
+#   ## HTTP Request Method
+  method = "GET"
+#   ## Whether to follow redirects from the server (defaults to false)
+  follow_redirects = true
+#   ## HTTP Request Headers (all values must be strings)
+#   # [inputs.http_response.headers]
+#   #   Host = "github.com"
+#   ## Optional HTTP Request Body
+#   # body = '''
+#   # {'fake':'data'}
+#   # '''
+#
+#   ## Optional substring or regex match in body of the response
+#   ## response_string_match = "\"service_status\": \"up\""
+#   ## response_string_match = "ok"
+#   ## response_string_match = "\".*_status\".?:.?\"up\""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+# # HTTP/HTTPS request given an address a method and a timeout
+[[inputs.http_response]]
+#   ## Server address (default http://localhost)Sock Shop Catalogue
+  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/category.html"
+#   ## Set response_timeout (default 5 seconds)
+  response_timeout = "5s"
+#   ## HTTP Request Method
+  method = "GET"
+#   ## Whether to follow redirects from the server (defaults to false)
+  follow_redirects = true
+#   ## HTTP Request Headers (all values must be strings)
+#   # [inputs.http_response.headers]
+#   #   Host = "github.com"
+#   ## Optional HTTP Request Body
+#   # body = '''
+#   # {'fake':'data'}
+#   # '''
+#
+#   ## Optional substring or regex match in body of the response
+#   ## response_string_match = "\"service_status\": \"up\""
+#   ## response_string_match = "ok"
+#   ## response_string_match = "\".*_status\".?:.?\"up\""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+# # HTTP/HTTPS request given an address a method and a timeout
+[[inputs.http_response]]
+#   ## Server address (default http://localhost)Sock Shop Cart
+  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/basket.html"
+#   ## Set response_timeout (default 5 seconds)
+  response_timeout = "5s"
+#   ## HTTP Request Method
+  method = "GET"
+#   ## Whether to follow redirects from the server (defaults to false)
+  follow_redirects = true
+#   ## HTTP Request Headers (all values must be strings)
+#   # [inputs.http_response.headers]
+#   #   Host = "github.com"
+#   ## Optional HTTP Request Body
+#   # body = '''
+#   # {'fake':'data'}
+#   # '''
+#
+#   ## Optional substring or regex match in body of the response
+#   ## response_string_match = "\"service_status\": \"up\""
+#   ## response_string_match = "ok"
+#   ## response_string_match = "\".*_status\".?:.?\"up\""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+# # HTTP/HTTPS request given an address a method and a timeout
+[[inputs.http_response]]
+#   ## Server address (default http://localhost)Sock Shop Orders
+  address = "http://sockshop.integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+#   ## Set response_timeout (default 5 seconds)
+  response_timeout = "5s"
+#   ## HTTP Request Method
+  method = "GET"
+#   ## Whether to follow redirects from the server (defaults to false)
+  follow_redirects = true
+#   ## HTTP Request Headers (all values must be strings)
+#   # [inputs.http_response.headers]
+#   #   Host = "github.com"
+#   ## Optional HTTP Request Body
+#   # body = '''
+#   # {'fake':'data'}
+#   # '''
+#
+#   ## Optional substring or regex match in body of the response
+#   ## response_string_match = "\"service_status\": \"up\""
+#   ## response_string_match = "ok"
+#   ## response_string_match = "\".*_status\".?:.?\"up\""
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read flattened metrics from one or more JSON HTTP endpoints
+# [[inputs.httpjson]]
+#   ## NOTE This plugin only reads numerical measurements, strings and booleans
+#   ## will be ignored.
+#
+#   ## Name for the service being polled.  Will be appended to the name of the
+#   ## measurement e.g. httpjson_webserver_stats
+#   ##
+#   ## Deprecated (1.3.0): Use name_override, name_suffix, name_prefix instead.
+#   name = "webserver_stats"
+#
+#   ## URL of each server in the service's cluster
+#   servers = [
+#     "http://localhost:9999/stats/",
+#     "http://localhost:9998/stats/",
+#   ]
+#   ## Set response_timeout (default 5 seconds)
+#   response_timeout = "5s"
+#
+#   ## HTTP method to use: GET or POST (case-sensitive)
+#   method = "GET"
+#
+#   ## List of tag names to extract from top-level of JSON server response
+#   # tag_keys = [
+#   #   "my_tag_1",
+#   #   "my_tag_2"
+#   # ]
+#
+#   ## HTTP parameters (all values must be strings).  For "GET" requests, data
+#   ## will be included in the query.  For "POST" requests, data will be included
+#   ## in the request body as "x-www-form-urlencoded".
+#   # [inputs.httpjson.parameters]
+#   #   event_type = "cpu_spike"
+#   #   threshold = "0.75"
+#
+#   ## HTTP Headers (all values must be strings)
+#   # [inputs.httpjson.headers]
+#   #   X-Auth-Token = "my-xauth-token"
+#   #   apiVersion = "v1"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
+# [[inputs.influxdb]]
+#   ## Works with InfluxDB debug endpoints out of the box,
+#   ## but other services can use this format too.
+#   ## See the influxdb plugin's README for more details.
+#
+#   ## Multiple URLs from which to read InfluxDB-formatted JSON
+#   ## Default is "http://localhost:8086/debug/vars".
+#   urls = [
+#     "http://localhost:8086/debug/vars"
+#   ]
+#
+#   ## http request & header timeout
+#   timeout = "5s"
+
+
+# # Collect statistics about itself
+# [[inputs.internal]]
+#   ## If true, collect telegraf memory stats.
+#   # collect_memstats = true
+
+
+# # This plugin gathers interrupts data from /proc/interrupts and /proc/softirqs.
+# [[inputs.interrupts]]
+#   ## To filter which IRQs to collect, make use of tagpass / tagdrop, i.e.
+#   # [inputs.interrupts.tagdrop]
+#     # irq = [ "NET_RX", "TASKLET" ]
+
+
+# # Read metrics from the bare metal servers via IPMI
+# [[inputs.ipmi_sensor]]
+#   ## optionally specify the path to the ipmitool executable
+#   # path = "/usr/bin/ipmitool"
+#   #
+#   ## optionally specify one or more servers via a url matching
+#   ##  [username[:password]@][protocol[(address)]]
+#   ##  e.g.
+#   ##    root:passwd@lan(127.0.0.1)
+#   ##
+#   ## if no servers are specified, local machine sensor stats will be queried
+#   ##
+#   # servers = ["USERID:PASSW0RD@lan(192.168.1.1)"]
+
+
+# # Gather packets and bytes throughput from iptables
+# [[inputs.iptables]]
+#   ## iptables require root access on most systems.
+#   ## Setting 'use_sudo' to true will make use of sudo to run iptables.
+#   ## Users must configure sudo to allow telegraf user to run iptables with no password.
+#   ## iptables can be restricted to only list command "iptables -nvL".
+#   use_sudo = false
+#   ## Setting 'use_lock' to true runs iptables with the "-w" option.
+#   ## Adjust your sudo settings appropriately if using this option ("iptables -wnvl")
+#   use_lock = false
+#   ## defines the table to monitor:
+#   table = "filter"
+#   ## defines the chains to monitor.
+#   ## NOTE: iptables rules without a comment will not be monitored.
+#   ## Read the plugin documentation for more information.
+#   chains = [ "INPUT" ]
+
+
+# # Read JMX metrics through Jolokia
+# [[inputs.jolokia]]
+#   ## This is the context root used to compose the jolokia url
+#   ## NOTE that Jolokia requires a trailing slash at the end of the context root
+#   ## NOTE that your jolokia security policy must allow for POST requests.
+#   context = "/jolokia/"
+#
+#   ## This specifies the mode used
+#   # mode = "proxy"
+#   #
+#   ## When in proxy mode this section is used to specify further
+#   ## proxy address configurations.
+#   ## Remember to change host address to fit your environment.
+#   # [inputs.jolokia.proxy]
+#   #   host = "127.0.0.1"
+#   #   port = "8080"
+#
+#   ## Optional http timeouts
+#   ##
+#   ## response_header_timeout, if non-zero, specifies the amount of time to wait
+#   ## for a server's response headers after fully writing the request.
+#   # response_header_timeout = "3s"
+#   ##
+#   ## client_timeout specifies a time limit for requests made by this client.
+#   ## Includes connection time, any redirects, and reading the response body.
+#   # client_timeout = "4s"
+#
+#   ## Attribute delimiter
+#   ##
+#   ## When multiple attributes are returned for a single
+#   ## [inputs.jolokia.metrics], the field name is a concatenation of the metric
+#   ## name, and the attribute name, separated by the given delimiter.
+#   # delimiter = "_"
+#
+#   ## List of servers exposing jolokia read service
+#   [[inputs.jolokia.servers]]
+#     name = "as-server-01"
+#     host = "127.0.0.1"
+#     port = "8080"
+#     # username = "myuser"
+#     # password = "mypassword"
+#
+#   ## List of metrics collected on above servers
+#   ## Each metric consists in a name, a jmx path and either
+#   ## a pass or drop slice attribute.
+#   ## This collect all heap memory usage metrics.
+#   [[inputs.jolokia.metrics]]
+#     name = "heap_memory_usage"
+#     mbean  = "java.lang:type=Memory"
+#     attribute = "HeapMemoryUsage"
+#
+#   ## This collect thread counts metrics.
+#   [[inputs.jolokia.metrics]]
+#     name = "thread_count"
+#     mbean  = "java.lang:type=Threading"
+#     attribute = "TotalStartedThreadCount,ThreadCount,DaemonThreadCount,PeakThreadCount"
+#
+#   ## This collect number of class loaded/unloaded counts metrics.
+#   [[inputs.jolokia.metrics]]
+#     name = "class_count"
+#     mbean  = "java.lang:type=ClassLoading"
+#     attribute = "LoadedClassCount,UnloadedClassCount,TotalLoadedClassCount"
+
+
+# # Read Kapacitor-formatted JSON metrics from one or more HTTP endpoints
+# [[inputs.kapacitor]]
+#   ## Multiple URLs from which to read Kapacitor-formatted JSON
+#   ## Default is "http://localhost:9092/kapacitor/v1/debug/vars".
+#   urls = [
+#     "http://localhost:9092/kapacitor/v1/debug/vars"
+#   ]
+#
+#   ## Time limit for http requests
+#   timeout = "5s"
+
+
+# # Get kernel statistics from /proc/vmstat
+# [[inputs.kernel_vmstat]]
+#   # no configuration
+
+
+# # Read metrics from the kubernetes kubelet api
+# [[inputs.kubernetes]]
+#   ## URL for the kubelet
+#   url = "http://1.1.1.1:10255"
+#
+#   ## Use bearer token for authorization
+#   # bearer_token = /path/to/bearer/token
+#
+#   ## Optional SSL Config
+#   # ssl_ca = /path/to/cafile
+#   # ssl_cert = /path/to/certfile
+#   # ssl_key = /path/to/keyfile
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read metrics from a LeoFS Server via SNMP
+# [[inputs.leofs]]
+#   ## An array of URI to gather stats about LeoFS.
+#   ## Specify an ip or hostname with port. ie 127.0.0.1:4020
+#   servers = ["127.0.0.1:4021"]
+
+
+# # Provides Linux sysctl fs metrics
+# [[inputs.linux_sysctl_fs]]
+#   # no configuration
+
+
+# # Read metrics from local Lustre service on OST, MDS
+# [[inputs.lustre2]]
+#   ## An array of /proc globs to search for Lustre stats
+#   ## If not specified, the default will work on Lustre 2.5.x
+#   ##
+#   # ost_procfiles = [
+#   #   "/proc/fs/lustre/obdfilter/*/stats",
+#   #   "/proc/fs/lustre/osd-ldiskfs/*/stats",
+#   #   "/proc/fs/lustre/obdfilter/*/job_stats",
+#   # ]
+#   # mds_procfiles = [
+#   #   "/proc/fs/lustre/mdt/*/md_stats",
+#   #   "/proc/fs/lustre/mdt/*/job_stats",
+#   # ]
+
+
+# # Gathers metrics from the /3.0/reports MailChimp API
+# [[inputs.mailchimp]]
+#   ## MailChimp API key
+#   ## get from https://admin.mailchimp.com/account/api/
+#   api_key = "" # required
+#   ## Reports for campaigns sent more than days_old ago will not be collected.
+#   ## 0 means collect all.
+#   days_old = 0
+#   ## Campaign ID to get, if empty gets all campaigns, this option overrides days_old
+#   # campaign_id = ""
+
+
+# # Read metrics from one or many memcached servers
+# [[inputs.memcached]]
+#   ## An array of address to gather stats about. Specify an ip on hostname
+#   ## with optional port. ie localhost, 10.0.0.1:11211, etc.
+#   servers = ["localhost:11211"]
+#   # unix_sockets = ["/var/run/memcached.sock"]
+
+
+# # Telegraf plugin for gathering metrics from N Mesos masters
+# [[inputs.mesos]]
+#   ## Timeout, in ms.
+#   timeout = 100
+#   ## A list of Mesos masters.
+#   masters = ["localhost:5050"]
+#   ## Master metrics groups to be collected, by default, all enabled.
+#   master_collections = [
+#     "resources",
+#     "master",
+#     "system",
+#     "agents",
+#     "frameworks",
+#     "tasks",
+#     "messages",
+#     "evqueue",
+#     "registrar",
+#   ]
+#   ## A list of Mesos slaves, default is []
+#   # slaves = []
+#   ## Slave metrics groups to be collected, by default, all enabled.
+#   # slave_collections = [
+#   #   "resources",
+#   #   "agent",
+#   #   "system",
+#   #   "executors",
+#   #   "tasks",
+#   #   "messages",
+#   # ]
+
+
+# # Read metrics from one or many MongoDB servers
+# [[inputs.mongodb]]
+#   ## An array of URI to gather stats about. Specify an ip or hostname
+#   ## with optional port add password. ie,
+#   ##   mongodb://user:auth_key@10.10.3.30:27017,
+#   ##   mongodb://10.10.3.33:18832,
+#   ##   10.0.0.1:10000, etc.
+#   servers = ["127.0.0.1:27017"]
+#   gather_perdb_stats = false
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Read metrics from one or many mysql servers
+# [[inputs.mysql]]
+#   ## specify servers via a url matching:
+#   ##  [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
+#   ##  see https://github.com/go-sql-driver/mysql#dsn-data-source-name
+#   ##  e.g.
+#   ##    servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
+#   ##    servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
+#   #
+#   ## If no servers are specified, then localhost is used as the host.
+#   servers = ["tcp(127.0.0.1:3306)/"]
+#   ## the limits for metrics form perf_events_statements
+#   perf_events_statements_digest_text_limit  = 120
+#   perf_events_statements_limit              = 250
+#   perf_events_statements_time_limit         = 86400
+#   #
+#   ## if the list is empty, then metrics are gathered from all databasee tables
+#   table_schema_databases                    = []
+#   #
+#   ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
+#   gather_table_schema                       = false
+#   #
+#   ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
+#   gather_process_list                       = true
+#   #
+#   ## gather thread state counts from INFORMATION_SCHEMA.USER_STATISTICS
+#   gather_user_statistics                    = true
+#   #
+#   ## gather auto_increment columns and max values from information schema
+#   gather_info_schema_auto_inc               = true
+#   #
+#   ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
+#   gather_innodb_metrics                     = true
+#   #
+#   ## gather metrics from SHOW SLAVE STATUS command output
+#   gather_slave_status                       = true
+#   #
+#   ## gather metrics from SHOW BINARY LOGS command output
+#   gather_binary_logs                        = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
+#   gather_table_io_waits                     = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
+#   gather_table_lock_waits                   = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
+#   gather_index_io_waits                     = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
+#   gather_event_waits                        = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
+#   gather_file_events_stats                  = false
+#   #
+#   ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
+#   gather_perf_events_statements             = false
+#   #
+#   ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
+#   interval_slow                   = "30m"
+
+
+# # Read metrics about network interface usage
+[[inputs.net]]
+#   ## By default, telegraf gathers stats from any up interface (excluding loopback)
+#   ## Setting interfaces will tell it to gather these explicit interfaces,
+#   ## regardless of status.
+#   ##
+#   # interfaces = ["eth0"]
+
+
+# # TCP or UDP 'ping' given url and collect response time in seconds
+# [[inputs.net_response]]
+#   ## Protocol, must be "tcp" or "udp"
+#   ## NOTE: because the "udp" protocol does not respond to requests, it requires
+#   ## a send/expect string pair (see below).
+#   protocol = "tcp"
+#   ## Server address (default localhost)
+#   address = "localhost:80"
+#   ## Set timeout
+#   timeout = "1s"
+#
+#   ## Set read timeout (only used if expecting a response)
+#   read_timeout = "1s"
+#
+#   ## The following options are required for UDP checks. For TCP, they are
+#   ## optional. The plugin will send the given string to the server and then
+#   ## expect to receive the given 'expect' string back.
+#   ## string sent to the server
+#   # send = "ssh"
+#   ## expected string in answer
+#   # expect = "ssh"
+
+
+# # Read TCP metrics such as established, time wait and sockets counts.
+# [[inputs.netstat]]
+#   # no configuration
+
+
+# # Read Nginx's basic status information (ngx_http_stub_status_module)
+# [[inputs.nginx]]
+#   ## An array of Nginx stub_status URI to gather stats.
+#   urls = ["http://localhost/status"]
+
+
+# # Read NSQ topic and channel statistics.
+# [[inputs.nsq]]
+#   ## An array of NSQD HTTP API endpoints
+#   endpoints = ["http://localhost:4151"]
+
+
+# # Collect kernel snmp counters and network interface statistics
+# [[inputs.nstat]]
+#   ## file paths for proc files. If empty default paths will be used:
+#   ##    /proc/net/netstat, /proc/net/snmp, /proc/net/snmp6
+#   ## These can also be overridden with env variables, see README.
+#   proc_net_netstat = "/proc/net/netstat"
+#   proc_net_snmp = "/proc/net/snmp"
+#   proc_net_snmp6 = "/proc/net/snmp6"
+#   ## dump metrics with 0 values too
+#   dump_zeros       = true
+
+
+# # Get standard NTP query metrics, requires ntpq executable.
+# [[inputs.ntpq]]
+#   ## If false, set the -n ntpq flag. Can reduce metric gather time.
+#   dns_lookup = true
+
+
+# # Read metrics of passenger using passenger-status
+# [[inputs.passenger]]
+#   ## Path of passenger-status.
+#   ##
+#   ## Plugin gather metric via parsing XML output of passenger-status
+#   ## More information about the tool:
+#   ##   https://www.phusionpassenger.com/library/admin/apache/overall_status_report.html
+#   ##
+#   ## If no path is specified, then the plugin simply execute passenger-status
+#   ## hopefully it can be found in your PATH
+#   command = "passenger-status -v --show=xml"
+
+
+# # Read metrics of phpfpm, via HTTP status page or socket
+# [[inputs.phpfpm]]
+#   ## An array of addresses to gather stats about. Specify an ip or hostname
+#   ## with optional port and path
+#   ##
+#   ## Plugin can be configured in three modes (either can be used):
+#   ##   - http: the URL must start with http:// or https://, ie:
+#   ##       "http://localhost/status"
+#   ##       "http://192.168.130.1/status?full"
+#   ##
+#   ##   - unixsocket: path to fpm socket, ie:
+#   ##       "/var/run/php5-fpm.sock"
+#   ##      or using a custom fpm status path:
+#   ##       "/var/run/php5-fpm.sock:fpm-custom-status-path"
+#   ##
+#   ##   - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
+#   ##       "fcgi://10.0.0.12:9000/status"
+#   ##       "cgi://10.0.10.12:9001/status"
+#   ##
+#   ## Example of multiple gathering from local socket and remove host
+#   ## urls = ["http://192.168.1.20/status", "/tmp/fpm.sock"]
+#   urls = ["http://localhost/status"]
+
+
+# # Ping given url(s) and return statistics
+## [[inputs.ping]]
+#   ## NOTE: this plugin forks the ping command. You may need to set capabilities
+#   ## via setcap cap_net_raw+p /bin/ping
+#   #
+#   ## List of urls to ping
+# urls = ["www.google.com"] 
+# required
+#"http://integration.decideh2020.lan.esilab.org:10080/category.html", "http://integration.decideh2020.lan.esilab.org:10080/basket.html", #"http://integration.decideh2020.lan.esilab.org:10080/customer-orders.html"
+#   ## number of pings to send per collection (ping -c <COUNT>)
+#count = 1
+#   ## interval, in s, at which to ping. 0 == default (ping -i <PING_INTERVAL>)
+#ping_interval = 1.0
+#   ## per-ping timeout, in s. 0 == no timeout (ping -W <TIMEOUT>)
+#timeout = 1.0
+#   ## interface to send ping from (ping -I <INTERFACE>)
+#interface = ""
+
+
+# # Read metrics from one or many postgresql servers
+# [[inputs.postgresql]]
+#   ## specify address via a url matching:
+#   ##   postgres://[pqgotest[:password]]@localhost[/dbname]\
+#   ##       ?sslmode=[disable|verify-ca|verify-full]
+#   ## or a simple string:
+#   ##   host=localhost user=pqotest password=... sslmode=... dbname=app_production
+#   ##
+#   ## All connection parameters are optional.
+#   ##
+#   ## Without the dbname parameter, the driver will default to a database
+#   ## with the same name as the user. This dbname is just for instantiating a
+#   ## connection with the server and doesn't restrict the databases we are trying
+#   ## to grab metrics for.
+#   ##
+#   address = "host=localhost user=postgres sslmode=disable"
+#
+#   ## A  list of databases to explicitly ignore.  If not specified, metrics for all
+#   ## databases are gathered.  Do NOT use with the 'databases' option.
+#   # ignored_databases = ["postgres", "template0", "template1"]
+#
+#   ## A list of databases to pull metrics about. If not specified, metrics for all
+#   ## databases are gathered.  Do NOT use with the 'ignored_databases' option.
+#   # databases = ["app_production", "testing"]
+
+
+# # Read metrics from one or many postgresql servers
+# [[inputs.postgresql_extensible]]
+#   ## specify address via a url matching:
+#   ##   postgres://[pqgotest[:password]]@localhost[/dbname]\
+#   ##       ?sslmode=[disable|verify-ca|verify-full]
+#   ## or a simple string:
+#   ##   host=localhost user=pqotest password=... sslmode=... dbname=app_production
+#   #
+#   ## All connection parameters are optional.  #
+#   ## Without the dbname parameter, the driver will default to a database
+#   ## with the same name as the user. This dbname is just for instantiating a
+#   ## connection with the server and doesn't restrict the databases we are trying
+#   ## to grab metrics for.
+#   #
+#   address = "host=localhost user=postgres sslmode=disable"
+#   ## A list of databases to pull metrics about. If not specified, metrics for all
+#   ## databases are gathered.
+#   ## databases = ["app_production", "testing"]
+#   #
+#   # outputaddress = "db01"
+#   ## A custom name for the database that will be used as the "server" tag in the
+#   ## measurement output. If not specified, a default one generated from
+#   ## the connection address is used.
+#   #
+#   ## Define the toml config where the sql queries are stored
+#   ## New queries can be added, if the withdbname is set to true and there is no
+#   ## databases defined in the 'databases field', the sql query is ended by a
+#   ## 'is not null' in order to make the query succeed.
+#   ## Example :
+#   ## The sqlquery : "SELECT * FROM pg_stat_database where datname" become
+#   ## "SELECT * FROM pg_stat_database where datname IN ('postgres', 'pgbench')"
+#   ## because the databases variable was set to ['postgres', 'pgbench' ] and the
+#   ## withdbname was true. Be careful that if the withdbname is set to false you
+#   ## don't have to define the where clause (aka with the dbname) the tagvalue
+#   ## field is used to define custom tags (separated by commas)
+#   ## The optional "measurement" value can be used to override the default
+#   ## output measurement name ("postgresql").
+#   #
+#   ## Structure :
+#   ## [[inputs.postgresql_extensible.query]]
+#   ##   sqlquery string
+#   ##   version string
+#   ##   withdbname boolean
+#   ##   tagvalue string (comma separated)
+#   ##   measurement string
+#   [[inputs.postgresql_extensible.query]]
+#     sqlquery="SELECT * FROM pg_stat_database"
+#     version=901
+#     withdbname=false
+#     tagvalue=""
+#     measurement=""
+#   [[inputs.postgresql_extensible.query]]
+#     sqlquery="SELECT * FROM pg_stat_bgwriter"
+#     version=901
+#     withdbname=false
+#     tagvalue="postgresql.stats"
+
+
+# # Read metrics from one or many PowerDNS servers
+# [[inputs.powerdns]]
+#   ## An array of sockets to gather stats about.
+#   ## Specify a path to unix socket.
+#   unix_sockets = ["/var/run/pdns.controlsocket"]
+
+
+# # Monitor process cpu and memory usage
+# [[inputs.procstat]]
+#   ## Must specify one of: pid_file, exe, or pattern
+#   ## PID file to monitor process
+#   pid_file = "/var/run/nginx.pid"
+#   ## executable name (ie, pgrep <exe>)
+#   # exe = "nginx"
+#   ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
+#   # pattern = "nginx"
+#   ## user as argument for pgrep (ie, pgrep -u <user>)
+#   # user = "nginx"
+#
+#   ## override for process_name
+#   ## This is optional; default is sourced from /proc/<pid>/status
+#   # process_name = "bar"
+#   ## Field name prefix
+#   prefix = ""
+#   ## comment this out if you want raw cpu_time stats
+#   fielddrop = ["cpu_time_*"]
+#   ## This is optional; moves pid into a tag instead of a field
+#   pid_tag = false
+
+
+# # Read metrics from one or many prometheus clients
+# [[inputs.prometheus]]
+#   ## An array of urls to scrape metrics from.
+#   urls = ["http://localhost:9100/metrics"]
+#
+#   ## Use bearer token for authorization
+#   # bearer_token = /path/to/bearer/token
+#
+#   ## Specify timeout duration for slower prometheus clients (default is 3s)
+#   # response_timeout = "3s"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = /path/to/cafile
+#   # ssl_cert = /path/to/certfile
+#   # ssl_key = /path/to/keyfile
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+
+
+# # Reads last_run_summary.yaml file and converts to measurments
+# [[inputs.puppetagent]]
+#   ## Location of puppet last run summary file
+#   location = "/var/lib/puppet/state/last_run_summary.yaml"
+
+
+# # Read metrics from one or many RabbitMQ servers via the management API
+# [[inputs.rabbitmq]]
+#   # url = "http://localhost:15672"
+#   # name = "rmq-server-1" # optional tag
+#   # username = "guest"
+#   # password = "guest"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Optional request timeouts
+#   ##
+#   ## ResponseHeaderTimeout, if non-zero, specifies the amount of time to wait
+#   ## for a server's response headers after fully writing the request.
+#   # header_timeout = "3s"
+#   ##
+#   ## client_timeout specifies a time limit for requests made by this client.
+#   ## Includes connection time, any redirects, and reading the response body.
+#   # client_timeout = "4s"
+#
+#   ## A list of nodes to pull metrics about. If not specified, metrics for
+#   ## all nodes are gathered.
+#   # nodes = ["rabbit@node1", "rabbit@node2"]
+
+
+# # Read raindrops stats (raindrops - real-time stats for preforking Rack servers)
+# [[inputs.raindrops]]
+#   ## An array of raindrops middleware URI to gather stats.
+#   urls = ["http://localhost:8080/_raindrops"]
+
+
+# # Read metrics from one or many redis servers
+# [[inputs.redis]]
+#   ## specify servers via a url matching:
+#   ##  [protocol://][:password]@address[:port]
+#   ##  e.g.
+#   ##    tcp://localhost:6379
+#   ##    tcp://:password@192.168.99.100
+#   ##    unix:///var/run/redis.sock
+#   ##
+#   ## If no servers are specified, then localhost is used as the host.
+#   ## If no port is specified, 6379 is used
+#   servers = ["tcp://localhost:6379"]
+
+
+# # Read metrics from one or many RethinkDB servers
+# [[inputs.rethinkdb]]
+#   ## An array of URI to gather stats about. Specify an ip or hostname
+#   ## with optional port add password. ie,
+#   ##   rethinkdb://user:auth_key@10.10.3.30:28105,
+#   ##   rethinkdb://10.10.3.33:18832,
+#   ##   10.0.0.1:10000, etc.
+#   servers = ["127.0.0.1:28015"]
+
+
+# # Read metrics one or many Riak servers
+# [[inputs.riak]]
+#   # Specify a list of one or more riak http servers
+#   servers = ["http://localhost:8098"]
+
+
+# # Monitor sensors, requires lm-sensors package
+# [[inputs.sensors]]
+#   ## Remove numbers from field names.
+#   ## If true, a field name like 'temp1_input' will be changed to 'temp_input'.
+#   # remove_numbers = true
+
+
+# # Retrieves SNMP values from remote agents
+# [[inputs.snmp]]
+#   agents = [ "127.0.0.1:161" ]
+#   ## Timeout for each SNMP query.
+#   timeout = "5s"
+#   ## Number of retries to attempt within timeout.
+#   retries = 3
+#   ## SNMP version, values can be 1, 2, or 3
+#   version = 2
+#
+#   ## SNMP community string.
+#   community = "public"
+#
+#   ## The GETBULK max-repetitions parameter
+#   max_repetitions = 10
+#
+#   ## SNMPv3 auth parameters
+#   #sec_name = "myuser"
+#   #auth_protocol = "md5"      # Values: "MD5", "SHA", ""
+#   #auth_password = "pass"
+#   #sec_level = "authNoPriv"   # Values: "noAuthNoPriv", "authNoPriv", "authPriv"
+#   #context_name = ""
+#   #priv_protocol = ""         # Values: "DES", "AES", ""
+#   #priv_password = ""
+#
+#   ## measurement name
+#   name = "system"
+#   [[inputs.snmp.field]]
+#     name = "hostname"
+#     oid = ".1.0.0.1.1"
+#   [[inputs.snmp.field]]
+#     name = "uptime"
+#     oid = ".1.0.0.1.2"
+#   [[inputs.snmp.field]]
+#     name = "load"
+#     oid = ".1.0.0.1.3"
+#   [[inputs.snmp.field]]
+#     oid = "HOST-RESOURCES-MIB::hrMemorySize"
+#
+#   [[inputs.snmp.table]]
+#     ## measurement name
+#     name = "remote_servers"
+#     inherit_tags = [ "hostname" ]
+#     [[inputs.snmp.table.field]]
+#       name = "server"
+#       oid = ".1.0.0.0.1.0"
+#       is_tag = true
+#     [[inputs.snmp.table.field]]
+#       name = "connections"
+#       oid = ".1.0.0.0.1.1"
+#     [[inputs.snmp.table.field]]
+#       name = "latency"
+#       oid = ".1.0.0.0.1.2"
+#
+#   [[inputs.snmp.table]]
+#     ## auto populate table's fields using the MIB
+#     oid = "HOST-RESOURCES-MIB::hrNetworkTable"
+
+
+# # DEPRECATED! PLEASE USE inputs.snmp INSTEAD.
+# [[inputs.snmp_legacy]]
+#   ## Use 'oids.txt' file to translate oids to names
+#   ## To generate 'oids.txt' you need to run:
+#   ##   snmptranslate -m all -Tz -On | sed -e 's/"//g' > /tmp/oids.txt
+#   ## Or if you have an other MIB folder with custom MIBs
+#   ##   snmptranslate -M /mycustommibfolder -Tz -On -m all | sed -e 's/"//g' > oids.txt
+#   snmptranslate_file = "/tmp/oids.txt"
+#   [[inputs.snmp.host]]
+#     address = "192.168.2.2:161"
+#     # SNMP community
+#     community = "public" # default public
+#     # SNMP version (1, 2 or 3)
+#     # Version 3 not supported yet
+#     version = 2 # default 2
+#     # SNMP response timeout
+#     timeout = 2.0 # default 2.0
+#     # SNMP request retries
+#     retries = 2 # default 2
+#     # Which get/bulk do you want to collect for this host
+#     collect = ["mybulk", "sysservices", "sysdescr"]
+#     # Simple list of OIDs to get, in addition to "collect"
+#     get_oids = []
+#
+#   [[inputs.snmp.host]]
+#     address = "192.168.2.3:161"
+#     community = "public"
+#     version = 2
+#     timeout = 2.0
+#     retries = 2
+#     collect = ["mybulk"]
+#     get_oids = [
+#         "ifNumber",
+#         ".1.3.6.1.2.1.1.3.0",
+#     ]
+#
+#   [[inputs.snmp.get]]
+#     name = "ifnumber"
+#     oid = "ifNumber"
+#
+#   [[inputs.snmp.get]]
+#     name = "interface_speed"
+#     oid = "ifSpeed"
+#     instance = "0"
+#
+#   [[inputs.snmp.get]]
+#     name = "sysuptime"
+#     oid = ".1.3.6.1.2.1.1.3.0"
+#     unit = "second"
+#
+#   [[inputs.snmp.bulk]]
+#     name = "mybulk"
+#     max_repetition = 127
+#     oid = ".1.3.6.1.2.1.1"
+#
+#   [[inputs.snmp.bulk]]
+#     name = "ifoutoctets"
+#     max_repetition = 127
+#     oid = "ifOutOctets"
+#
+#   [[inputs.snmp.host]]
+#     address = "192.168.2.13:161"
+#     #address = "127.0.0.1:161"
+#     community = "public"
+#     version = 2
+#     timeout = 2.0
+#     retries = 2
+#     #collect = ["mybulk", "sysservices", "sysdescr", "systype"]
+#     collect = ["sysuptime" ]
+#     [[inputs.snmp.host.table]]
+#       name = "iftable3"
+#       include_instances = ["enp5s0", "eth1"]
+#
+#   # SNMP TABLEs
+#   # table without mapping neither subtables
+#   [[inputs.snmp.table]]
+#     name = "iftable1"
+#     oid = ".1.3.6.1.2.1.31.1.1.1"
+#
+#   # table without mapping but with subtables
+#   [[inputs.snmp.table]]
+#     name = "iftable2"
+#     oid = ".1.3.6.1.2.1.31.1.1.1"
+#     sub_tables = [".1.3.6.1.2.1.2.2.1.13"]
+#
+#   # table with mapping but without subtables
+#   [[inputs.snmp.table]]
+#     name = "iftable3"
+#     oid = ".1.3.6.1.2.1.31.1.1.1"
+#     # if empty. get all instances
+#     mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
+#     # if empty, get all subtables
+#
+#   # table with both mapping and subtables
+#   [[inputs.snmp.table]]
+#     name = "iftable4"
+#     oid = ".1.3.6.1.2.1.31.1.1.1"
+#     # if empty get all instances
+#     mapping_table = ".1.3.6.1.2.1.31.1.1.1.1"
+#     # if empty get all subtables
+#     # sub_tables could be not "real subtables"
+#     sub_tables=[".1.3.6.1.2.1.2.2.1.13", "bytes_recv", "bytes_send"]
+
+
+# # Read metrics from Microsoft SQL Server
+# [[inputs.sqlserver]]
+#   ## Specify instances to monitor with a list of connection strings.
+#   ## All connection parameters are optional.
+#   ## By default, the host is localhost, listening on default port, TCP 1433.
+#   ##   for Windows, the user is the currently running AD user (SSO).
+#   ##   See https://github.com/denisenkom/go-mssqldb for detailed connection
+#   ##   parameters.
+#   # servers = [
+#   #  "Server=192.168.1.10;Port=1433;User Id=<user>;Password=<pw>;app name=telegraf;log=1;",
+#   # ]
+
+
+# # Sysstat metrics collector
+# [[inputs.sysstat]]
+#   ## Path to the sadc command.
+#   #
+#   ## Common Defaults:
+#   ##   Debian/Ubuntu: /usr/lib/sysstat/sadc
+#   ##   Arch:          /usr/lib/sa/sadc
+#   ##   RHEL/CentOS:   /usr/lib64/sa/sadc
+#   sadc_path = "/usr/lib/sa/sadc" # required
+#   #
+#   #
+#   ## Path to the sadf command, if it is not in PATH
+#   # sadf_path = "/usr/bin/sadf"
+#   #
+#   #
+#   ## Activities is a list of activities, that are passed as argument to the
+#   ## sadc collector utility (e.g: DISK, SNMP etc...)
+#   ## The more activities that are added, the more data is collected.
+#   # activities = ["DISK"]
+#   #
+#   #
+#   ## Group metrics to measurements.
+#   ##
+#   ## If group is false each metric will be prefixed with a description
+#   ## and represents itself a measurement.
+#   ##
+#   ## If Group is true, corresponding metrics are grouped to a single measurement.
+#   # group = true
+#   #
+#   #
+#   ## Options for the sadf command. The values on the left represent the sadf
+#   ## options and the values on the right their description (wich are used for
+#   ## grouping and prefixing metrics).
+#   ##
+#   ## Run 'sar -h' or 'man sar' to find out the supported options for your
+#   ## sysstat version.
+#   [inputs.sysstat.options]
+#     -C = "cpu"
+#     -B = "paging"
+#     -b = "io"
+#     -d = "disk"             # requires DISK activity
+#     "-n ALL" = "network"
+#     "-P ALL" = "per_cpu"
+#     -q = "queue"
+#     -R = "mem"
+#     -r = "mem_util"
+#     -S = "swap_util"
+#     -u = "cpu_util"
+#     -v = "inode"
+#     -W = "swap"
+#     -w = "task"
+#   #  -H = "hugepages"        # only available for newer linux distributions
+#   #  "-I ALL" = "interrupts" # requires INT activity
+#   #
+#   #
+#   ## Device tags can be used to add additional tags for devices.
+#   ## For example the configuration below adds a tag vg with value rootvg for
+#   ## all metrics with sda devices.
+#   # [[inputs.sysstat.device_tags.sda]]
+#   #  vg = "rootvg"
+
+
+# # Inserts sine and cosine waves for demonstration purposes
+# [[inputs.trig]]
+#   ## Set the amplitude
+#   amplitude = 10.0
+
+
+# # Read Twemproxy stats data
+# [[inputs.twemproxy]]
+#   ## Twemproxy stats address and port (no scheme)
+#   addr = "localhost:22222"
+#   ## Monitor pool name
+#   pools = ["redis_pool", "mc_pool"]
+
+
+# # A plugin to collect stats from Varnish HTTP Cache
+# [[inputs.varnish]]
+#   ## The default location of the varnishstat binary can be overridden with:
+#   binary = "/usr/bin/varnishstat"
+#
+#   ## By default, telegraf gather stats for 3 metric points.
+#   ## Setting stats will override the defaults shown below.
+#   ## Glob matching can be used, ie, stats = ["MAIN.*"]
+#   ## stats may also be set to ["*"], which will collect all stats
+#   stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"]
+
+
+# # Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, and pools
+# [[inputs.zfs]]
+#   ## ZFS kstat path. Ignored on FreeBSD
+#   ## If not specified, then default is:
+#   # kstatPath = "/proc/spl/kstat/zfs"
+#
+#   ## By default, telegraf gather all zfs stats
+#   ## If not specified, then default is:
+#   # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
+#
+#   ## By default, don't gather zpool stats
+#   # poolMetrics = false
+
+
+# # Reads 'mntr' stats from one or many zookeeper servers
+# [[inputs.zookeeper]]
+#   ## An array of address to gather stats about. Specify an ip or hostname
+#   ## with port. ie localhost:2181, 10.0.0.1:2181, etc.
+#
+#   ## If no servers are specified, then localhost is used as the host.
+#   ## If no port is specified, 2181 is used
+#   servers = [":2181"]
+
+
+
+###############################################################################
+#                            SERVICE INPUT PLUGINS                            #
+###############################################################################
+
+# # AMQP consumer plugin
+# [[inputs.amqp_consumer]]
+#   ## AMQP url
+#   url = "amqp://localhost:5672/influxdb"
+#   ## AMQP exchange
+#   exchange = "telegraf"
+#   ## AMQP queue name
+#   queue = "telegraf"
+#   ## Binding Key
+#   binding_key = "#"
+#
+#   ## Maximum number of messages server should give to the worker.
+#   prefetch_count = 50
+#
+#   ## Auth method. PLAIN and EXTERNAL are supported
+#   ## Using EXTERNAL requires enabling the rabbitmq_auth_mechanism_ssl plugin as
+#   ## described here: https://www.rabbitmq.com/plugins.html
+#   # auth_method = "PLAIN"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Data format to output.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
+#   data_format = "influx"
+
+
+# # Influx HTTP write listener
+# [[inputs.http_listener]]
+#   ## Address and port to host HTTP listener on
+#   service_address = ":8186"
+#
+#   ## maximum duration before timing out read of the request
+#   read_timeout = "10s"
+#   ## maximum duration before timing out write of the response
+#   write_timeout = "10s"
+#
+#   ## Maximum allowed http request body size in bytes.
+#   ## 0 means to use the default of 536,870,912 bytes (500 mebibytes)
+#   max_body_size = 0
+#
+#   ## Maximum line size allowed to be sent in bytes.
+#   ## 0 means to use the default of 65536 bytes (64 kibibytes)
+#   max_line_size = 0
+
+
+# # Read metrics from Kafka topic(s)
+# [[inputs.kafka_consumer]]
+#   ## topic(s) to consume
+#   topics = ["telegraf"]
+#   ## an array of Zookeeper connection strings
+#   zookeeper_peers = ["localhost:2181"]
+#   ## Zookeeper Chroot
+#   zookeeper_chroot = ""
+#   ## the name of the consumer group
+#   consumer_group = "telegraf_metrics_consumers"
+#   ## Offset (must be either "oldest" or "newest")
+#   offset = "oldest"
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+#
+#   ## Maximum length of a message to consume, in bytes (default 0/unlimited);
+#   ## larger messages are dropped
+#   max_message_len = 65536
+
+
+# # Stream and parse log file(s).
+# [[inputs.logparser]]
+#   ## Log files to parse.
+#   ## These accept standard unix glob matching rules, but with the addition of
+#   ## ** as a "super asterisk". ie:
+#   ##   /var/log/**.log     -> recursively find all .log files in /var/log
+#   ##   /var/log/*/*.log    -> find all .log files with a parent dir in /var/log
+#   ##   /var/log/apache.log -> only tail the apache log file
+#   files = ["/var/log/apache/access.log"]
+#   ## Read files that currently exist from the beginning. Files that are created
+#   ## while telegraf is running (and that match the "files" globs) will always
+#   ## be read from the beginning.
+#   from_beginning = false
+#
+#   ## Parse logstash-style "grok" patterns:
+#   ##   Telegraf built-in parsing patterns: https://goo.gl/dkay10
+#   [inputs.logparser.grok]
+#     ## This is a list of patterns to check the given log file(s) for.
+#     ## Note that adding patterns here increases processing time. The most
+#     ## efficient configuration is to have one pattern per logparser.
+#     ## Other common built-in patterns are:
+#     ##   %{COMMON_LOG_FORMAT}   (plain apache & nginx access logs)
+#     ##   %{COMBINED_LOG_FORMAT} (access logs + referrer & agent)
+#     patterns = ["%{COMBINED_LOG_FORMAT}"]
+#     ## Name of the outputted measurement name.
+#     measurement = "apache_access_log"
+#     ## Full path(s) to custom pattern files.
+#     custom_pattern_files = []
+#     ## Custom patterns can also be defined here. Put one pattern per line.
+#     custom_patterns = '''
+#     '''
+
+
+# # Read metrics from MQTT topic(s)
+# [[inputs.mqtt_consumer]]
+#   servers = ["localhost:1883"]
+#   ## MQTT QoS, must be 0, 1, or 2
+#   qos = 0
+#
+#   ## Topics to subscribe to
+#   topics = [
+#     "telegraf/host01/cpu",
+#     "telegraf/+/mem",
+#     "sensors/#",
+#   ]
+#
+#   # if true, messages that can't be delivered while the subscriber is offline
+#   # will be delivered when it comes back (such as on service restart).
+#   # NOTE: if true, client_id MUST be set
+#   persistent_session = false
+#   # If empty, a random client ID will be generated.
+#   client_id = ""
+#
+#   ## username and password to connect MQTT server.
+#   # username = "telegraf"
+#   # password = "metricsmetricsmetricsmetrics"
+#
+#   ## Optional SSL Config
+#   # ssl_ca = "/etc/telegraf/ca.pem"
+#   # ssl_cert = "/etc/telegraf/cert.pem"
+#   # ssl_key = "/etc/telegraf/key.pem"
+#   ## Use SSL but skip chain & host verification
+#   # insecure_skip_verify = false
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+
+
+# # Read metrics from NATS subject(s)
+# [[inputs.nats_consumer]]
+#   ## urls of NATS servers
+#   # servers = ["nats://localhost:4222"]
+#   ## Use Transport Layer Security
+#   # secure = false
+#   ## subject(s) to consume
+#   # subjects = ["telegraf"]
+#   ## name a queue group
+#   # queue_group = "telegraf_consumers"
+#
+#   ## Sets the limits for pending msgs and bytes for each subscription
+#   ## These shouldn't need to be adjusted except in very high throughput scenarios
+#   # pending_message_limit = 65536
+#   # pending_bytes_limit = 67108864
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+
+
+# # Read NSQ topic for metrics.
+# [[inputs.nsq_consumer]]
+#   ## An string representing the NSQD TCP Endpoint
+#   server = "localhost:4150"
+#   topic = "telegraf"
+#   channel = "consumer"
+#   max_in_flight = 100
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+
+
+# # Generic socket listener capable of handling multiple socket types.
+# [[inputs.socket_listener]]
+#   ## URL to listen on
+#   # service_address = "tcp://:8094"
+#   # service_address = "tcp://127.0.0.1:http"
+#   # service_address = "tcp4://:8094"
+#   # service_address = "tcp6://:8094"
+#   # service_address = "tcp6://[2001:db8::1]:8094"
+#   # service_address = "udp://:8094"
+#   # service_address = "udp4://:8094"
+#   # service_address = "udp6://:8094"
+#   # service_address = "unix:///tmp/telegraf.sock"
+#   # service_address = "unixgram:///tmp/telegraf.sock"
+#
+#   ## Maximum number of concurrent connections.
+#   ## Only applies to stream sockets (e.g. TCP).
+#   ## 0 (default) is unlimited.
+#   # max_connections = 1024
+#
+#   ## Maximum socket buffer size in bytes.
+#   ## For stream sockets, once the buffer fills up, the sender will start backing up.
+#   ## For datagram sockets, once the buffer fills up, metrics will start dropping.
+#   ## Defaults to the OS default.
+#   # read_buffer_size = 65535
+#
+#   ## Period between keep alive probes.
+#   ## Only applies to TCP sockets.
+#   ## 0 disables keep alive probes.
+#   ## Defaults to the OS configuration.
+#   # keep_alive_period = "5m"
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   # data_format = "influx"
+
+
+# # Statsd Server
+# [[inputs.statsd]]
+#   ## Address and port to host UDP listener on
+#   service_address = ":8125"
+#
+#   ## The following configuration options control when telegraf clears it's cache
+#   ## of previous values. If set to false, then telegraf will only clear it's
+#   ## cache when the daemon is restarted.
+#   ## Reset gauges every interval (default=true)
+#   delete_gauges = true
+#   ## Reset counters every interval (default=true)
+#   delete_counters = true
+#   ## Reset sets every interval (default=true)
+#   delete_sets = true
+#   ## Reset timings & histograms every interval (default=true)
+#   delete_timings = true
+#
+#   ## Percentiles to calculate for timing & histogram stats
+#   percentiles = [90]
+#
+#   ## separator to use between elements of a statsd metric
+#   metric_separator = "_"
+#
+#   ## Parses tags in the datadog statsd format
+#   ## http://docs.datadoghq.com/guides/dogstatsd/
+#   parse_data_dog_tags = false
+#
+#   ## Statsd data translation templates, more info can be read here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite
+#   # templates = [
+#   #     "cpu.* measurement*"
+#   # ]
+#
+#   ## Number of UDP messages allowed to queue up, once filled,
+#   ## the statsd server will start dropping packets
+#   allowed_pending_messages = 10000
+#
+#   ## Number of timing/histogram values to track per-measurement in the
+#   ## calculation of percentiles. Raising this limit increases the accuracy
+#   ## of percentiles but also increases the memory usage and cpu time.
+#   percentile_limit = 1000
+
+
+# # Stream a log file, like the tail -f command
+# [[inputs.tail]]
+#   ## files to tail.
+#   ## These accept standard unix glob matching rules, but with the addition of
+#   ## ** as a "super asterisk". ie:
+#   ##   "/var/log/**.log"  -> recursively find all .log files in /var/log
+#   ##   "/var/log/*/*.log" -> find all .log files with a parent dir in /var/log
+#   ##   "/var/log/apache.log" -> just tail the apache log file
+#   ##
+#   ## See https://github.com/gobwas/glob for more examples
+#   ##
+#   files = ["/var/mymetrics.out"]
+#   ## Read file from beginning.
+#   from_beginning = false
+#   ## Whether file is a named pipe
+#   pipe = false
+#
+#   ## Data format to consume.
+#   ## Each data format has its own unique set of configuration options, read
+#   ## more about them here:
+#   ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
+#   data_format = "influx"
+
+
+# # Generic TCP listener
+# [[inputs.tcp_listener]]
+#   # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
+#   # socket_listener plugin
+#   # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
+
+
+# # Generic UDP listener
+# [[inputs.udp_listener]]
+#   # DEPRECATED: the TCP listener plugin has been deprecated in favor of the
+#   # socket_listener plugin
+#   # see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/socket_listener
+
+
+# # A Webhooks Event collector
+# [[inputs.webhooks]]
+#   ## Address and port to host Webhook listener on
+#   service_address = ":1619"
+#
+#   [inputs.webhooks.filestack]
+#     path = "/filestack"
+#
+#   [inputs.webhooks.github]
+#     path = "/github"
+#     # secret = ""
+#
+#   [inputs.webhooks.mandrill]
+#     path = "/mandrill"
+#
+#   [inputs.webhooks.rollbar]
+#     path = "/rollbar"
+#
+#   [inputs.webhooks.papertrail]
+#     path = "/papertrail"
+
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.gitignore b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.gitignore
index edefd5d6e371cebf1edec9d266ba9f9dc22dbab0..a0ae82d6efeed3f01edb8feebdb7d4df37efaadd 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.gitignore
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.gitignore
@@ -1,12 +1,12 @@
-**/bin/
-**/sources/
-**/target/
-**/generated/
-**/.classpath
-**/.settings/
-**/node_modules/
-**/*.log
-**/.vagrant/
-**/output-virtualbox-iso/
-**/packer_cache/
+**/bin/
+**/sources/
+**/target/
+**/generated/
+**/.classpath
+**/.settings/
+**/node_modules/
+**/*.log
+**/.vagrant/
+**/output-virtualbox-iso/
+**/packer_cache/
 **/*.box
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.project b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.project
index 39446ea169893e05dfacaf5bb62b91fbf3459228..0b82a4088148e63f6608ccefdc781a7acac96edc 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.project
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/.project
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/AdaptMonitoringLicense.txt b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
index 1e8c4abd55c8006ea8379591a0755f96a866c829..1989cbbc9fc2c8eadf080ac3d700f7eac3be2cce 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/AdaptMonitoringLicense.txt
@@ -1,30 +1,30 @@
-/****************************************************************
-*Copyright (c) 2017 Tecnalia.
-*Licensed under MIT License (the "License");
-*Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is furnished 
-to do so, subject to the following conditions:
-*The above copyright notice and this permission notice shall be included in all 
-copies or substantial portions of the Software.
-*
-*
-*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*Contributors (in alphabetical order):
-*Gorka Benguria                                 Tecnalia
-*I�aki Etxaniz                                  Tecnalia
-*Juncal Alonso                                  Tecnalia
-*Leire Orue-Echevarria                          Tecnalia
-*Maria Jose Lopez                               Tecnalia
-*Marisa Escalante                               Tecnalia
-*
-*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-*****************************************************************************/
+/****************************************************************
+*Copyright (c) 2017 Tecnalia.
+*Licensed under MIT License (the "License");
+*Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is furnished 
+to do so, subject to the following conditions:
+*The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+*
+*
+*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*Contributors (in alphabetical order):
+*Gorka Benguria                                 Tecnalia
+*I�aki Etxaniz                                  Tecnalia
+*Juncal Alonso                                  Tecnalia
+*Leire Orue-Echevarria                          Tecnalia
+*Maria Jose Lopez                               Tecnalia
+*Marisa Escalante                               Tecnalia
+*
+*Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*****************************************************************************/
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerBuild b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerBuild
index 2a89b404bf1f14206d3fc43d6715e1d22be21311..e09f1ad8e5036497bacabd67439ef64daaf05b44 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerBuild
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerBuild
@@ -1,407 +1,407 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def sourcesRelativePath=null
-	def sourcesRepo=null
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentForceBuild=false
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-	Boolean currentForcePush=false
-				
-	try	{	
-		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
-		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def sourcesPath
-		def sourcesGitRepoPath
-		def sourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-		Boolean hasNewSources=false
-		Boolean requiresBuild=false
-		Boolean requiresPackage=false
-
-		Boolean hasDevopsPomPackaging=false
-		String devopsPomPackaging=""
-		Boolean hasPomPackaging=false
-		String pomPackaging=""
-		Boolean hasPomFile=false
-		String pomFile=""
-				
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-		String sourcesLastCommitFile
-        String sourcesLastChangedCommitFile
-
-		String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-		String devopsSourcesCurrentCommit
-		String sourcesLastCommit
-        String sourcesLastChangedCommit
-		String sourcesCurrentCommit
-		
-		String devopsSourcesDiffPreviousCommit
-		String sourcesLastDiffPreviousCommit
-		
-		String devopsImageLastSha256File
-		String devopsImageBuildResult
-		String devopsImageLastSha256=""
-		String devopsImageCurrentSha256=""
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def ForceBuild -> defaults to "false"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//def forcePush -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			if (hasSources) {
-				try{
-				    if (scmCredentials==null){ error "scm credentials empty"}
-				    hasCredentials=true;
-				} catch (err){
-				    println ("No scm credentials param")
-				}			
-				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
-				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
-			}
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
-			} catch (err){
-			    println ("forceBuild not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
-			try{
-			    currentForcePush=((forcePush=="true")||(forcePush==true))
-			} catch (err){
-			    println ("forcePush not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
-			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
-			if (hasSources){
-    		    sourcesPath=workspace+"/sources"
-	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
-			    sourcesGitRepoPath=workspace+"/sourcesRepo"
-				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
-			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
-				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
-        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
-	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
-                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
-	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
-			}
-		}		
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }
-        
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if(hasSources){
-		    stage ('Gather Sources'){
-		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
-    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
-		    }
-		}		
-		if(currentForceBuild||hasEmptyWorkspace){
-			hasNewDevopsSources=true
-			try{
-				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-			} catch (err){
-			}
-			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-			if (hasSources) {
-				hasNewSources=true
-				try{
-					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
-			}
-	        requiresBuild=true
-		}
-		else{
-    		stage ('Assess Built Need'){
-    		    sh "touch ${devopsSourcesLastCommitFile}" 
-    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-    			} catch (err){
-    			}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-    			if (devopsSourcesCurrentCommit!=''){
-    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-    			}
-    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-    		    	try{
-    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-    		    	} catch(err) {
-    		    	}
- 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
- 			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
- 		  				hasNewDevopsSources=true
-    		        	requiresBuild=true
- 			    	}
-			    }
-		        if (hasSources)
-		        {
-        		    sh "touch ${sourcesLastCommitFile}" 
-        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
-        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
-    		        try{
-    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
-        			} catch (err){
-        			}
-       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
-        			if (devopsSourcesCurrentCommit!=''){
-        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
-        			}
-        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
-                        sh "touch ${sourcesLastChangedCommitFile}" 
-                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
-                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
-                        if (sourcesLastChangedCommit=="")  {
-	    		    		sourcesDiffPreviousCommit="force"
-	    		    	}
-	    		    	else {
-	    		    		try{
-	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
-	    		    		} catch(err) {
-	    		    		}
-	    		    	}
-	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
-	 			    	if (sourcesDiffPreviousCommit!=""){
-                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
- 		  				    hasNewSources=true
-	    		        	requiresBuild=true
-	 			    	}
-        		    }
-		        }
-    		}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
-       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
-		
-        if(requiresBuild){
-            stage ('Prepare Build Variables'){
-                // Get the Maven tool.
-                // ** NOTE: This 'M3' Maven tool must be configured
-                // **       in the global configuration.
-                mvnHome = tool 'Maven 3.3.9 colocated'
-            }
-             if(hasNewDevopsSources){
-	            stage ('Devops Source Move'){
-	                  sh "rm -rf ${devopsSourcesPath}/src"	   
-	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            if(hasNewSources){
-	            stage ('Source Move'){
-                  sh "rm -rf ${sourcesPath}"	   
-                  sh "mkdir ${sourcesPath}"	   
-	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
-	            }
-            	stage ('Assess Sources Install Need'){          	
-					try {
-					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
-					} catch (err){
-					}
-	            	hasPomFile=(""!=pomFile)
- 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
-                }	            
-                if (hasPomFile){
-	                stage ('Source Maven Install'){
-	                 	try {
-	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
-	                 	} catch (err){
-	                 	}
-	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
-	                 	hasPomPackaging=(""!=pomPackaging)
-	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
-	 					if 	(hasPomPackaging){
-	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
-	 					} else {
-		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
-	 					}
-	                }
-                }
-            }
-            if(currentVerbose){
-                stage ('Variables Echo'){
-                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-                }
-            }
-            stage ('Assess Package/Install Need'){          	
-             	try {
-                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
-             	} catch (err){
-             	}
-	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
-                hasDevopsPomPackaging=(""!=devopsPomPackaging)
- 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
-            }           
-            if (hasDevopsPomPackaging){
-                stage ('Maven Devops Install'){
-                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }
-            } else {
-                stage ('Maven Devops Package'){
-                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-                }            
-            }
-            if (currentStopContainer){
-	            stage ('Docker Stop'){
-	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }
-            stage ('Docker Build Image'){
-                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
-            }
-        	if (!currentForcePush){
-			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
-			    sh "touch ${devopsImageLastSha256File}" 
-			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
-			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
-		        try{
-		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
-				} catch (err){
-				}			
-			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
-				if (devopsImageCurrentSha256!=''){
-					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
-				}
-			}
-			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
-	            stage ('Docker Push'){
-					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-	            }
-            }				
-			if (currentContinueTasks) {
-				stage('Launch Depending Tasks') {
-					int i=0;
-					for (i=0;i<dependingTasks.size();i++){
-						if (dependingTasks[i]!=""){
-			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-						}
-					}
-			    }
-			}            
-        }
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def sourcesRelativePath=null
+	def sourcesRepo=null
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentForceBuild=false
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+	Boolean currentForcePush=false
+				
+	try	{	
+		Boolean hasSources = (sourcesRelativePath!=null)&&(sourcesRepo!=null)
+		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def sourcesPath
+		def sourcesGitRepoPath
+		def sourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+		Boolean hasNewSources=false
+		Boolean requiresBuild=false
+		Boolean requiresPackage=false
+
+		Boolean hasDevopsPomPackaging=false
+		String devopsPomPackaging=""
+		Boolean hasPomPackaging=false
+		String pomPackaging=""
+		Boolean hasPomFile=false
+		String pomFile=""
+				
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+		String sourcesLastCommitFile
+        String sourcesLastChangedCommitFile
+
+		String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+		String devopsSourcesCurrentCommit
+		String sourcesLastCommit
+        String sourcesLastChangedCommit
+		String sourcesCurrentCommit
+		
+		String devopsSourcesDiffPreviousCommit
+		String sourcesLastDiffPreviousCommit
+		
+		String devopsImageLastSha256File
+		String devopsImageBuildResult
+		String devopsImageLastSha256=""
+		String devopsImageCurrentSha256=""
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def ForceBuild -> defaults to "false"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//def forcePush -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			if (hasSources) {
+				try{
+				    if (scmCredentials==null){ error "scm credentials empty"}
+				    hasCredentials=true;
+				} catch (err){
+				    println ("No scm credentials param")
+				}			
+				if (!hasCredentials){ error "No scm credentials to retrieve the source code" }				
+				if (currentVerbose) println ("scmCredentials = " + scmCredentials)
+			}
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentForceBuild=((forceBuild=="true")||(forceBuild==true))
+			} catch (err){
+			    println ("forceBuild not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceBuild = " + currentForceBuild)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)								
+			try{
+			    currentForcePush=((forcePush=="true")||(forcePush==true))
+			} catch (err){
+			    println ("forcePush not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForcePush = " + currentForcePush)				
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		    devopsImageLastSha256File=devopsSourcesPath+"/dkr.img.last.sha256"
+			if (currentVerbose) println ("devopsImageLastSha256File = " + devopsImageLastSha256File)
+			if (hasSources){
+    		    sourcesPath=workspace+"/sources"
+	    		if (currentVerbose) println ("sourcesPath = " + sourcesPath)				
+			    sourcesGitRepoPath=workspace+"/sourcesRepo"
+				if (currentVerbose) println ("sourcesGitRepoPath = " + sourcesGitRepoPath)	
+			    sourcesGitPath=sourcesGitRepoPath + "/" + sourcesRelativePath
+				if (currentVerbose) println ("sourcesGitPath = " + sourcesGitPath)
+        		sourcesLastCommitFile=devopsSourcesPath+"/src.last.commit"
+	    		if (currentVerbose) println ("sourcesLastCommitFile = " + sourcesLastCommitFile)
+                sourcesLastChangedCommitFile=devopsSourcesPath+"/src.last.changed.commit"
+	    		if (currentVerbose) println ("sourcesLastChangedCommitFile = " + sourcesLastChangedCommitFile)
+			}
+		}		
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }
+        
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if(hasSources){
+		    stage ('Gather Sources'){
+		        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: sourcesGitRepoPath], [$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: sourcesRelativePath]]]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: scmCredentials, url: sourcesRepo]]])
+    		    if (currentVerbose) println ("Sources checkout to " + sourcesPath)
+		    }
+		}		
+		if(currentForceBuild||hasEmptyWorkspace){
+			hasNewDevopsSources=true
+			try{
+				devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+			} catch (err){
+			}
+			sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+			if (hasSources) {
+				hasNewSources=true
+				try{
+					sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+			}
+	        requiresBuild=true
+		}
+		else{
+    		stage ('Assess Built Need'){
+    		    sh "touch ${devopsSourcesLastCommitFile}" 
+    		    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+    		    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+    			} catch (err){
+    			}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+    			if (devopsSourcesCurrentCommit!=''){
+    				sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+    			}
+    		    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+    		    	try{
+    		    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+    		    	} catch(err) {
+    		    	}
+ 			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+ 			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+ 		  				hasNewDevopsSources=true
+    		        	requiresBuild=true
+ 			    	}
+			    }
+		        if (hasSources)
+		        {
+        		    sh "touch ${sourcesLastCommitFile}" 
+        		    sourcesLastCommit = sh(returnStdout: true, script: "cat ${sourcesLastCommitFile}").trim()
+        		    if (currentVerbose) println ("sourcesLastCommit = " + sourcesLastCommit)
+    		        try{
+    		            sourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} rev-parse HEAD").trim()
+        			} catch (err){
+        			}
+       			    if (currentVerbose) println ("sourcesCurrentCommit = " + sourcesCurrentCommit)
+        			if (devopsSourcesCurrentCommit!=''){
+        				sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastCommitFile}"
+        			}
+        		    if (sourcesCurrentCommit!=sourcesLastCommit) {
+                        sh "touch ${sourcesLastChangedCommitFile}" 
+                        sourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${sourcesLastChangedCommitFile}").trim()
+                        if (currentVerbose) println ("sourcesLastChangedCommit = " + sourcesLastChangedCommit)
+                        if (sourcesLastChangedCommit=="")  {
+	    		    		sourcesDiffPreviousCommit="force"
+	    		    	}
+	    		    	else {
+	    		    		try{
+	    		    			sourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${sourcesGitRepoPath} diff HEAD:${sourcesRelativePath} ${sourcesLastChangedCommit}:${sourcesRelativePath}").trim()
+	    		    		} catch(err) {
+	    		    		}
+	    		    	}
+	 			    	if (currentVerbose) println ("sourcesDiffPreviousCommit = " + sourcesDiffPreviousCommit)
+	 			    	if (sourcesDiffPreviousCommit!=""){
+                            sh "echo \"${sourcesCurrentCommit}\" > ${sourcesLastChangedCommitFile}"
+ 		  				    hasNewSources=true
+	    		        	requiresBuild=true
+	 			    	}
+        		    }
+		        }
+    		}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+       	if (currentVerbose) println ("hasNewSources = " + hasNewSources)
+       	if (currentVerbose) println ("requiresBuild = " + requiresBuild)
+		
+        if(requiresBuild){
+            stage ('Prepare Build Variables'){
+                // Get the Maven tool.
+                // ** NOTE: This 'M3' Maven tool must be configured
+                // **       in the global configuration.
+                mvnHome = tool 'Maven 3.3.9 colocated'
+            }
+             if(hasNewDevopsSources){
+	            stage ('Devops Source Move'){
+	                  sh "rm -rf ${devopsSourcesPath}/src"	   
+	                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+	                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+	                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            if(hasNewSources){
+	            stage ('Source Move'){
+                  sh "rm -rf ${sourcesPath}"	   
+                  sh "mkdir ${sourcesPath}"	   
+	              sh "mv ${sourcesGitPath}/* ${sourcesPath}"
+	            }
+            	stage ('Assess Sources Install Need'){          	
+					try {
+					    pomFile=sh(returnStdout: true, script: "ls ${sourcesPath}/pom.xml 2>/dev/null").trim()
+					} catch (err){
+					}
+	            	hasPomFile=(""!=pomFile)
+ 					if (currentVerbose) println ("hasPomFile = " + hasPomFile)
+                }	            
+                if (hasPomFile){
+	                stage ('Source Maven Install'){
+	                 	try {
+	                 		pomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${sourcesPath}/pom.xm").trim()
+	                 	} catch (err){
+	                 	}
+	 					if (currentVerbose) println ("pomPackaging = " + pomPackaging)				
+	                 	hasPomPackaging=(""!=pomPackaging)
+	 					if (currentVerbose) println ("hasPomPackaging = " + hasPomPackaging)
+	 					if 	(hasPomPackaging){
+	                    	sh "'${mvnHome}/bin/mvn' install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"
+	 					} else {
+		                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${sourcesPath}/pom.xml"				
+	 					}
+	                }
+                }
+            }
+            if(currentVerbose){
+                stage ('Variables Echo'){
+                	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                    sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+                }
+            }
+            stage ('Assess Package/Install Need'){          	
+             	try {
+                	devopsPomPackaging=sh(returnStdout: true, script: "grep '<packaging>.*pom.*</packaging>' ${devopsSourcesPath}/pom.xml").trim()
+             	} catch (err){
+             	}
+	 			if (currentVerbose) println ("devopsPomPackaging = " + devopsPomPackaging)				
+                hasDevopsPomPackaging=(""!=devopsPomPackaging)
+ 				if (currentVerbose) println ("hasDevopsPomPackaging = " + hasDevopsPomPackaging)				
+            }           
+            if (hasDevopsPomPackaging){
+                stage ('Maven Devops Install'){
+                    sh "'${mvnHome}/bin/mvn' clean package install:install --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }
+            } else {
+                stage ('Maven Devops Package'){
+                    sh "'${mvnHome}/bin/mvn' clean package --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+                }            
+            }
+            if (currentStopContainer){
+	            stage ('Docker Stop'){
+	                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }
+            stage ('Docker Build Image'){
+                devopsImageBuildResult = sh(returnStdout: true, script: "'${mvnHome}/bin/mvn' docker:build --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml").trim()                
+            }
+        	if (!currentForcePush){
+			    if (currentVerbose) println ("devopsImageBuildResult = " + devopsImageBuildResult)
+			    sh "touch ${devopsImageLastSha256File}" 
+			    devopsImageLastSha256 = sh(returnStdout: true, script: "cat ${devopsImageLastSha256File}").trim()
+			    if (currentVerbose) println ("devopsImageLastSha256 = " + devopsImageLastSha256)
+		        try{
+		            devopsImageCurrentSha256 = (devopsImageBuildResult =~ /Built image sha256:(.*)\n/)[0][1]
+				} catch (err){
+				}			
+			    if (currentVerbose) println ("devopsImageCurrentSha256 = " + devopsImageCurrentSha256)
+				if (devopsImageCurrentSha256!=''){
+					sh "echo \"${devopsImageCurrentSha256}\" > ${devopsImageLastSha256File}"			
+				}
+			}
+			if (currentForcePush||(devopsImageLastSha256!=devopsImageCurrentSha256)){            	   	   	   
+	            stage ('Docker Push'){
+					sh "'${mvnHome}/bin/mvn' docker:push --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+	            }
+            }				
+			if (currentContinueTasks) {
+				stage('Launch Depending Tasks') {
+					int i=0;
+					for (i=0;i<dependingTasks.size();i++){
+						if (dependingTasks[i]!=""){
+			    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+			    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+			    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+						}
+					}
+			    }
+			}            
+        }
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerRunService b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerRunService
index 277c1e44354af83189a24cfbbf0701d72bf1ee46..debbafa030c2fa810949f60418ec85891017de41 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerRunService
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/JenkinsfileDockerRunService
@@ -1,209 +1,209 @@
-#!groovy
-//http://groovy-lang.org/semantics.html
-
-node {	
-	//Required constants
-    currentBuild.result = "SUCCESS"
-	//Provided vars
-	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp'
-	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
-	def dependingTasks=[
-	"",
-	""
-	]
-	//Params defaults
-	Boolean currentVerbose=false
-	Boolean hasCredentials=false
-	Boolean currentContinueTasks=true
-	Boolean currentStopContainer=true
-	Boolean currentForceClear=false
-	Boolean currentClearOnFail=false
-				
-	try	{		
-		//Computed vars
-		def devopsSourcesPath
-		def devopsSourcesGitRepoPath
-		def devopsSourcesGitPath
-		def workspace
-		def jenkinsWorkspace
-		
-		Boolean hasEmptyWorkspace=false
-		String workspaceContent=""
-
-		Boolean hasNewDevopsSources=false
-
-		String devopsSourcesLastCommitFile
-        String devopsSourcesLastChangedCommitFile
-
-		String devopsSourcesDiffPreviousCommit
-		String devopsSourcesCurrentCommit
-        String devopsSourcesLastCommit
-        String devopsSourcesLastChangedCommit
-
-		String mvnHome;
-		
-		stage ('Params Processing'){
-			//def verbose -> defaults to "false"
-			//def scmCredentials -> defaults to undefined
-			//def continueTasks -> defaults to "true"
-			//def stopContainer -> defaults to "true"
-			//def forceClear -> defaults to "false"
-			//def clearOnFail -> defaults to "false"
-			//WARNING JENKINS SEND BOOLEANS AS STRING
-			try{
-			    currentVerbose=((verbose=="true")||(verbose==true))
-			} catch (err){
-			    println ("verbosity not provided defaults to false")
-			}
-			if (currentVerbose) println ("verbose = " + currentVerbose)
-			try{
-			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
-			} catch (err){
-			    println ("clearOnFail not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
-			try{
-			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
-			} catch (err){
-			    println ("continueTasks not provided defaults to true")
-			}
-			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
-			try{
-			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
-			} catch (err){
-			    println ("stopContainer not provided defaults to true")
-			}
-			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
-			try{
-			    currentForceClear=((forceClear=="true")||(forceClear==true))
-			} catch (err){
-			    println ("forceClear not provided defaults to false")
-			}
-			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
-		}
-		if (currentForceClear){
-			stage ('Forced Clear'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}
-		stage ('Calculate Variables'){
-		    workspace=WORKSPACE
-			if (currentVerbose) println ("workspace = " + workspace)						    
-		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
-			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
-		    devopsSourcesPath=workspace
-			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
-		    devopsSourcesGitRepoPath=jenkinsWorkspace
-			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
-		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
-			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
-		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
-			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
-            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
-			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
-		}
-		try {
-            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
-        } catch (err){
-        }       
-        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
-		hasEmptyWorkspace=(""==workspaceContent)
-        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
-		if (hasEmptyWorkspace) {
-			hasNewDevopsSources=true
-		} else {
-			stage ('Assess New Sources'){
-			    sh "touch ${devopsSourcesLastCommitFile}" 
-			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
-			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
-		        try{
-		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
-				} catch (err){
-				}
-			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
-				if (devopsSourcesCurrentCommit!=''){
-					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
-				}
-			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
-                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
-                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
-                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
-                    if (devopsSourcesLastChangedCommit=="")  {
-	    	    		devopsSourcesDiffPreviousCommit="force"
-	    	    	}
-	    	    	else {
-	    	    		try{
-	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-	    	    		} catch(err) {
-	    	    		}
-	    	    	}
-			    	try{
-			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
-			    	} catch(err) {
-			    	}
-			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
-			    	if (devopsSourcesDiffPreviousCommit!=""){
-                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
-		  				hasNewDevopsSources=true
-			    	}
-			    }
-			}
-		}
-       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
-		
-        stage ('Prepare Variables'){
-            // Get the Maven tool.
-            // ** NOTE: This 'M3' Maven tool must be configured
-            // **       in the global configuration.
-            mvnHome = tool 'Maven 3.3.9 colocated'
-        }
-         if(hasNewDevopsSources){
-            stage ('Devops Source Move'){
-                  sh "rm -rf ${devopsSourcesPath}/src"	   
-                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
-                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
-                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if(currentVerbose){
-            stage ('Variables Echo'){
-            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
-                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        if (currentStopContainer){
-            stage ('Docker Stop'){
-                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-            }
-        }
-        stage ('Docker Start'){
-            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
-        }
-  		if (currentContinueTasks) {
-			stage('Launch Depending Tasks') {
-				int i=0;
-				for (i=0;i<dependingTasks.size();i++){
-					if (dependingTasks[i]!=""){
-		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
-		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
-		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
-					}
-				}
-		    }
-		}            
-	} catch (err) {
-	    currentBuild.result = "FAILURE"
-		emailext (
-			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
-			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
-			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
-		)
-		if (currentClearOnFail){
-			stage ('Clear on Fail'){
-            	sh "rm -rf ${WORKSPACE}/src"	   			
-			}
-		}		
-	    throw err
-	}
+#!groovy
+//http://groovy-lang.org/semantics.html
+
+node {	
+	//Required constants
+    currentBuild.result = "SUCCESS"
+	//Provided vars
+	def devopsSourcesRelativePath = 'Adapt_monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp'
+	def devopsSourcesRepo = 'https://git.code.tecnalia.com/decide/WP4.git'
+	def dependingTasks=[
+	"",
+	""
+	]
+	//Params defaults
+	Boolean currentVerbose=false
+	Boolean hasCredentials=false
+	Boolean currentContinueTasks=true
+	Boolean currentStopContainer=true
+	Boolean currentForceClear=false
+	Boolean currentClearOnFail=false
+				
+	try	{		
+		//Computed vars
+		def devopsSourcesPath
+		def devopsSourcesGitRepoPath
+		def devopsSourcesGitPath
+		def workspace
+		def jenkinsWorkspace
+		
+		Boolean hasEmptyWorkspace=false
+		String workspaceContent=""
+
+		Boolean hasNewDevopsSources=false
+
+		String devopsSourcesLastCommitFile
+        String devopsSourcesLastChangedCommitFile
+
+		String devopsSourcesDiffPreviousCommit
+		String devopsSourcesCurrentCommit
+        String devopsSourcesLastCommit
+        String devopsSourcesLastChangedCommit
+
+		String mvnHome;
+		
+		stage ('Params Processing'){
+			//def verbose -> defaults to "false"
+			//def scmCredentials -> defaults to undefined
+			//def continueTasks -> defaults to "true"
+			//def stopContainer -> defaults to "true"
+			//def forceClear -> defaults to "false"
+			//def clearOnFail -> defaults to "false"
+			//WARNING JENKINS SEND BOOLEANS AS STRING
+			try{
+			    currentVerbose=((verbose=="true")||(verbose==true))
+			} catch (err){
+			    println ("verbosity not provided defaults to false")
+			}
+			if (currentVerbose) println ("verbose = " + currentVerbose)
+			try{
+			    currentClearOnFail=((clearOnFail=="true")||(clearOnFail==true))
+			} catch (err){
+			    println ("clearOnFail not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentClearOnFail = " + currentClearOnFail)											
+			try{
+			    currentContinueTasks=((continueTasks=="true")||(continueTasks==true))
+			} catch (err){
+			    println ("continueTasks not provided defaults to true")
+			}
+			if (currentVerbose) println ("continueTasks = " + currentContinueTasks)							
+			try{
+			    currentStopContainer=((stopContainer=="true")||(stopContainer==true))
+			} catch (err){
+			    println ("stopContainer not provided defaults to true")
+			}
+			if (currentVerbose) println ("currentStopContainer = " + currentStopContainer)				
+			try{
+			    currentForceClear=((forceClear=="true")||(forceClear==true))
+			} catch (err){
+			    println ("forceClear not provided defaults to false")
+			}
+			if (currentVerbose) println ("currentForceClear = " + currentForceClear)											
+		}
+		if (currentForceClear){
+			stage ('Forced Clear'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}
+		stage ('Calculate Variables'){
+		    workspace=WORKSPACE
+			if (currentVerbose) println ("workspace = " + workspace)						    
+		    jenkinsWorkspace=WORKSPACE+"/../workspace\\@script"
+			if (currentVerbose) println ("jenkinsWorkspace = " + jenkinsWorkspace)				
+		    devopsSourcesPath=workspace
+			if (currentVerbose) println ("devopsSourcesPath = " + devopsSourcesPath)			
+		    devopsSourcesGitRepoPath=jenkinsWorkspace
+			if (currentVerbose) println ("devopsSourcesGitRepoPath = " + devopsSourcesGitRepoPath)
+		    devopsSourcesGitPath=devopsSourcesGitRepoPath + "/" + devopsSourcesRelativePath
+			if (currentVerbose) println ("devopsSourcesGitPath = " + devopsSourcesGitPath)
+		    devopsSourcesLastCommitFile=devopsSourcesPath+"/src.dvp.last.commit"
+			if (currentVerbose) println ("devopsSourcesLastCommitFile = " + devopsSourcesLastCommitFile)
+            devopsSourcesLastChangedCommitFile=devopsSourcesPath+"/src.dvp.last.changed.commit"
+			if (currentVerbose) println ("devopsSourcesLastChangedCommitFile = " + devopsSourcesLastChangedCommitFile)
+		}
+		try {
+            workspaceContent=sh(returnStdout: true, script: "ls ${workspace} 2>/dev/null").trim()
+        } catch (err){
+        }       
+        if (currentVerbose) println ("workspaceContent = " + workspaceContent)
+		hasEmptyWorkspace=(""==workspaceContent)
+        if (currentVerbose) println ("hasEmptyWorkspace = " + hasEmptyWorkspace)
+		if (hasEmptyWorkspace) {
+			hasNewDevopsSources=true
+		} else {
+			stage ('Assess New Sources'){
+			    sh "touch ${devopsSourcesLastCommitFile}" 
+			    devopsSourcesLastCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastCommitFile}").trim()
+			    if (currentVerbose) println ("devopsSourcesLastCommit = " + devopsSourcesLastCommit)
+		        try{
+		            devopsSourcesCurrentCommit = sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} rev-parse HEAD").trim()
+				} catch (err){
+				}
+			    if (currentVerbose) println ("devopsSourcesCurrentCommit = " + devopsSourcesCurrentCommit)
+				if (devopsSourcesCurrentCommit!=''){
+					sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastCommitFile}"
+				}
+			    if (devopsSourcesCurrentCommit!=devopsSourcesLastCommit) {
+                    sh "touch ${devopsSourcesLastChangedCommitFile}" 
+                    devopsSourcesLastChangedCommit = sh(returnStdout: true, script: "cat ${devopsSourcesLastChangedCommitFile}").trim()
+                    if (currentVerbose) println ("devopsSourcesLastChangedCommit = " + devopsSourcesLastChangedCommit)
+                    if (devopsSourcesLastChangedCommit=="")  {
+	    	    		devopsSourcesDiffPreviousCommit="force"
+	    	    	}
+	    	    	else {
+	    	    		try{
+	    	    			devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+	    	    		} catch(err) {
+	    	    		}
+	    	    	}
+			    	try{
+			    		devopsSourcesDiffPreviousCommit=sh(returnStdout: true, script: "git -C ${devopsSourcesGitRepoPath} diff HEAD:${devopsSourcesRelativePath} ${devopsSourcesLastChangedCommit}:${devopsSourcesRelativePath}").trim()
+			    	} catch(err) {
+			    	}
+			    	if (currentVerbose) println ("devopsSourcesDiffPreviousCommit = " + devopsSourcesDiffPreviousCommit)
+			    	if (devopsSourcesDiffPreviousCommit!=""){
+                        sh "echo \"${devopsSourcesCurrentCommit}\" > ${devopsSourcesLastChangedCommitFile}"
+		  				hasNewDevopsSources=true
+			    	}
+			    }
+			}
+		}
+       	if (currentVerbose) println ("hasNewDevopsSources = " + hasNewDevopsSources)
+		
+        stage ('Prepare Variables'){
+            // Get the Maven tool.
+            // ** NOTE: This 'M3' Maven tool must be configured
+            // **       in the global configuration.
+            mvnHome = tool 'Maven 3.3.9 colocated'
+        }
+         if(hasNewDevopsSources){
+            stage ('Devops Source Move'){
+                  sh "rm -rf ${devopsSourcesPath}/src"	   
+                  sh "mv ${devopsSourcesGitPath}/src ${devopsSourcesPath}"	   
+                  sh "rm -rf ${devopsSourcesPath}/pom.xml"	   
+                  sh "mv ${devopsSourcesGitPath}/pom.xml ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if(currentVerbose){
+            stage ('Variables Echo'){
+            	sh "'${mvnHome}/bin/mvn' antrun:run@echobase -f ${devopsSourcesPath}/pom.xml"
+                sh "'${mvnHome}/bin/mvn' antrun:run@echo -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        if (currentStopContainer){
+            stage ('Docker Stop'){
+                sh "'${mvnHome}/bin/mvn' docker:stop --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+            }
+        }
+        stage ('Docker Start'){
+            sh "'${mvnHome}/bin/mvn' docker:start --non-recursive -Dmaven.test.skip=true -f ${devopsSourcesPath}/pom.xml"
+        }
+  		if (currentContinueTasks) {
+			stage('Launch Depending Tasks') {
+				int i=0;
+				for (i=0;i<dependingTasks.size();i++){
+					if (dependingTasks[i]!=""){
+		    			//build job: 'eu.decideh2020.int.adapt.monitoring.jnk.tsk.build.images', wait: false
+		    			if (currentVerbose) println ("starting job " + dependingTasks[i])
+		    			build job: dependingTasks[i], wait: false, parameters: [booleanParam(name: 'stopContainer', value: false)]
+					}
+				}
+		    }
+		}            
+	} catch (err) {
+	    currentBuild.result = "FAILURE"
+		emailext (
+			subject: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
+			body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
+			<p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
+			recipientProviders: [[$class: 'DevelopersRecipientProvider']]
+		)
+		if (currentClearOnFail){
+			stage ('Clear on Fail'){
+            	sh "rm -rf ${WORKSPACE}/src"	   			
+			}
+		}		
+	    throw err
+	}
 }
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/pom.xml b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/pom.xml
index af5e77d5e0daab6d0541d0930073ca4e7744fd22..12e28bc048fa6c6818358c03ee8c2d20e698b2be 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/pom.xml
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/pom.xml
@@ -1,75 +1,75 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>eu.decideh2020.int.adapt.sockshop</groupId>
-		<artifactId>eu.decideh2020.int.adapt.sockshop.src.dvp</artifactId>
-		<version>ALPHA</version>
-	</parent>
-	<artifactId>eu.decideh2020.int.adapt.sockshop.src.dvp.vagrant.server</artifactId>
-	<packaging>pom</packaging>
-	<build>
-		<plugins>
-			<!-- We check the value of some properties values -->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<version>1.1</version>
-				<executions>
-					<execution>
-						<id>echo</id>
-						<phase>initialize</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<tasks>
-								<echo>Displaying values of properties</echo>
-								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
-								<echo>[docker.image.name]=${docker.image.name}</echo>
-								<echo>[docker.image.version]=${docker.image.version}</echo>
-								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
-							</tasks>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<!-- added to support docker image creation -->
-			<plugin>
-				<groupId>org.jolokia</groupId>
-				<artifactId>docker-maven-plugin</artifactId>
-				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
-				<version>0.13.9</version>
-				<configuration>
-					<images>
-						<image>
-							<alias>${docker.name}</alias>
-							<name>${docker.image.name}:${docker.image.version}</name>
-							<build>
-								<assembly>
-									<!-- this time we will do it from a docker file element is needed 
-										to switch the usage of the extrenal file -->
-									<dockerFileDir>.</dockerFileDir>
-									<!-- end -->
-								</assembly>
-							</build>
-							<run>
-								<namingStrategy>alias</namingStrategy>
-								<ports>
-									<port>${docker.port1.mapping}</port>
-								</ports>
-							</run>
-						</image>
-					</images>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-	<properties>
-		<docker.name>eu.decideh2020.vagrant.server</docker.name>
-		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
-		<docker.image.version>${project.version}</docker.image.version>
-		<docker.port1.external>${eu.decideh2020.vagrant.port}</docker.port1.external>
-		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
-	</properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>eu.decideh2020.int.adapt.sockshop</groupId>
+		<artifactId>eu.decideh2020.int.adapt.sockshop.src.dvp</artifactId>
+		<version>ALPHA</version>
+	</parent>
+	<artifactId>eu.decideh2020.int.adapt.sockshop.src.dvp.vagrant.server</artifactId>
+	<packaging>pom</packaging>
+	<build>
+		<plugins>
+			<!-- We check the value of some properties values -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.1</version>
+				<executions>
+					<execution>
+						<id>echo</id>
+						<phase>initialize</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<tasks>
+								<echo>Displaying values of properties</echo>
+								<echo>[project.build.sourceDirectory]=${project.build.sourceDirectory}</echo>
+								<echo>[docker.image.name]=${docker.image.name}</echo>
+								<echo>[docker.image.version]=${docker.image.version}</echo>
+								<echo>[docker.port1.mapping]=${docker.port1.mapping}</echo>
+							</tasks>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<!-- added to support docker image creation -->
+			<plugin>
+				<groupId>org.jolokia</groupId>
+				<artifactId>docker-maven-plugin</artifactId>
+				<!-- last version in https://mvnrepository.com/artifact/org.jolokia/docker-maven-plugin -->
+				<version>0.13.9</version>
+				<configuration>
+					<images>
+						<image>
+							<alias>${docker.name}</alias>
+							<name>${docker.image.name}:${docker.image.version}</name>
+							<build>
+								<assembly>
+									<!-- this time we will do it from a docker file element is needed 
+										to switch the usage of the extrenal file -->
+									<dockerFileDir>.</dockerFileDir>
+									<!-- end -->
+								</assembly>
+							</build>
+							<run>
+								<namingStrategy>alias</namingStrategy>
+								<ports>
+									<port>${docker.port1.mapping}</port>
+								</ports>
+							</run>
+						</image>
+					</images>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<properties>
+		<docker.name>eu.decideh2020.vagrant.server</docker.name>
+		<docker.image.name>${docker.registry.name}${docker.submitter}/${docker.name}</docker.image.name>
+		<docker.image.version>${project.version}</docker.image.version>
+		<docker.port1.external>${eu.decideh2020.vagrant.port}</docker.port1.external>
+		<docker.port1.mapping>${docker.port1.external}:3000</docker.port1.mapping>
+	</properties>
 </project>
\ No newline at end of file
diff --git a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
index 94eabab23b4714d1e3f2748157cc214f62ea32f5..eedaf4011c0acede6776ea106330f6baa763c7d8 100644
--- a/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
+++ b/ADAPT/Monitoring/eu.decideh2020.int.adapt.sockshop.vagrant.server.src.dvp/src/main/vagrant/Vagrantfile
@@ -1,154 +1,154 @@
-#http://ricostacruz.com/cheatsheets/vagrantfile.html
-
-Vagrant.configure("2") do |config|
-  # All Vagrant configuration is done here. The most common configuration
-  # options are documented and commented below. For a complete reference,
-  # please see the online documentation at vagrantup.com.
-
-  # Every Vagrant virtual environment requires a box to build off of.
-  config.vm.box = "ubuntu/xenial64"
-  
-  # This resizes the first hard drive it requires the vagrant-disksize plugin to be 
-  # installed https://github.com/sprotheroe/vagrant-disksize
-  # config.disksize.size = '50GB'
-
-  # The url from where the 'config.vm.box' box will be fetched if it
-  # doesn't already exist on the user's system.
-  # config.vm.box_url = "http://domain.com/path/to/above.box"
-
-  # Create a forwarded port mapping which allows access to a specific port
-  # within the machine from a port on the host machine. In the example below,
-  # accessing "localhost:8080" will access port 80 on the guest machine.
-  # config.vm.network :forwarded_port, guest: 80, host: 8080
-
-  # Create a private network, which allows host-only access to the machine
-  # using a specific IP.
-  # config.vm.network :private_network, ip: "192.168.33.10"
-
-  # Create a public network, which generally matched to bridged network.
-  # Bridged networks make the machine appear as another physical device on
-  # your network.
-  config.vm.network :public_network
-
-  # If true, then any SSH connections made will enable agent forwarding.
-  # Default value: false
-  # config.ssh.forward_agent = true
-
-  # Share an additional folder to the guest VM. The first argument is
-  # the path on the host to the actual folder. The second argument is
-  # the path on the guest to mount the folder. And the optional third
-  # argument is a set of non-required options.
-  # config.vm.synced_folder "../data", "/vagrant_data"
-
-  # Provider-specific configuration so you can fine-tune various
-  # backing providers for Vagrant. These expose provider-specific options.
-  # Example for VirtualBox:
-  #
-  # config.vm.provider :virtualbox do |vb|
-  #   # Don't boot with headless mode
-  #   vb.gui = true
-  #
-  #   # Use VBoxManage to customize the VM. For example to change memory:
-  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
-  # end
-  #
-  # View the documentation for the provider you're using for more
-  # information on available options.
-  
-  config.vm.provider "virtualbox" do |vb|
-  #   # Display the VirtualBox GUI when booting the machine
-      vb.gui = true
-  #   # Customize the amount of memory on the VM:
-      vb.customize ["modifyvm", :id, "--memory", 4096]
-  end
-
-##-- IEE: Insertado para instalar Sock Shop Demo App
-## Lineas comentadas, SUPONGO NO HACE FALTA
-## Plugins
-## unless Vagrant.has_plugin?("vagrant-hostsupdater")
-  ## raise 'Missing vagrant-docker-compose plugin! Make sure to install it by `vagrant plugin install vagrant-hostsupdater`.'
-## end
-unless Vagrant.has_plugin?("vagrant-docker-compose")
-  raise 'Missing vagrant-docker-compose plugin! Make sure to install it by `vagrant plugin install vagrant-docker-compose`.'
-end
-
-# Mapeo de folders (para encontrar docker-compose.yml) 
-config.vm.synced_folder "../../../../../../microservices-demo/deploy/docker-compose", "/docker-compose"
-# Mapeo puertos (para poder ver la web Sock Shop desde local)
-config.vm.network :forwarded_port, guest: 10080, host: 80
-
-  config.vm.provision "docker" do |d|
-  end
-  
-  ## config.vm.provision :docker
-  config.vm.provision :docker_compose,
-    ## compose_version: "1.5.0",				# No especificar versión
-    ## executable: "/home/core/docker-compose", # Specifying 'executable' option to avoid CoreOS restriction
-    yml: "/docker-compose/docker-compose.yml",  # Sería "/vagrant/docker-compose.yml" si se deja el fichero al lado del Vagrantfile, sin mapeos
-    rebuild: false,
-    run: "always"
-##-- Fin: Insertado para instalar Sock Shop Demo App
-
-  
-  # Enable provisioning with Puppet stand alone.  Puppet manifests
-  # are contained in a directory path relative to this Vagrantfile.
-  # You will need to create the manifests directory and a manifest in
-  # the file precise64.pp in the manifests_path directory.
-  #
-  # An example Puppet manifest to provision the message of the day:
-  #
-  # # group { "puppet":
-  # #   ensure => "present",
-  # # }
-  # #
-  # # File { owner => 0, group => 0, mode => 0644 }
-  # #
-  # # file { '/etc/motd':
-  # #   content => "Welcome to your Vagrant-built virtual machine!
-  # #               Managed by Puppet.\n"
-  # # }
-  #
-  # config.vm.provision :puppet do |puppet|
-  #   puppet.manifests_path = "manifests"
-  #   puppet.manifest_file  = "init.pp"
-  # end
-
-  # Enable provisioning with chef solo, specifying a cookbooks path, roles
-  # path, and data_bags path (all relative to this Vagrantfile), and adding
-  # some recipes and/or roles.
-  #
-  # config.vm.provision :chef_solo do |chef|
-  #   chef.cookbooks_path = "../my-recipes/cookbooks"
-  #   chef.roles_path = "../my-recipes/roles"
-  #   chef.data_bags_path = "../my-recipes/data_bags"
-  #   chef.add_recipe "mysql"
-  #   chef.add_role "web"
-  #
-  #   # You may also specify custom JSON attributes:
-  #   chef.json = { :mysql_password => "foo" }
-  # end
-
-  # Enable provisioning with chef server, specifying the chef server URL,
-  # and the path to the validation key (relative to this Vagrantfile).
-  #
-  # The Opscode Platform uses HTTPS. Substitute your organization for
-  # ORGNAME in the URL and validation key.
-  #
-  # If you have your own Chef Server, use the appropriate URL, which may be
-  # HTTP instead of HTTPS depending on your configuration. Also change the
-  # validation key to validation.pem.
-  #
-  # config.vm.provision :chef_client do |chef|
-  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
-  #   chef.validation_key_path = "ORGNAME-validator.pem"
-  # end
-  #
-  # If you're using the Opscode platform, your validator client is
-  # ORGNAME-validator, replacing ORGNAME with your organization name.
-  #
-  # If you have your own Chef Server, the default validation client name is
-  # chef-validator, unless you changed the configuration.
-  #
-  #   chef.validation_client_name = "ORGNAME-validator"
-end
-
+#http://ricostacruz.com/cheatsheets/vagrantfile.html
+
+Vagrant.configure("2") do |config|
+  # All Vagrant configuration is done here. The most common configuration
+  # options are documented and commented below. For a complete reference,
+  # please see the online documentation at vagrantup.com.
+
+  # Every Vagrant virtual environment requires a box to build off of.
+  config.vm.box = "ubuntu/xenial64"
+  
+  # This resizes the first hard drive it requires the vagrant-disksize plugin to be 
+  # installed https://github.com/sprotheroe/vagrant-disksize
+  # config.disksize.size = '50GB'
+
+  # The url from where the 'config.vm.box' box will be fetched if it
+  # doesn't already exist on the user's system.
+  # config.vm.box_url = "http://domain.com/path/to/above.box"
+
+  # Create a forwarded port mapping which allows access to a specific port
+  # within the machine from a port on the host machine. In the example below,
+  # accessing "localhost:8080" will access port 80 on the guest machine.
+  # config.vm.network :forwarded_port, guest: 80, host: 8080
+
+  # Create a private network, which allows host-only access to the machine
+  # using a specific IP.
+  # config.vm.network :private_network, ip: "192.168.33.10"
+
+  # Create a public network, which generally matched to bridged network.
+  # Bridged networks make the machine appear as another physical device on
+  # your network.
+  config.vm.network :public_network
+
+  # If true, then any SSH connections made will enable agent forwarding.
+  # Default value: false
+  # config.ssh.forward_agent = true
+
+  # Share an additional folder to the guest VM. The first argument is
+  # the path on the host to the actual folder. The second argument is
+  # the path on the guest to mount the folder. And the optional third
+  # argument is a set of non-required options.
+  # config.vm.synced_folder "../data", "/vagrant_data"
+
+  # Provider-specific configuration so you can fine-tune various
+  # backing providers for Vagrant. These expose provider-specific options.
+  # Example for VirtualBox:
+  #
+  # config.vm.provider :virtualbox do |vb|
+  #   # Don't boot with headless mode
+  #   vb.gui = true
+  #
+  #   # Use VBoxManage to customize the VM. For example to change memory:
+  #   vb.customize ["modifyvm", :id, "--memory", "1024"]
+  # end
+  #
+  # View the documentation for the provider you're using for more
+  # information on available options.
+  
+  config.vm.provider "virtualbox" do |vb|
+  #   # Display the VirtualBox GUI when booting the machine
+      vb.gui = true
+  #   # Customize the amount of memory on the VM:
+      vb.customize ["modifyvm", :id, "--memory", 4096]
+  end
+
+##-- IEE: Insertado para instalar Sock Shop Demo App
+## Lineas comentadas, SUPONGO NO HACE FALTA
+## Plugins
+## unless Vagrant.has_plugin?("vagrant-hostsupdater")
+  ## raise 'Missing vagrant-docker-compose plugin! Make sure to install it by `vagrant plugin install vagrant-hostsupdater`.'
+## end
+unless Vagrant.has_plugin?("vagrant-docker-compose")
+  raise 'Missing vagrant-docker-compose plugin! Make sure to install it by `vagrant plugin install vagrant-docker-compose`.'
+end
+
+# Mapeo de folders (para encontrar docker-compose.yml) 
+config.vm.synced_folder "../../../../../../microservices-demo/deploy/docker-compose", "/docker-compose"
+# Mapeo puertos (para poder ver la web Sock Shop desde local)
+config.vm.network :forwarded_port, guest: 10080, host: 80
+
+  config.vm.provision "docker" do |d|
+  end
+  
+  ## config.vm.provision :docker
+  config.vm.provision :docker_compose,
+    ## compose_version: "1.5.0",				# No especificar versión
+    ## executable: "/home/core/docker-compose", # Specifying 'executable' option to avoid CoreOS restriction
+    yml: "/docker-compose/docker-compose.yml",  # Sería "/vagrant/docker-compose.yml" si se deja el fichero al lado del Vagrantfile, sin mapeos
+    rebuild: false,
+    run: "always"
+##-- Fin: Insertado para instalar Sock Shop Demo App
+
+  
+  # Enable provisioning with Puppet stand alone.  Puppet manifests
+  # are contained in a directory path relative to this Vagrantfile.
+  # You will need to create the manifests directory and a manifest in
+  # the file precise64.pp in the manifests_path directory.
+  #
+  # An example Puppet manifest to provision the message of the day:
+  #
+  # # group { "puppet":
+  # #   ensure => "present",
+  # # }
+  # #
+  # # File { owner => 0, group => 0, mode => 0644 }
+  # #
+  # # file { '/etc/motd':
+  # #   content => "Welcome to your Vagrant-built virtual machine!
+  # #               Managed by Puppet.\n"
+  # # }
+  #
+  # config.vm.provision :puppet do |puppet|
+  #   puppet.manifests_path = "manifests"
+  #   puppet.manifest_file  = "init.pp"
+  # end
+
+  # Enable provisioning with chef solo, specifying a cookbooks path, roles
+  # path, and data_bags path (all relative to this Vagrantfile), and adding
+  # some recipes and/or roles.
+  #
+  # config.vm.provision :chef_solo do |chef|
+  #   chef.cookbooks_path = "../my-recipes/cookbooks"
+  #   chef.roles_path = "../my-recipes/roles"
+  #   chef.data_bags_path = "../my-recipes/data_bags"
+  #   chef.add_recipe "mysql"
+  #   chef.add_role "web"
+  #
+  #   # You may also specify custom JSON attributes:
+  #   chef.json = { :mysql_password => "foo" }
+  # end
+
+  # Enable provisioning with chef server, specifying the chef server URL,
+  # and the path to the validation key (relative to this Vagrantfile).
+  #
+  # The Opscode Platform uses HTTPS. Substitute your organization for
+  # ORGNAME in the URL and validation key.
+  #
+  # If you have your own Chef Server, use the appropriate URL, which may be
+  # HTTP instead of HTTPS depending on your configuration. Also change the
+  # validation key to validation.pem.
+  #
+  # config.vm.provision :chef_client do |chef|
+  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
+  #   chef.validation_key_path = "ORGNAME-validator.pem"
+  # end
+  #
+  # If you're using the Opscode platform, your validator client is
+  # ORGNAME-validator, replacing ORGNAME with your organization name.
+  #
+  # If you have your own Chef Server, the default validation client name is
+  # chef-validator, unless you changed the configuration.
+  #
+  #   chef.validation_client_name = "ORGNAME-validator"
+end
+
diff --git a/ADAPT/test/.gitkeep b/ADAPT/test/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/ADAPT/test/DECIDE.json b/ADAPT/test/DECIDE.json
deleted file mode 100644
index 58285f8a89abc32d0d7c3c363e03e5edfa36fe30..0000000000000000000000000000000000000000
--- a/ADAPT/test/DECIDE.json
+++ /dev/null
@@ -1,952 +0,0 @@
-{
-  "id" : "db4630ad-00e0-4d7a-966b-44288416bf21",
-  "name" : "Socks-shop",
-  "description" : "A generic microservices application",
-  "version" : "0.2.2-alpha",
-  "highTechnologicalRisk" : false,
-  "nfrs" : [ {
-    "type" : "Performance",
-    "tags" : [ "Application" ],
-    "abstractValue" : "High",
-    "value" : 100.0,
-    "unit" : "milliseconds"
-  }, {
-    "type" : "Availability",
-    "tags" : [ "Application" ],
-    "abstractValue" : "Medium",
-    "value" : 98.0,
-    "unit" : "percentage"
-  } ],
-  "microservices" : [ {
-    "id" : "15f66315-bd6b-41d5-837a-a0b94e188978",
-    "name" : "Front-end",
-    "classification" : "Computing Public IP",
-    "stateful" : false,
-    "programmingLanguage" : "NodeJs",
-    "tags" : [ "Application" ],
-    "publicIP" : true,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "01420849-546d-4c34-950b-5d7171c495f5",
-      "name" : "none",
-      "db" : false,
-      "sql" : false,
-      "classification" : "storage"
-    } ]
-  }, {
-    "id" : "2ffa33ff-1f6f-4197-9199-48b7040386d2",
-    "name" : "Order",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Java",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "69d265aa-fb64-43b2-934a-a87278827c9c",
-      "name" : "Mongo",
-      "db" : true,
-      "sql" : false,
-      "classification" : "db"
-    } ]
-  }, {
-    "id" : "71948dd0-f8d0-4bfc-b262-50dd04661013",
-    "name" : "Payment",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Go",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "7407e313-d2fc-44a9-8830-73c85d4d17c6",
-      "name" : "none",
-      "db" : false,
-      "sql" : false,
-      "classification" : "storage"
-    } ]
-  }, {
-    "id" : "0b7af2fb-52d9-435a-bb99-bd2b61ffa789",
-    "name" : "User",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Go",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "d9bf985e-1a35-4d26-a499-b2fdc6830055",
-      "name" : "Mongo",
-      "db" : true,
-      "sql" : false,
-      "classification" : "db"
-    } ]
-  }, {
-    "id" : "52ee44fe-dcef-479d-a6f8-2b761cc65d07",
-    "name" : "Catalogue",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Go",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "17151dde-ec54-488c-b9f1-638fd15b2c28",
-      "name" : "MySQL",
-      "db" : true,
-      "sql" : true,
-      "classification" : "db"
-    } ]
-  }, {
-    "id" : "0f53359b-bb7d-43bf-9c13-e944291e9ad4",
-    "name" : "Cart",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Java",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "b6bfeb8d-f881-4e4f-9b0c-044506fd39d4",
-      "name" : "Mongo",
-      "db" : true,
-      "sql" : false,
-      "classification" : "db"
-    } ]
-  }, {
-    "id" : "de5d2442-09bc-4d59-99ff-ddfe5724fa5c",
-    "name" : "Shipping",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Java",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "c57a1fbd-d0ef-43c4-912d-5b7a5d066320",
-      "name" : "RabbitMQ",
-      "db" : false,
-      "sql" : false,
-      "classification" : "queue system"
-    } ]
-  }, {
-    "id" : "eabad57d-7cae-4e2b-bebf-1d95b8534f53",
-    "name" : "Queue-Master",
-    "classification" : "Computing",
-    "stateful" : false,
-    "programmingLanguage" : "Java",
-    "tags" : [ "Application" ],
-    "publicIP" : false,
-    "endpoints" : [ "http://mircroservice1.com/service" ],
-    "deploymentOrder" : 0,
-    "detachableResources" : [ {
-      "id" : "e524abef-6814-4724-bad6-4ac048c917e0",
-      "name" : "none",
-      "db" : false,
-      "sql" : false,
-      "classification" : "storage"
-    } ]
-  } ],
-  "mcsla" : {
-    "sla" : {
-      "description" : "SockShop App Service Level Agreement",
-      "validityPeriod" : 0,
-      "objectives" : [ {
-        "termName" : "Availability",
-        "type" : "slo",
-        "value" : "99.8",
-        "unit" : "percentage",
-        "conditionStatement" : "greaterOrEqual",
-        "metrics" : [ {
-          "id" : "CSA_AV_001",
-          "scale" : "ratio",
-          "expression" : {
-            "expression" : "AVAILABILITY_AGGREGATION_SUMTYPE",
-            "expressionLanguage" : "predefined",
-            "unit" : "percentage"
-          },
-          "underlyingMetrics" : [ {
-            "id" : "15f66315-bd6b-41d5-837a-a0b94e188978",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "2ffa33ff-1f6f-4197-9199-48b7040386d2",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "71948dd0-f8d0-4bfc-b262-50dd04661013",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "0b7af2fb-52d9-435a-bb99-bd2b61ffa789",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "52ee44fe-dcef-479d-a6f8-2b761cc65d07",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "0f53359b-bb7d-43bf-9c13-e944291e9ad4",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "de5d2442-09bc-4d59-99ff-ddfe5724fa5c",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          }, {
-            "id" : "eabad57d-7cae-4e2b-bebf-1d95b8534f53",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_MTBFMTTR",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          } ]
-        } ]
-      }, {
-        "termName" : "Performance",
-        "type" : "slo",
-        "value" : "300.0",
-        "unit" : "millisecond",
-        "conditionStatement" : "lessOrEqual",
-        "metrics" : [ {
-          "id" : "CSA_PE_001",
-          "scale" : "ratio",
-          "expression" : {
-            "expression" : "AGGREGATION_MAXTYPE",
-            "expressionLanguage" : "predefined",
-            "unit" : "millisecond"
-          }
-        } ]
-      }, {
-        "termName" : "Location",
-        "type" : "sqo",
-        "value" : "europe",
-        "conditionStatement" : "equal"
-      }, {
-        "termName" : "Scalability",
-        "type" : "sqo",
-        "value" : "messageCount",
-        "conditionStatement" : "equal"
-      }, {
-        "termName" : "Cost",
-        "type" : "slo",
-        "value" : "10000.0",
-        "unit" : "euro",
-        "conditionStatement" : "less",
-        "metrics" : [ {
-          "id" : "CSA_CO_001",
-          "scale" : "ratio",
-          "expression" : {
-            "expression" : "AGGREGATION_SUMTYPE",
-            "expressionLanguage" : "predefined",
-            "unit" : "euro"
-          }
-        } ]
-      } ]
-    },
-    "csSlas" : {
-      "15" : {
-        "description" : "C8_Germany",
-        "validityPeriod" : 0,
-        "coveredServices" : [ "Virtual Machine" ],
-        "objectives" : [ {
-          "termName" : "Region",
-          "type" : "sqo",
-          "value" : "Europe",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Location based on continents",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Zone",
-          "type" : "sqo",
-          "value" : "Germany",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Location based on countries",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Provider",
-          "type" : "sqo",
-          "value" : "Arsys",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Name of the cloud service provider",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Availability",
-          "type" : "slo",
-          "value" : "99.9",
-          "unit" : "percentage",
-          "conditionStatement" : "greaterOrEqual",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Uptime during a time period",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_UPTIME_BC",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          } ]
-        }, {
-          "comment" : "Response time: Virtual Machine Performance",
-          "termName" : "Performance",
-          "type" : "slo",
-          "value" : "2",
-          "unit" : "millisecond",
-          "conditionStatement" : "lessOrEqual",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Response time for a request",
-            "scale" : "interval",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined",
-              "unit" : "millisecond"
-            }
-          } ]
-        }, {
-          "comment" : "Legal Level/Certifications",
-          "termName" : "Legal Level",
-          "type" : "sqo",
-          "value" : "Legal Level 2",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Pre defined legal levels",
-            "scale" : "ordinal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Cost",
-          "type" : "slo",
-          "value" : "150",
-          "unit" : "euro",
-          "conditionStatement" : "less",
-          "metrics" : [ {
-            "id" : "CS15_001",
-            "descriptor" : "Cost limitation",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined"
-            }
-          } ]
-        } ]
-      },
-      "28" : {
-        "description" : "g3.8xlarge",
-        "validityPeriod" : 0,
-        "coveredServices" : [ "Virtual Machine" ],
-        "objectives" : [ {
-          "termName" : "Region",
-          "type" : "sqo",
-          "value" : "North America",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Location based on continents",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Zone",
-          "type" : "sqo",
-          "value" : "United States",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Location based on countries",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Provider",
-          "type" : "sqo",
-          "value" : "Amazon",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Name of the cloud service provider",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Availability",
-          "type" : "slo",
-          "value" : "99.8",
-          "unit" : "percentage",
-          "conditionStatement" : "greaterOrEqual",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Uptime during a time period",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_UPTIME_BC",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          } ]
-        }, {
-          "comment" : "Response time: Virtual Machine Performance",
-          "termName" : "Performance",
-          "type" : "slo",
-          "value" : "2",
-          "unit" : "millisecond",
-          "conditionStatement" : "lessOrEqual",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Response time for a request",
-            "scale" : "interval",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined",
-              "unit" : "millisecond"
-            }
-          } ]
-        }, {
-          "comment" : "Legal Level/Certifications",
-          "termName" : "Legal Level",
-          "type" : "sqo",
-          "value" : "Legal Level 2",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Pre defined legal levels",
-            "scale" : "ordinal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Cost",
-          "type" : "slo",
-          "value" : "2209",
-          "unit" : "euro",
-          "conditionStatement" : "less",
-          "metrics" : [ {
-            "id" : "CS28_001",
-            "descriptor" : "Cost limitation",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined"
-            }
-          } ]
-        } ]
-      },
-      "38" : {
-        "description" : "A2v2",
-        "validityPeriod" : 0,
-        "coveredServices" : [ "Virtual Machine" ],
-        "objectives" : [ {
-          "termName" : "Region",
-          "type" : "sqo",
-          "value" : "Europe",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Location based on continents",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Zone",
-          "type" : "sqo",
-          "value" : "Ireland",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Location based on countries",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Provider",
-          "type" : "sqo",
-          "value" : "Azure",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Name of the cloud service provider",
-            "scale" : "nominal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Availability",
-          "type" : "slo",
-          "value" : "95",
-          "unit" : "percentage",
-          "conditionStatement" : "greaterOrEqual",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Uptime during a time period",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "AVAILABILITY_UPTIME_BC",
-              "expressionLanguage" : "predefined",
-              "unit" : "percentage"
-            }
-          } ]
-        }, {
-          "comment" : "Response time: Virtual Machine Performance",
-          "termName" : "Performance",
-          "type" : "slo",
-          "value" : "5",
-          "unit" : "millisecond",
-          "conditionStatement" : "lessOrEqual",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Response time for a request",
-            "scale" : "interval",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined",
-              "unit" : "millisecond"
-            }
-          } ]
-        }, {
-          "comment" : "Legal Level/Certifications",
-          "termName" : "Legal Level",
-          "type" : "sqo",
-          "value" : "Legal Level 2",
-          "conditionStatement" : "equal",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Pre defined legal levels",
-            "scale" : "ordinal",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "english"
-            }
-          } ]
-        }, {
-          "termName" : "Cost",
-          "type" : "slo",
-          "value" : "93,60",
-          "unit" : "euro",
-          "conditionStatement" : "less",
-          "metrics" : [ {
-            "id" : "CS38_001",
-            "descriptor" : "Cost limitation",
-            "scale" : "ratio",
-            "expression" : {
-              "expression" : "EMPTY",
-              "expressionLanguage" : "predefined"
-            }
-          } ]
-        } ]
-      }
-    }
-  },
-  "containers" : [ {
-    "imageName" : "my-traefik",
-    "imageTag" : "1",
-    "dockerPrivateRegistryIp" : "54.221.168.175",
-    "dockerPrivateRegistryPort" : 8200,
-    "hostname" : "front-end",
-    "restart" : "always",
-    "command" : [ "--consul", "--consul.endpoint=54.221.168.175:8500", "--consul.prefix=Socks-shop/traefik" ],
-    "entrypoint" : [ "traefik" ],
-    "dockerHostNodeName" : "node-2",
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 80,
-    "addConsulTraefikRules" : 0,
-    "portMapping" : [ {
-      "hostPort" : "80",
-      "containerPort" : "80"
-    }, {
-      "hostPort" : "8082",
-      "containerPort" : "8082"
-    }, {
-      "hostPort" : "9411",
-      "containerPort" : "9411"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 80
-    } ],
-    "dockerPrivateRegistryPassword" : "d3cid3",
-    "containerName" : "traefik-private",
-    "dockerPrivateRegistryUser" : "decide-user"
-  }, {
-    "imageName" : "weaveworksdemos/catalogue",
-    "imageTag" : "latest",
-    "hostname" : "catalogue",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "catalogue-network" ],
-    "environment" : [ "ZIPKIN=http://TBD_zipkin-ip:8493/api/v1/spans" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8480,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8480",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8480
-    } ],
-    "containerName" : "catalogue"
-  }, {
-    "imageName" : "weaveworksdemos/catalogue-db",
-    "imageTag" : "latest",
-    "hostname" : "catalogue-db",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "catalogue-network" ],
-    "environment" : [ "MYSQL_ROOT_PASSWORD=$${MYSQL_ROOT_PASSWORD}", "MYSQL_ALLOW_EMPTY_PASSWORD=true", "MYSQL_DATABASE=socksdb" ],
-    "containerName" : "catalogue-db"
-  }, {
-    "imageName" : "weaveworksdemos/user-db",
-    "imageTag" : "latest",
-    "hostname" : "user-db",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-1",
-    "networks" : [ "user-network" ],
-    "containerName" : "user-db"
-  }, {
-    "imageName" : "weaveworksdemos/user",
-    "imageTag" : "latest",
-    "hostname" : "user",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-1",
-    "networks" : [ "user-network" ],
-    "environment" : [ "MONGO_HOST=user-db:27017" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8485,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8485",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8485
-    } ],
-    "containerName" : "user",
-    "hostMapping" : [ {
-      "ip" : "",
-      "referencedContainerName" : "traefik-private",
-      "host" : "zipkin"
-    } ]
-  }, {
-    "imageName" : "mongo",
-    "imageTag" : "latest",
-    "hostname" : "carts-db",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-1",
-    "networks" : [ "carts-network" ],
-    "containerName" : "carts-db"
-  }, {
-    "imageName" : "weaveworksdemos/carts",
-    "imageTag" : "latest",
-    "hostname" : "user",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-1",
-    "networks" : [ "carts-network" ],
-    "environment" : [ "JAVA_OPTS=-Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom", "ZIPKIN=TBD_traefik-ip" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8481,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8481",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8481
-    } ],
-    "containerName" : "carts"
-  }, {
-    "imageName" : "openzipkin/zipkin",
-    "imageTag" : "latest",
-    "hostname" : "zipkin",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-1",
-    "environment" : [ "reschedule=on-node-failure" ],
-    "addConsulService" : 1,
-    "consulServicePort" : 9411,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8493",
-      "containerPort" : "9411"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 9411
-    } ],
-    "containerName" : "zipkin"
-  }, {
-    "imageName" : "weaveworksdemos/front-end",
-    "imageTag" : "latest",
-    "hostname" : "front-end",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "addConsulService" : 1,
-    "consulServicePort" : 8479,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8479",
-      "containerPort" : "8079"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8479,
-      "skipRule" : 1,
-      "containerNameOverride" : "shop-front-end"
-    } ],
-    "containerName" : "front-end",
-    "hostMapping" : [ {
-      "ip" : "",
-      "referencedContainerName" : "traefik-private",
-      "host" : "catalogue"
-    }, {
-      "ip" : "",
-      "referencedContainerName" : "traefik-private",
-      "host" : "carts"
-    }, {
-      "ip" : "",
-      "referencedContainerName" : "traefik-private",
-      "host" : "user"
-    }, {
-      "ip" : "",
-      "referencedContainerName" : "zipkin",
-      "host" : "zipkin"
-    } ]
-  }, {
-    "imageName" : "weaveworksdemos/shipping",
-    "imageTag" : "latest",
-    "hostname" : "shipping",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "shipping-network" ],
-    "environment" : [ "ZIPKIN=http://TBD_zipkin-ip}" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8483,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8483",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8483
-    } ],
-    "containerName" : "shipping"
-  }, {
-    "imageName" : "weaveworksdemos/queue-master",
-    "imageTag" : "latest",
-    "hostname" : "queue-master",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "shipping-network" ],
-    "volumeMapping" : [ {
-      "hostPath" : "/var/run/docker.sock",
-      "containerPath" : "/var/run/docker.sock"
-    } ],
-    "containerName" : "queue-master"
-  }, {
-    "imageName" : "rabbitmq",
-    "imageTag" : "3.6.8",
-    "hostname" : "rabbitmq",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "shipping-network" ],
-    "containerName" : "rabbitmq"
-  }, {
-    "imageName" : "weaveworksdemos/orders",
-    "imageTag" : "latest",
-    "hostname" : "orders",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "orders-network" ],
-    "environment" : [ "ZIPKIN=http://TBD_zipkin-ip}" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8482,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8482",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8482
-    } ],
-    "containerName" : "orders"
-  }, {
-    "imageName" : "mongo",
-    "imageTag" : "latest",
-    "hostname" : "orders-db",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "networks" : [ "orders-network" ],
-    "containerName" : "orders-db"
-  }, {
-    "imageName" : "weaveworksdemos/payment",
-    "imageTag" : "latest",
-    "hostname" : "payment",
-    "restart" : "always",
-    "dockerHostNodeName" : "node-2",
-    "environment" : [ "ZIPKIN=http://TBD_zipkin-ip}", "reschedule=on-node-failure" ],
-    "consulKvProviderNodeName" : "node-1",
-    "addConsulService" : 1,
-    "consulServicePort" : 8484,
-    "addConsulTraefikRules" : 1,
-    "portMapping" : [ {
-      "hostPort" : "8484",
-      "containerPort" : "80"
-    } ],
-    "endpoints" : [ {
-      "protocol" : "http",
-      "port" : 8484
-    } ],
-    "containerName" : "payment"
-  } ],
-  "virtualMachines" : [ {
-    "vmSoftwareId" : "21b7ebed-5076-43b6-8351-0e06cf16eedc",
-    "vmResourceId" : "27b1fb7b-2fd9-4042-8902-e4996e0bc420",
-    "vmRegionId" : "d112253a-951f-417a-a1f1-3a892bf35a45",
-    "instanceTypeId" : "f554e8a1-29d8-48e5-bd68-c01417576628",
-    "keyPairId" : "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
-    "dockerPrivateRegistryIp" : "54.221.168.175",
-    "dockerHostNodeName" : "node-1",
-    "dockerHostPublicIp" : "82.223.100.123",
-    "vmUser" : "root",
-    "openedPort" : "22,80,8000-9000,9411",
-    "dockerPrivateRegistryPort" : "8200"
-  }, {
-    "vmSoftwareId" : "21b7ebed-5076-43b6-8351-0e06cf16eedc",
-    "vmResourceId" : "27b1fb7b-2fd9-4042-8902-e4996e0bc420",
-    "vmRegionId" : "d112253a-951f-417a-a1f1-3a892bf35a45",
-    "instanceTypeId" : "f554e8a1-29d8-48e5-bd68-c01417576628",
-    "keyPairId" : "dbe5cc42-1f33-4ca4-b761-aec1c46a76fe",
-    "dockerPrivateRegistryIp" : "54.221.168.175",
-    "dockerHostNodeName" : "node-2",
-    "dockerHostPublicIp" : "82.223.2.216",
-    "vmUser" : "root",
-    "openedPort" : "22,80,8000-9000,9411",
-    "dockerPrivateRegistryPort" : "8200"
-  } ],
-  "recommendedPatterns" : [ {
-    "title" : "Resiliency Management Process",
-    "uriRef" : "http://decideh2020.eu/resources/patterns/resiliency-management-process",
-    "tags" : [ "Application" ],
-    "positiveImpacts" : [ "availability" ],
-    "categories" : [ "optimization" ],
-    "selected" : true
-  }, {
-    "title" : "Compliant Data Replication",
-    "uriRef" : "http://decideh2020.eu/resources/patterns/compliant-data-replication",
-    "tags" : [ "Application" ],
-    "positiveImpacts" : [ "location" ],
-    "categories" : [ "optimization", "deployment" ],
-    "selected" : true
-  }, {
-    "title" : "Elasticity Manager",
-    "uriRef" : "http://decideh2020.eu/resources/patterns/elasticity-manager",
-    "tags" : [ "Application" ],
-    "positiveImpacts" : [ "scalability" ],
-    "categories" : [ "deployment" ],
-    "selected" : true
-  } ],
-  "schema" : [ {
-    "microservices" : [ "[15f66315-bd6b-41d5-837a-a0b94e188978", " 2ffa33ff-1f6f-4197-9199-48b7040386d2", " 69d265aa-fb64-43b2-934a-a87278827c9c", " 71948dd0-f8d0-4bfc-b262-50dd04661013", " 52ee44fe-dcef-479d-a6f8-2b761cc65d07", " 17151dde-ec54-488c-b9f1-638fd15b2c28", " de5d2442-09bc-4d59-99ff-ddfe5724fa5c", " c57a1fbd-d0ef-43c4-912d-5b7a5d066320", " eabad57d-7cae-4e2b-bebf-1d95b8534f53]" ],
-    "csId" : "56",
-    "index" : 1689678579
-  }, {
-    "microservices" : [ "[0b7af2fb-52d9-435a-bb99-bd2b61ffa789", " d9bf985e-1a35-4d26-a499-b2fdc6830055", " 0f53359b-bb7d-43bf-9c13-e944291e9ad4", " b6bfeb8d-f881-4e4f-9b0c-044506fd39d4]" ],
-    "csId" : "55",
-    "index" : 1689679104
-  } ],
-  "monitoring" : {
-    "status" : true,
-    "urls" : [ "http://85.91.40.245:8093" ]
-  },
-  "applicationInstanceId" : "f6229960-201c-4f56-af96-b4659a95299d",
-  "consulJoinIp" : "54.221.168.175"
-}
\ No newline at end of file
diff --git a/AppController/.gitignore b/AppController/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..071e0238aa051ff237df749efeda3fa4dc751186
--- /dev/null
+++ b/AppController/.gitignore
@@ -0,0 +1,127 @@
+/classes/
+*.class
+*.lst
+
+# Created by .ignore support plugin (hsz.mobi)
+### JetBrains template
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+*.iml
+
+# User-specific stuff:
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/dictionaries
+
+# Sensitive or high-churn files:
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.xml
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+
+# Gradle:
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# CMake
+cmake-build-debug/
+
+# Mongo Explorer plugin:
+.idea/**/mongoSettings.xml
+
+## File-based project format:
+*.iws
+
+## Plugin-specific files:
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+### Maven template
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+pom.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+
+# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
+!/.mvn/wrapper/maven-wrapper.jar
+### Eclipse template
+
+.project
+.classpath
+
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+#Windows specific 
+*~
diff --git a/AppController/.gitlab-ci.yml b/AppController/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3e39e918e15d4230b18f24d3e79bcece218e8932
--- /dev/null
+++ b/AppController/.gitlab-ci.yml
@@ -0,0 +1,25 @@
+image: maven:alpine
+
+variables:
+  MAVEN_CLI_OPTS: "--batch-mode"
+
+before_script:
+  - apk update && apk upgrade && apk add git
+  - git config --global user.email "$GITLAB_USER_EMAIL"
+  - git config --global user.name "$GITLAB_USER_NAME"
+  - git checkout -B "$CI_BUILD_REF_NAME"
+  - git pull origin "$CI_BUILD_REF_NAME"
+
+deploy_snapshot:
+  stage: deploy
+  only:
+    - master
+  script:
+    - mvn $MAVEN_CLI_OPTS clean deploy -Dmaven.test.skip=true
+
+deploy_release:
+  stage: deploy
+  only:
+    - release
+  script:
+    - mvn $MAVEN_CLI_OPTS -Darguments="-DskipTests" -DscmCommentPrefix="[ci skip] - " release:clean release:prepare -B release:perform
diff --git a/AppController/LICENSE.txt b/AppController/LICENSE.txt
new file mode 100644
index 0000000000000000000000000000000000000000..90ad6b2b683c5ee5f7d315afba11285f9c72538e
--- /dev/null
+++ b/AppController/LICENSE.txt
@@ -0,0 +1,281 @@
+Copyright (C) 2017 Fraunhofer FOKUS.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the Eclipse Public License version 2.0.
+
+Eclipse Public License - v 2.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
+OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial content
+Distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate from
+and are Distributed by that particular Contributor. A Contribution
+"originates" from a Contributor if it was added to the Program by
+such Contributor itself or anyone acting on such Contributor's behalf.
+Contributions do not include changes or additions to the Program that
+are not Modified Works.
+
+"Contributor" means any person or entity that Distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone
+or when combined with the Program.
+
+"Program" means the Contributions Distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement
+or any Secondary License (as applicable), including Contributors.
+
+"Derivative Works" shall mean any work, whether in Source Code or other
+form, that is based on (or derived from) the Program and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship.
+
+"Modified Works" shall mean any work in Source Code or other form that
+results from an addition to, deletion from, or modification of the
+contents of the Program, including, for purposes of clarity any new file
+in Source Code form that contains any contents of the Program. Modified
+Works shall not include works that contain only declarations,
+interfaces, types, classes, structures, or files of the Program solely
+in each case in order to link to, bind by name, or subclass the Program
+or Modified Works thereof.
+
+"Distribute" means the acts of a) distributing or b) making available
+in any manner that enables the transfer of a copy.
+
+"Source Code" means the form of a Program preferred for making
+modifications, including but not limited to software source code,
+documentation source, and configuration files.
+
+"Secondary License" means either the GNU General Public License,
+Version 2.0, or any later versions of that license, including any
+exceptions or additional permissions as identified by the initial
+Contributor.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare Derivative Works of, publicly display,
+publicly perform, Distribute and sublicense the Contribution of such
+Contributor, if any, and such Derivative Works.
+
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in Source Code or other form. This patent license shall
+apply to the combination of the Contribution and the Program if, at
+the time the Contribution is added by the Contributor, such addition
+of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the
+licenses to its Contributions set forth herein, no assurances are
+provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity.
+Each Contributor disclaims any liability to Recipient for claims
+brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby
+assumes sole responsibility to secure any other intellectual
+property rights needed, if any. For example, if a third party
+patent license is required to allow Recipient to Distribute the
+Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has
+sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.
+
+e) Notwithstanding the terms of any Secondary License, no
+Contributor makes additional grants to any Recipient (other than
+those set forth in this Agreement) as a result of such Recipient's
+receipt of the Program under the terms of a Secondary License
+(if permitted under the terms of Section 3).
+
+3. REQUIREMENTS
+
+3.1 If a Contributor Distributes the Program in any form, then:
+
+a) the Program must also be made available as Source Code, in
+accordance with section 3.2, and the Contributor must accompany
+the Program with a statement that the Source Code for the Program
+is available under this Agreement, and informs Recipients how to
+obtain it in a reasonable manner on or through a medium customarily
+used for software exchange; and
+
+b) the Contributor may Distribute the Program under a license
+different than this Agreement, provided that such license:
+i) effectively disclaims on behalf of all other Contributors all
+warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and
+implied warranties or conditions of merchantability and fitness
+for a particular purpose;
+
+ii) effectively excludes on behalf of all other Contributors all
+liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) does not attempt to limit or alter the recipients' rights
+in the Source Code under section 3.2; and
+
+iv) requires any subsequent distribution of the Program by any
+party to be under a license that satisfies the requirements
+of this section 3.
+
+3.2 When the Program is Distributed as Source Code:
+
+a) it must be made available under this Agreement, or if the
+Program (i) is combined with other material in a separate file or
+files made available under a Secondary License, and (ii) the initial
+Contributor attached to the Source Code the notice described in
+Exhibit A of this Agreement, then the Program may be made available
+under the terms of such Secondary Licenses, and
+
+b) a copy of this Agreement must be included with each copy of
+the Program.
+
+3.3 Contributors may not remove or alter any copyright, patent,
+trademark, attribution notices, disclaimers of warranty, or limitations
+of liability ("notices") contained within the Program from any copy of
+the Program which they Distribute, provided that Contributors may add
+their own appropriate notices.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program,
+the Contributor who includes the Program in a commercial product
+offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes
+the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every
+other Contributor ("Indemnified Contributor") against any losses,
+damages and costs (collectively "Losses") arising from claims, lawsuits
+and other legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not
+apply to any claims or Losses relating to any actual or alleged
+intellectual property infringement. In order to qualify, an Indemnified
+Contributor must: a) promptly notify the Commercial Contributor in
+writing of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those performance
+claims and warranties, and if a court requires any other Contributor to
+pay any damages as a result, the Commercial Contributor must pay
+those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the
+appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement,
+including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs
+or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
+SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software
+or hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any licenses
+granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. The Eclipse Foundation
+is the initial Agreement Steward. The Eclipse Foundation may assign the
+responsibility to serve as the Agreement Steward to a suitable separate
+entity. Each new version of the Agreement will be given a distinguishing
+version number. The Program (including Contributions) may always be
+Distributed subject to the version of the Agreement under which it was
+received. In addition, after a new version of the Agreement is published,
+Contributor may elect to Distribute the Program (including its
+Contributions) under the new version.
+
+Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+receives no rights or licenses to the intellectual property of any
+Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted
+under this Agreement are reserved. Nothing in this Agreement is intended
+to be enforceable by any entity that is not a Contributor or Recipient.
+No third-party beneficiary rights are created under this Agreement.
+
+Exhibit A - Form of Secondary Licenses Notice
+
+"This Source Code may also be made available under the following
+Secondary Licenses when the conditions for such availability set forth
+in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+version(s), and exceptions or additional permissions here}."
+
+Simply including a copy of this Agreement, including this Exhibit A
+is not sufficient to license the Source Code under Secondary Licenses.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to
+look for such a notice.
+
+You may add additional accurate notices of copyright ownership.
\ No newline at end of file
diff --git a/AppController/README.md b/AppController/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..698ada774d7c1afefe1853161653b1a694242514
--- /dev/null
+++ b/AppController/README.md
@@ -0,0 +1,150 @@
+# DECIDE Application Controller Library
+
+The Application Controller Library provides a consistent way for handling the AppDescription and History json files to every project that has to operate on these files.
+
+## Table of Contents
+1. [Features](#features)
+1. [Installation](#installation)
+1. [Getting started](#getting-started)
+1. [Validation Exception Handling](#validation-exception-handling)
+1. [The Model](#the-model)
+1. [The Interface](#the-interface)
+1. [License](#license)
+
+## Features
+
+-  :sunglasses: A simple and intuitive interface
+-  :hammer_and_wrench: Internal handling of state in git repository and filesystem
+
+
+## Building from Source
+
+The project is available via Git repository. If you have access, do the following steps:
+
+```bash
+$> git clone https://gitlab.fokus.fraunhofer.de/DECIDE/app-controller.git
+$> cd app-controller
+```
+
+The project uses Maven as build tool. After build you will find the jar and a fat jar in the target directory. To build use the follwoing command:
+
+```bash
+$> mvn clean package
+```
+
+Use `-DskipTests` if the test repository is not accessible for you. If you would like to do the tests, edit the test class `AppManagerTest` and provide the necessary remote repository values.
+
+## Installation
+
+For non-Maven based projects you can take the build jar file located in the target directory after executing the build command and put it in the classpath of your application. There is also a fat jar provided containing all dependecies if required.  
+
+For Maven based projects you need to install it in a Maven repository which your application can access. E.g. to put it in your local maven repository, you can simply call
+`$> mvn install`
+
+Finally, your application pom.xml requires the following dependency:
+
+```xml
+<dependency>
+    <groupId>eu.DECIDEh2020</groupId>
+    <artifactId>app-controller</artifactId>
+    <version>0.0.2</version>
+</dependency>
+```
+
+## Getting started
+A small example on getting the `AppDescription` and saving it using the `AppManager`:  
+
+```java
+AppManager appManager = AppManager.open(String gitRef, String username, String password, Path localPath);
+
+// get the Appdescription
+AppDescription appDescription = appManager.getAppDescription();
+
+// do something with the AppDescription
+
+// then save
+appManager.writeAndSync(appDescription, "Added new Microservices");
+
+// close the AppManager
+appManager.close();
+```
+
+Since the `AppManager` also implements the `Closeable` interface you can also use the `try-with-resources` statement to work on the `AppDescription`.
+
+```java
+Path path = FileSystems.getDefault().getPath("path/to/git/dir");
+		
+try (AppManager appManager = AppManager.open("https://git.ref/", "username", "password", path)) {
+    AppDescription appDescription = appManager.getAppDescription();
+    //work on the AppDescription & save it with AppManager
+    appManager.writeAndSync(appDescription, "Added NFRs");
+} catch (AppManagerException | IOException e) {
+    e.printStackTrace();
+}
+```
+
+For further examples please take a look at the test cases.
+## Validation Exception Handling
+A `DECIDEValidationException` is usually a wrapper for the underlying validation library validation errors. The AppController utilizes the JSON Schema Validator from everit-org. You can easily access the original `ValidationException` if you need more details beyond the main message.
+```java
+try {
+    AppDescription appDescription = appManager.getAppDescription();
+} catch (DECIDEValidationException e) {
+    ValidationException original = (ValidationException)e.getCause();
+
+    // get a list of all sub messages
+    List<String> messages = original.getAllMessages();
+
+    // get all sub exceptions. Each one is again a ValidationException
+    List<ValidationException> original.getCausingExceptions();
+
+    // getting a fancy pretty printed json structure containing all sub errors
+    String json = original.getJSON().toString(4);
+
+} catch (IOEXception e) {
+}
+```
+Please note that `DECIDEValidationException` is also a subclass of `AppManagerException`.
+
+## The Model
+
+### `AppDescription`
+The library implements the application description and all its properties as POJOs with corresponding getters and setters. See package `eu.DECIDEh2020.appManager.models` for an overview. During serialization any empty or null properties will be ommitted. 
+
+For more flexibility during the development of DECIDE some model classes allow the setting and getting of additional properties that are not part of the schema. These classes are so far:
+ * `AppDescription`
+ * `Nfr`
+ * `Pattern`
+ * `Container`
+ * `VirtualMachine`
+
+They have the special setter `setAdditionalProperties()` and getter `getAdditionalProperties()`, which sets and gets any JsonNode objects as values.
+
+### `List<HistoryEntry>`
+
+## The Interface
+In general there are three main classes:
+ * `AppDescriptionFactory`
+ * `AppDescriptionHelper`
+ * `AppManager`
+ * `HistoryFactory`
+ * `HistoryManager`
+
+### `AppDescriptionFactory`
+This class provides static methods for creating, loading, saving and validating app description instances.
+
+### `AppDescriptionHelper`
+This class provides convenient methods to access internal information of the app description by processing any conventions made by the project. E.g. retreives groups and lists defined by tags.
+
+### `AppManager`
+This class offers encapsulation to any persistency. Current implementation covers a git repository.
+
+### `HistoryFactory`
+This class provides static methods for creating, loading, saving and validating history instances.
+
+### `HistoryManager`
+This class encapsulates the history model inside the app context. Therefore it can only be instantiated from an app manager.
+
+## License
+
+[Eclipse Public License version 2.0.](LICENSE.txt)
\ No newline at end of file
diff --git a/AppController/pom.xml b/AppController/pom.xml
index 3f7189fcbf06a2744c875b0700654e64d48a7cf4..75e9de8fbf8d902277c520f7a781d8f5c40a8f04 100644
--- a/AppController/pom.xml
+++ b/AppController/pom.xml
@@ -1,77 +1,125 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>eu.DECIDEh2020.appcontroller</groupId>
-    <artifactId>eu.DECIDEh2020.appcontroller</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <name>AppController</name>
-    <packaging>jar</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.3.2</version>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <descriptorRefs>
-                        <descriptorRef>jar-with-dependencies</descriptorRef>
-                    </descriptorRefs>
-                </configuration>
-
-                <executions>
-                    <execution>
-                        <id>make-assembly</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>attached</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-
-    <dependencies>
-        <dependency>
-            <groupId>org.eclipse.jgit</groupId>
-            <artifactId>org.eclipse.jgit</artifactId>
-            <version>4.4.1.201607150455-r</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.7.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.json</groupId>
-            <artifactId>json</artifactId>
-            <version>20160810</version>
-        </dependency>
-        <dependency>
-            <groupId>com.googlecode.json-simple</groupId>
-            <artifactId>json-simple</artifactId>
-            <version>1.1.1</version>
-        </dependency>
-    </dependencies>
-
-
-</project>
-
-
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+ 
+  <groupId>eu.DECIDEh2020</groupId>
+  <artifactId>app-controller</artifactId>
+  <version>0.0.15-SNAPSHOT</version>
+ 
+  <distributionManagement>
+    <repository>
+      <id>paca-releases</id>
+      <name>Paca Releases Repo</name>
+      <url>https://paca.fokus.fraunhofer.de/repository/maven-releases/</url>
+    </repository>
+    <snapshotRepository>
+      <id>paca-snaptshots</id>
+      <url>https://paca.fokus.fraunhofer.de/repository/maven-snapshots/</url>
+    </snapshotRepository>
+  </distributionManagement>
+ 
+  <scm>
+    <connection>scm:git:https://${GITLAB_USER_LDAP}:${GITLAB_USER_PASSWORD}@gitlab.fokus.fraunhofer.de/${CI_PROJECT_PATH}</connection>
+    <url>https://${GITLAB_USER_LDAP}:${GITLAB_USER_PASSWORD}@gitlab.fokus.fraunhofer.de/${CI_PROJECT_PATH}</url>
+    <developerConnection>scm:git:https://${GITLAB_USER_LDAP}:${GITLAB_USER_PASSWORD}@gitlab.fokus.fraunhofer.de/${CI_PROJECT_PATH}</developerConnection>
+    <tag>HEAD</tag>
+  </scm>
+ 
+  <repositories>
+    <repository>
+      <id>jgit-repository</id>
+      <url>https://repo.eclipse.org/content/groups/releases/</url>
+    </repository>
+    <repository>
+      <id>jitpack.io</id>
+      <url>https://jitpack.io</url>
+    </repository>
+  </repositories>
 
+  <dependencies>
+    <dependency>
+      <groupId>org.eclipse.jgit</groupId>
+      <artifactId>org.eclipse.jgit</artifactId>
+      <version>5.1.1.201809181055-r</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>2.9.5</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>2.9.5</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.9.5</version>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <version>1.2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>com.github.everit-org.json-schema</groupId>
+      <artifactId>org.everit.json.schema</artifactId>
+      <version>1.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.testng</groupId>
+      <artifactId>testng</artifactId>
+      <version>6.14.3</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+ 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <tagNameFormat>v@{project.version}</tagNameFormat>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>3.1.1</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <minimizeJar>true</minimizeJar>
+              <shadedArtifactAttached>true</shadedArtifactAttached>
+              <filters>
+                <filter>
+                  <artifact>*:*</artifact>
+                  <excludes>
+                    <exclude>META-INF/*.SF</exclude>
+                    <exclude>META-INF/*.DSA</exclude>
+                    <exclude>META-INF/*.RSA</exclude>
+                  </excludes>
+                </filter>
+              </filters>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionFactory.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..b21e440a7f02ab2fd965c982f24e3b8524df33a5
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionFactory.java
@@ -0,0 +1,106 @@
+package eu.DECIDEh2020.appManager;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Path;
+import java.util.UUID;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import eu.DECIDEh2020.appManager.models.Microservice;
+import org.everit.json.schema.Schema;
+import org.everit.json.schema.ValidationException;
+import org.everit.json.schema.loader.SchemaLoader;
+import org.json.JSONObject;
+import org.json.JSONTokener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AppDescriptionFactory {
+
+	private static Logger log = LoggerFactory.getLogger(AppDescriptionFactory.class);
+
+	private static Schema schema;
+
+	static {
+		try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("application_description.schema.json")) {
+			JSONObject rawSchema = new JSONObject(new JSONTokener(inputStream));
+			schema = SchemaLoader.load(rawSchema);
+		} catch (IOException e) {
+			log.error("reading schema", e);
+		}
+
+		/*
+		JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
+		InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("application_description.schema.json");
+		try {
+			schema = factory.getJsonSchema(new ObjectMapper().readTree(is));
+		} catch (ProcessingException | IOException e) {
+			log.error("reading json schema", e);
+		}
+		*/
+	}
+
+	public static AppDescription createAppDescription(String name) {
+		AppDescription appDescription = new AppDescription();
+		appDescription.setId(UUID.randomUUID().toString());
+		appDescription.setName(name);
+
+		appDescription.setVersion("0.2.2-alpha");
+		appDescription.setHighTechnologicalRisk(false);
+
+		appDescription.getMicroservices().add(createMicroservice("Default"));
+
+		return appDescription;
+	}
+
+	public static Microservice createMicroservice(String name) {
+		Microservice microservice = new Microservice();
+		microservice.setId(UUID.randomUUID().toString());
+		microservice.setName(name);
+
+		microservice.getEndpoints().add("http://mircroservice1.com/service");
+
+		return microservice;
+	}
+
+	public static AppDescription loadAppDescription(Path path) {
+		try {
+			return new ObjectMapper().readValue(path.toFile(), AppDescription.class);
+		} catch (IOException e) {
+			log.error("reading app description file", e);
+			return null;
+		}
+	}
+
+	public static AppDescription fromJson(String jsonString) throws JsonParseException, JsonMappingException, IOException {
+		return new ObjectMapper().readValue(jsonString, AppDescription.class);
+	}
+
+	public static void validateAppDescription(AppDescription appDescription) throws DECIDEValidationException {
+		try {
+			schema.validate(new JSONObject(new ObjectMapper().writeValueAsString(appDescription)));
+		} catch (JsonProcessingException e) {
+			log.error("json to string", e);
+			throw new DECIDEValidationException(e);
+		} catch (ValidationException e) {
+			log.error("validating json", e);
+			throw new DECIDEValidationException(e);
+		}
+	}
+
+	public static void validateAppDescription(JsonNode appDescription) throws DECIDEValidationException {
+		try {
+			validateAppDescription(new ObjectMapper().treeToValue(appDescription, AppDescription.class));
+		} catch (JsonProcessingException e) {
+			log.error("json to value", e);
+			throw new DECIDEValidationException(e);
+		}
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionHelper.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..d89083ce6c943a217f77636356a332ef97b1ffb3
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppDescriptionHelper.java
@@ -0,0 +1,80 @@
+package eu.DECIDEh2020.appManager;
+
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import eu.DECIDEh2020.appManager.models.Microservice;
+import eu.DECIDEh2020.appManager.models.Nfr;
+import eu.DECIDEh2020.appManager.models.Pattern;
+
+import java.util.HashSet;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class AppDescriptionHelper {
+
+	private AppDescription appDescription;
+
+	public static AppDescriptionHelper create(AppDescription appDescription) {
+		return new AppDescriptionHelper(appDescription);
+	}
+
+	private AppDescriptionHelper(AppDescription appDescription) {
+		this.appDescription = appDescription;
+	}
+
+	public Set<String> getTags() {
+
+		Set<String> tags;
+		if (appDescription.getMicroservices() != null) {
+			tags = appDescription.getMicroservices().stream().flatMap(m -> m.getTags().stream())
+					.collect(Collectors.toSet());
+		} else {
+			tags = new HashSet<String>();
+		}
+		if (appDescription.getNfrs() != null) {
+			Set<String> ntags = appDescription.getNfrs().stream().flatMap(m -> m.getTags().stream())
+					.collect(Collectors.toSet());
+			tags.addAll(ntags);
+		}
+		return tags;
+	}
+
+	public List<String> getMicroserviceGroups() {
+		Map<String, Long> tags = appDescription.getMicroservices().stream().flatMap(m -> m.getTags().stream())
+				.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
+		return tags.keySet().stream().filter(t -> tags.get(t) >= 2).collect(Collectors.toList());
+	}
+
+	public boolean isMicroserviceGroup(String tag) {
+		return appDescription.getMicroservices().stream().filter(m -> m.getTags().contains(tag)).count() >= 2;
+	}
+
+	public List<Microservice> getGroupMicroservices(String tag) {
+		return appDescription.getMicroservices().stream().filter(m -> m.getTags().contains(tag)).collect(Collectors.toList());
+	}
+
+	public List<Nfr> getGroupNfrs(String tag) {
+		return appDescription.getNfrs().stream().filter(n -> n.getTags().contains(tag)).collect(Collectors.toList());
+	}
+
+	public List<Pattern> getGroupPatterns(String tag) {
+		return appDescription.getRecommendedPatterns().stream().filter(p -> p.getTags().contains(tag)).collect(Collectors.toList());
+	}
+
+	public String getJson() throws JsonProcessingException {
+		return new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(appDescription);
+
+	}
+
+	public String getMicroserviceName(String id) {
+		Microservice microservice = appDescription.getMicroservices().stream().filter(m -> m.getId().equalsIgnoreCase(id)).findFirst().orElse(null);
+		return microservice != null ? microservice.getName() : null;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/AppManager.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6101c5135fb2d92525f09b31946215b2aeff841
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/AppManager.java
@@ -0,0 +1,194 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import eu.DECIDEh2020.appManager.exceptions.AppManagerException;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import eu.DECIDEh2020.appManager.persistence.GitHandler;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.nio.file.Path;
+
+public class AppManager implements Closeable {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    private GitHandler gitHandler;
+
+    private String descriptor = "DECIDE.json";
+
+    private boolean strict = true;
+
+    public static AppManager open(String gitRef, String username, String password, Path localPath) throws AppManagerException {
+        return new AppManager(gitRef, username, password, localPath);
+    }
+
+    public static AppManager open(String gitRef, String token, Path localPath) throws AppManagerException {
+        return new AppManager(gitRef, token, localPath);
+    }
+
+    public static AppManager open(Path localPath)throws AppManagerException {
+        return new AppManager(localPath);
+    }
+
+    private AppManager() {
+        gitHandler = new GitHandler(new GitHandler.Repository());
+    }
+
+    private AppManager(String gitRef, String token, Path localPath) throws AppManagerException {
+        this();
+
+        gitHandler.getRepository().setURI(gitRef);
+        gitHandler.getRepository().setPath(localPath);
+
+        gitHandler.setToken(token);
+
+        try {
+            gitHandler.openOrClone();
+        } catch (IOException | GitAPIException e) {
+            log.error("open or clone repo", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    private AppManager(String gitRef, String username, String password, Path localPath) throws AppManagerException {
+        this();
+        gitHandler.getRepository().setURI(gitRef);
+        gitHandler.getRepository().setPath(localPath);
+
+        gitHandler.setCredentials(username, password);
+        try {
+            gitHandler.openOrClone();
+        } catch (IOException | GitAPIException e) {
+            log.error("open or clone repo", e);
+            throw new AppManagerException(e);
+        }
+    }
+    
+    private AppManager(Path localPath) throws AppManagerException {
+        this();
+
+        gitHandler.getRepository().setPath(localPath);
+
+        try {
+            gitHandler.openOrClone();
+        } catch (IOException | GitAPIException e) {
+            log.error("open or clone repo", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public String setDescriptor(String descriptor) {
+        String old = this.descriptor;
+        this.descriptor = descriptor;
+        return old;
+    }
+
+    public HistoryManager getHistoryManager() {
+        return HistoryManager.create(gitHandler);
+    }
+
+    public AppDescription getAppDescription() throws DECIDEValidationException, IOException {
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        AppDescription appDescription = new ObjectMapper().readValue(path.toFile(), AppDescription.class);
+        if (strict) {
+            AppDescriptionFactory.validateAppDescription(appDescription);
+        }
+        return appDescription;
+    }
+
+    public ObjectNode getAppDescriptionAsTree() throws DECIDEValidationException, IOException {
+        return new ObjectMapper().valueToTree(getAppDescription());
+    }
+
+    public void write(AppDescription appDescription) throws AppManagerException, IOException {
+        if (strict) {
+            AppDescriptionFactory.validateAppDescription(appDescription);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), appDescription);
+
+        try {
+            gitHandler.addToRepo();
+        } catch (GitAPIException e) {
+            log.error("write app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void writeAndCommit(AppDescription appDescription, String commitMessage) throws AppManagerException, IOException {
+        if (strict) {
+            AppDescriptionFactory.validateAppDescription(appDescription);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), appDescription);
+
+        try {
+            gitHandler.addToRepo();
+            gitHandler.commitToRepo(commitMessage);
+        } catch (GitAPIException e) {
+            log.error("write and commit app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void writeAndSync(AppDescription appDescription, String commitMessage) throws AppManagerException, IOException {
+        if (strict) {
+            AppDescriptionFactory.validateAppDescription(appDescription);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), appDescription);
+
+        try {
+            gitHandler.addToRepo();
+            gitHandler.commitToRepo(commitMessage);
+            gitHandler.pushToRepo();
+        } catch (GitAPIException e) {
+            log.error("synchronize app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void sync() throws AppManagerException {
+        try {
+            gitHandler.pullFromRepo();
+        } catch (GitAPIException e) {
+            log.error("synchronize app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void reset() {
+        gitHandler.resetAll();
+    }
+
+    @Override
+    public void close() throws IOException {
+        try {
+            gitHandler.addToRepo();
+            gitHandler.commitToRepo("Closed by AppManager.");
+            gitHandler.pushToRepo();
+        } catch (GitAPIException e) {
+            throw new IOException(e);
+        } finally {
+            gitHandler.close();
+        }
+    }
+
+    public boolean isStrict() {
+        return strict;
+    }
+
+    public void setStrict(boolean strict) {
+        this.strict = strict;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryFactory.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b8fcb68584a521e99cc13013a4fb38bf1170b95
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryFactory.java
@@ -0,0 +1,79 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.HistoryEntry;
+import org.everit.json.schema.Schema;
+import org.everit.json.schema.ValidationException;
+import org.everit.json.schema.loader.SchemaLoader;
+import org.json.JSONObject;
+import org.json.JSONTokener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Path;
+import java.util.Arrays;
+import java.util.List;
+
+public class HistoryFactory {
+
+    private static Logger log = LoggerFactory.getLogger(AppDescriptionFactory.class);
+
+    private static Schema schema;
+
+    static {
+        try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("optimus_history.schema.json")) {
+            JSONObject rawSchema = new JSONObject(new JSONTokener(inputStream));
+            schema = SchemaLoader.load(rawSchema);
+        } catch (IOException e) {
+            log.error("reading schema", e);
+        }
+
+        /*
+        JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
+        InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("optimus_history.schema.json");
+        try {
+            schema = factory.getJsonSchema(new ObjectMapper().readTree(is));
+        } catch (ProcessingException | IOException e) {
+            log.error("reading json schema", e);
+        }
+        */
+    }
+
+    public static List<HistoryEntry> loadHistory(Path path) {
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            return Arrays.asList(mapper.readValue(path.toFile(), HistoryEntry[].class));
+        } catch (IOException e) {
+            log.error("reading history file", e);
+            return null;
+        }
+   }
+
+    public static void validateHistory(List<HistoryEntry> history) throws DECIDEValidationException {
+        try {
+            schema.validate(new ObjectMapper().writeValueAsString(history));
+        } catch (JsonProcessingException e) {
+            log.error("json to string", e);
+            throw new DECIDEValidationException(e);
+        } catch (ValidationException e) {
+            log.error("validating json", e);
+            throw new DECIDEValidationException(e);
+        }
+    }
+
+    public static void validateHistory(JsonNode history) throws DECIDEValidationException {
+        try {
+            schema.validate(history.toString());
+        } catch (ValidationException e) {
+            log.error("validating json", e);
+            throw new DECIDEValidationException(e);
+        }
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryManager.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..f919937b30426c801a57ab9f9197f466dea569db
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/HistoryManager.java
@@ -0,0 +1,123 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import eu.DECIDEh2020.appManager.exceptions.AppManagerException;
+import eu.DECIDEh2020.appManager.models.HistoryEntry;
+import eu.DECIDEh2020.appManager.persistence.GitHandler;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Arrays;
+import java.util.List;
+
+public class HistoryManager {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    private GitHandler gitHandler;
+
+    private String descriptor = "OPTIMUSHistory.json";
+
+    private boolean strict = true;
+
+    public static HistoryManager create(GitHandler gitHandler) {
+        return new HistoryManager(gitHandler);
+    }
+
+    private HistoryManager(GitHandler gitHandler) {
+        this.gitHandler = gitHandler;
+    }
+
+    public String getDescriptor() {
+        return descriptor;
+    }
+
+    public void setDescriptor(String descriptor) {
+        this.descriptor = descriptor;
+    }
+
+    public boolean isStrict() {
+        return strict;
+    }
+
+    public void setStrict(boolean strict) {
+        this.strict = strict;
+    }
+
+    public List<HistoryEntry> getHistory() throws AppManagerException, IOException {
+        return Arrays.asList(new ObjectMapper().treeToValue(getHistoryAsTree(), HistoryEntry[].class));
+    }
+
+    public ArrayNode getHistoryAsTree() throws AppManagerException, IOException {
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode history = mapper.createArrayNode();
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        if (Files.exists(path)) {
+            history = mapper.readTree(path.resolve(descriptor).toFile());
+            if (strict) {
+                HistoryFactory.validateHistory(history);
+            }
+        } else {
+            mapper.writerWithDefaultPrettyPrinter().writeValue(path.toFile(), history);
+        }
+        return (ArrayNode)history;
+    }
+
+    public void write(List<HistoryEntry> history) throws AppManagerException, IOException {
+        if (strict) {
+            HistoryFactory.validateHistory(history);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), history);
+
+        try {
+            gitHandler.addToRepo();
+        } catch (GitAPIException e) {
+            log.error("write app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void writeAndCommit(List<HistoryEntry> history, String commitMessage) throws AppManagerException, IOException {
+        if (strict) {
+            HistoryFactory.validateHistory(history);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), history);
+
+        try {
+            gitHandler.addToRepo();
+            gitHandler.commitToRepo(commitMessage);
+        } catch (GitAPIException e) {
+            log.error("write and commit app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+    public void writeAndSync(List<HistoryEntry> history, String commitMessage) throws AppManagerException, IOException {
+        if (strict) {
+            HistoryFactory.validateHistory(history);
+        }
+
+        Path path = gitHandler.getRepository().getPath().resolve(descriptor);
+        new ObjectMapper().writerWithDefaultPrettyPrinter().writeValue(path.toFile(), history);
+
+        try {
+            gitHandler.addToRepo();
+            gitHandler.commitToRepo(commitMessage);
+            gitHandler.pushToRepo();
+        } catch (GitAPIException e) {
+            log.error("synchronize app description", e);
+            throw new AppManagerException(e);
+        }
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/AppManagerException.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/AppManagerException.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d7f72aca57fb14c20146450c5af401411bda887
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/AppManagerException.java
@@ -0,0 +1,21 @@
+package eu.DECIDEh2020.appManager.exceptions;
+
+public class AppManagerException extends Exception {
+
+    public AppManagerException() {
+        super();
+    }
+
+    public AppManagerException(String message) {
+        super(message);
+    }
+
+    public AppManagerException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public AppManagerException(Throwable cause) {
+        super(cause);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/DECIDEValidationException.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/DECIDEValidationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb8745998dc73158f6e83cbab034820acc5e3be0
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/exceptions/DECIDEValidationException.java
@@ -0,0 +1,13 @@
+package eu.DECIDEh2020.appManager.exceptions;
+
+public class DECIDEValidationException extends AppManagerException {
+
+    public DECIDEValidationException(Throwable throwable) {
+        super(throwable);
+    }
+
+    public DECIDEValidationException(String message) {
+        super(message);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AppDescription.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AppDescription.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ba1ab8ee0e9a931db611212a1feb2a7ca91d879
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AppDescription.java
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* Eclipse Public License version 2.0 which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Torben Jastrow (Fraunhofer FOKUS) 
+* 
+* **Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu */
+package eu.DECIDEh2020.appManager.models;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.JsonNode;
+
+@JsonInclude(Include.NON_EMPTY)
+public class AppDescription {
+
+	private String id;
+	private String name;
+	private String description;
+	private String version;
+
+	private Boolean highTechnologicalRisk;
+
+	private String jenkinsEndpoint;
+	private String jenkinsToken;
+
+	private List<Nfr> nfrs = new ArrayList<>();
+
+	private List<Microservice> microservices = new ArrayList<>();
+
+	private Mcsla mcsla;
+
+	private List<Container> containers = new ArrayList<>();
+	private List<VirtualMachine> virtualMachines = new ArrayList<>();
+
+	private List<Pattern> recommendedPatterns = new ArrayList<>();
+
+	private List<SchemaElement> schema = new ArrayList<>();
+
+	private Monitoring monitoring;
+
+	private String applicationInstanceId;
+
+	private Map<String, JsonNode> additionalProperties = new HashMap<>();
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getVersion() {
+		return version;
+	}
+
+	public void setVersion(String version) {
+		this.version = version;
+	}
+
+	public Boolean getHighTechnologicalRisk() {
+		return highTechnologicalRisk;
+	}
+
+	public void setHighTechnologicalRisk(Boolean highTechnologicalRisk) {
+		this.highTechnologicalRisk = highTechnologicalRisk;
+	}
+
+	public String getJenkinsEndpoint() {
+		return jenkinsEndpoint;
+	}
+
+	public void setJenkinsEndpoint(String jenkinsEndpoint) {
+		this.jenkinsEndpoint = jenkinsEndpoint;
+	}
+
+	public String getJenkinsToken() {
+		return jenkinsToken;
+	}
+
+	public void setJenkinsToken(String jenkinsToken) {
+		this.jenkinsToken = jenkinsToken;
+	}
+
+	public List<Nfr> getNfrs() {
+		return nfrs;
+	}
+
+	public void setNfrs(List<Nfr> nfrs) {
+		this.nfrs = nfrs;
+	}
+
+	public List<Microservice> getMicroservices() {
+		return microservices;
+	}
+
+	public void setMicroservices(List<Microservice> microservices) {
+		this.microservices = microservices;
+	}
+
+	public Mcsla getMcsla() {
+		return mcsla;
+	}
+
+	public void setMcsla(Mcsla mcsla) {
+		this.mcsla = mcsla;
+	}
+
+	public List<Container> getContainers() {
+		return containers;
+	}
+
+	public void setContainers(List<Container> containers) {
+		this.containers = containers;
+	}
+
+	public List<VirtualMachine> getVirtualMachines() {
+		return virtualMachines;
+	}
+
+	public void setVirtualMachines(List<VirtualMachine> virtualMachines) {
+		this.virtualMachines = virtualMachines;
+	}
+
+	public List<SchemaElement> getSchema() {
+		return schema;
+	}
+
+	public void setSchema(List<SchemaElement> schema) {
+		this.schema = schema;
+	}
+
+	public Monitoring getMonitoring() {
+		return monitoring;
+	}
+
+	public void setMonitoring(Monitoring monitoring) {
+		this.monitoring = monitoring;
+	}
+
+	public List<Pattern> getRecommendedPatterns() {
+		return recommendedPatterns;
+	}
+
+	public void setRecommendedPatterns(List<Pattern> recommendedPatterns) {
+		this.recommendedPatterns = recommendedPatterns;
+	}
+
+	public String getApplicationInstanceId() {
+		return applicationInstanceId;
+	}
+
+	public void setApplicationInstanceId(String applicationInstanceId) {
+		this.applicationInstanceId = applicationInstanceId;
+	}
+
+	@JsonAnyGetter
+	public Map<String, JsonNode> getAdditionalProperties() {
+		return additionalProperties;
+	}
+
+	@JsonAnySetter
+	public void setAdditionalProperties(String property, JsonNode value) {
+		additionalProperties.put(property, value);
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AvailabilityNfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AvailabilityNfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f6b55331bcba9acc540a8a0087fa5eda9b02543
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/AvailabilityNfr.java
@@ -0,0 +1,44 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonInclude(Include.NON_EMPTY)
+public class AvailabilityNfr extends Nfr {
+
+    private String abstractValue;
+
+    private Double value;
+
+    private String unit;
+
+    public String getAbstractValue() {
+        return abstractValue;
+    }
+
+    public void setAbstractValue(String abstractValue) {
+        this.abstractValue = abstractValue;
+    }
+
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(double value) {
+        this.value = value;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Container.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Container.java
new file mode 100644
index 0000000000000000000000000000000000000000..a50317d62dab8e19cc3077b5619f60ce8ef210ed
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Container.java
@@ -0,0 +1,212 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class Container {
+
+    private String name;
+    private String imageName;
+    private String imageTag;
+
+    private String dockerPrivateRegistryIp;
+    private Integer dockerPrivateRegistryPort;
+
+    private String hostname;
+    private String restart;
+
+    private List<String> command = new ArrayList<>();
+    private List<String> entrypoint = new ArrayList<>();
+
+    private String dockerHostNodeName;
+
+    private List<String> networks = new ArrayList<>();
+
+    private List<VolumeMapping> volumeMapping = new ArrayList<>();
+
+    private List<String> environment = new ArrayList<>();
+
+    private String consulKvProviderNodeName;
+    private Integer addConsulService;
+
+    private Integer consulServicePort;
+
+    private Integer addConsulTraefikRules;
+
+    private List<PortMapping> portMapping = new ArrayList<>();
+
+    private List<Endpoint> endpoints = new ArrayList<>();
+
+    private Map<String, JsonNode> additionalProperties = new HashMap<>();
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getImageName() {
+        return imageName;
+    }
+
+    public void setImageName(String imageName) {
+        this.imageName = imageName;
+    }
+
+    public String getImageTag() {
+        return imageTag;
+    }
+
+    public void setImageTag(String imageTag) {
+        this.imageTag = imageTag;
+    }
+
+    public String getDockerPrivateRegistryIp() {
+        return dockerPrivateRegistryIp;
+    }
+
+    public void setDockerPrivateRegistryIp(String dockerPrivateRegistryIp) {
+        this.dockerPrivateRegistryIp = dockerPrivateRegistryIp;
+    }
+
+    public Integer getDockerPrivateRegistryPort() {
+        return dockerPrivateRegistryPort;
+    }
+
+    public void setDockerPrivateRegistryPort(Integer dockerPrivateRegistryPort) {
+        this.dockerPrivateRegistryPort = dockerPrivateRegistryPort;
+    }
+
+    public String getHostname() {
+        return hostname;
+    }
+
+    public void setHostname(String hostname) {
+        this.hostname = hostname;
+    }
+
+    public String getRestart() {
+        return restart;
+    }
+
+    public void setRestart(String restart) {
+        this.restart = restart;
+    }
+
+    public List<String> getCommand() {
+        return command;
+    }
+
+    public void setCommand(List<String> command) {
+        this.command = command;
+    }
+
+    public List<String> getEntrypoint() {
+        return entrypoint;
+    }
+
+    public void setEntrypoint(List<String> entrypoint) {
+        this.entrypoint = entrypoint;
+    }
+
+    public String getDockerHostNodeName() {
+        return dockerHostNodeName;
+    }
+
+    public void setDockerHostNodeName(String dockerHostNodeName) {
+        this.dockerHostNodeName = dockerHostNodeName;
+    }
+
+    public List<String> getNetworks() {
+        return networks;
+    }
+
+    public void setNetworks(List<String> networks) {
+        this.networks = networks;
+    }
+
+    public List<VolumeMapping> getVolumeMapping() {
+        return volumeMapping;
+    }
+
+    public void setVolumeMapping(List<VolumeMapping> volumeMapping) {
+        this.volumeMapping = volumeMapping;
+    }
+
+    public List<String> getEnvironment() {
+        return environment;
+    }
+
+    public void setEnvironment(List<String> environment) {
+        this.environment = environment;
+    }
+
+    public String getConsulKvProviderNodeName() {
+        return consulKvProviderNodeName;
+    }
+
+    public void setConsulKvProviderNodeName(String consulKvProviderNodeName) {
+        this.consulKvProviderNodeName = consulKvProviderNodeName;
+    }
+
+    public Integer getAddConsulService() {
+        return addConsulService;
+    }
+
+    public void setAddConsulService(Integer addConsulService) {
+        this.addConsulService = addConsulService;
+    }
+
+    public List<PortMapping> getPortMapping() {
+        return portMapping;
+    }
+
+    public void setPortMapping(List<PortMapping> portMapping) {
+        this.portMapping = portMapping;
+    }
+
+    public List<Endpoint> getEndpoints() {
+        return endpoints;
+    }
+
+    public void setEndpoints(List<Endpoint> endpoints) {
+        this.endpoints = endpoints;
+    }
+
+    public Integer getConsulServicePort() {
+        return consulServicePort;
+    }
+
+    public void setConsulServicePort(Integer consulServicePort) {
+        this.consulServicePort = consulServicePort;
+    }
+
+    public void setAddConsulTraefikRules(Integer addConsulTraefikRules) {
+        this.addConsulTraefikRules = addConsulTraefikRules;
+    }
+
+    public Integer getAddConsulTraefikRules() {
+        return addConsulTraefikRules;
+    }
+
+    @JsonAnyGetter
+    public Map<String, JsonNode> getAdditionalProperties() {
+        return additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperties(String property, JsonNode value) {
+        additionalProperties.put(property, value);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/CostNfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/CostNfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..f0c9f16f03fdfa6d718508dd00dae55964367fa1
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/CostNfr.java
@@ -0,0 +1,39 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonInclude(Include.NON_EMPTY)
+public class CostNfr extends Nfr {
+
+    private String abstractValue;
+
+    private Double value;
+
+    private String unit;
+
+    public String getAbstractValue() {
+        return abstractValue;
+    }
+
+    public void setAbstractValue(String abstractValue) {
+        this.abstractValue = abstractValue;
+    }
+
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(Double value) {
+        this.value = value;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/DetachableResource.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/DetachableResource.java
new file mode 100644
index 0000000000000000000000000000000000000000..454d11dd5580a0ba4b70cabfa904e6d53e83f9c7
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/DetachableResource.java
@@ -0,0 +1,75 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class DetachableResource {
+
+    private String id;
+    private String name;
+    private Boolean db;
+    private Boolean sql;
+    private String specificDb;
+    private String size;
+    private String classification;
+
+
+    public String getName() {
+        return name;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Boolean isDb() {
+        return db;
+    }
+
+    public void setDb(Boolean db) {
+        this.db = db;
+    }
+
+    public String getClassification() {
+        return classification;
+    }
+
+    public void setClassification(String classification) {
+        this.classification = classification;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Boolean isSql() {
+        return sql;
+    }
+
+    public void setSql(Boolean sql) {
+        this.sql = sql;
+    }
+
+    public String getSpecificDb() {
+        return specificDb;
+    }
+
+    public void setSpecificDb(String specificDb) {
+        this.specificDb = specificDb;
+    }
+
+    public String getSize() {
+        return size;
+    }
+
+    public void setSize(String size) {
+        this.size = size;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Endpoint.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Endpoint.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e4e9a7b24a5c63ba6160c67bf09809aebbe9c5e
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Endpoint.java
@@ -0,0 +1,47 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class Endpoint {
+
+    private String protocol;
+    private Integer port;
+    private Integer skipRule;
+    private String containerNameOverride;
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    public Integer getPort() {
+        return port;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public Integer getSkipRule() {
+        return skipRule;
+    }
+
+    public void setSkipRule(Integer skipRule) {
+        this.skipRule = skipRule;
+    }
+
+    public String getContainerNameOverride() {
+        return containerNameOverride;
+    }
+
+    public void setContainerNameOverride(String containerNameOverride) {
+        this.containerNameOverride = containerNameOverride;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Expression.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Expression.java
new file mode 100644
index 0000000000000000000000000000000000000000..d779bc7ba37c761b249826080d529fce6203aeff
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Expression.java
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Expression {
+
+	private String id;
+	private String expression;
+	private String expressionLanguage;
+	private String note;
+	private String unit;
+
+	private List<Expression> subExpressions = new ArrayList<>();
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getExpression() {
+		return expression;
+	}
+
+	public void setExpression(String expression) {
+		this.expression = expression;
+	}
+
+	public String getExpressionLanguage() {
+		return expressionLanguage;
+	}
+
+	public void setExpressionLanguage(String expressionLanguage) {
+		this.expressionLanguage = expressionLanguage;
+	}
+
+	public String getNote() {
+		return note;
+	}
+
+	public void setNote(String note) {
+		this.note = note;
+	}
+
+	public String getUnit() {
+		return unit;
+	}
+
+	public void setUnit(String unit) {
+		this.unit = unit;
+	}
+
+	public List<Expression> getSubExpressions() {
+		return subExpressions;
+	}
+
+	public void setSubExpressions(List<Expression> subExpressions) {
+		this.subExpressions = subExpressions;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoricalDeployment.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoricalDeployment.java
new file mode 100644
index 0000000000000000000000000000000000000000..5fe746c91d105f68f1f69d91882496eb59ee1ab7
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoricalDeployment.java
@@ -0,0 +1,34 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class HistoricalDeployment {
+
+    private String deployedOn;
+
+    private List<ObjectNode> slaBreaches = new ArrayList<>();
+
+    public String getDeployedOn() {
+        return deployedOn;
+    }
+
+    public void setDeployedOn(String deployedOn) {
+        this.deployedOn = deployedOn;
+    }
+
+    public List<ObjectNode> getSlaBreaches() {
+        return slaBreaches;
+    }
+
+    public void setSlaBreaches(List<ObjectNode> slaBreaches) {
+        this.slaBreaches = slaBreaches;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoryEntry.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoryEntry.java
new file mode 100644
index 0000000000000000000000000000000000000000..c3522e648be45d15bbc2f76add8a36401232d379
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/HistoryEntry.java
@@ -0,0 +1,33 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class HistoryEntry {
+
+    private String date;
+
+    private Map<String, HistoricalDeployment> deployments = new HashMap<>();
+
+    public String getDate() {
+        return date;
+    }
+
+    public void setDate(String date) {
+        this.date = date;
+    }
+
+    public Map<String, HistoricalDeployment> getDeployments() {
+        return deployments;
+    }
+
+    public void setDeployments(Map<String, HistoricalDeployment> deployments) {
+        this.deployments = deployments;
+    }
+    
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/InfrastructureRequirements.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/InfrastructureRequirements.java
new file mode 100644
index 0000000000000000000000000000000000000000..c9d604131bf5ac3f9d63f184dc42d3d98c5bbdfa
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/InfrastructureRequirements.java
@@ -0,0 +1,45 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class InfrastructureRequirements {
+
+	private String minDisk, maxDisk, minRam, maxRam;
+
+	public String getMinDisk() {
+		return minDisk;
+	}
+
+	public void setMinDisk(String minDisk) {
+		this.minDisk = minDisk;
+	}
+
+	public String getMaxDisk() {
+		return maxDisk;
+	}
+
+	public void setMaxDisk(String maxDisk) {
+		this.maxDisk = maxDisk;
+	}
+
+	public String getMinRam() {
+		return minRam;
+	}
+
+	public void setMinRam(String minRam) {
+		this.minRam = minRam;
+	}
+
+	public String getMaxRam() {
+		return maxRam;
+	}
+
+	public void setMaxRam(String maxRam) {
+		this.maxRam = maxRam;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/LocationNfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/LocationNfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef259009067eb6b7b71abc46aa4c051bd23f6b43
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/LocationNfr.java
@@ -0,0 +1,31 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.List;
+
+@JsonInclude(Include.NON_EMPTY)
+public class LocationNfr extends Nfr {
+
+    private String abstractValue;
+
+    private List<String> value;
+
+    public String getAbstractValue() {
+        return abstractValue;
+    }
+
+    public void setAbstractValue(String abstractValue) {
+        this.abstractValue = abstractValue;
+    }
+
+    public List<String> getValue() {
+        return value;
+    }
+
+    public void setValue(List<String> value) {
+        this.value = value;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Mcsla.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Mcsla.java
new file mode 100644
index 0000000000000000000000000000000000000000..0062cdc298b981c8c88e42a4c5f1ba889f604bab
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Mcsla.java
@@ -0,0 +1,49 @@
+package eu.DECIDEh2020.appManager.models;
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+* Simon Dutkowski Fraunhofer FOKUS
+*
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_NULL)
+public class Mcsla {
+
+	private Sla sla;
+
+	private Map<String, Sla> csSlas = new HashMap<>();
+
+	public Sla getSla() {
+		return sla;
+	}
+
+	public void setSla(Sla sla) {
+		this.sla = sla;
+	}
+
+	public Map<String, Sla> getCsSlas() {
+		return csSlas;
+	}
+
+	public void setCsSlas(Map<String, Sla> csSlas) {
+		this.csSlas = csSlas;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Metric.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Metric.java
new file mode 100644
index 0000000000000000000000000000000000000000..87ab2eb1fc9f441bee9a4a7976941255ce01490b
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Metric.java
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Metric {
+
+	private String id;
+	private String descriptor;
+	private String source;
+	private String scale;
+	private String note;
+	private String category;
+
+	private Expression expression;
+
+	private List<Parameter> parameters = new ArrayList<>();
+
+	private List<Metric> underlyingMetrics = new ArrayList<>();
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getDescriptor() {
+		return descriptor;
+	}
+
+	public void setDescriptor(String descriptor) {
+		this.descriptor = descriptor;
+	}
+
+	public String getSource() {
+		return source;
+	}
+
+	public void setSource(String source) {
+		this.source = source;
+	}
+
+	public String getScale() {
+		return scale;
+	}
+
+	public void setScale(String scale) {
+		this.scale = scale;
+	}
+
+	public String getNote() {
+		return note;
+	}
+
+	public void setNote(String note) {
+		this.note = note;
+	}
+
+	public String getCategory() {
+		return category;
+	}
+
+	public void setCategory(String category) {
+		this.category = category;
+	}
+
+	public Expression getExpression() {
+		return expression;
+	}
+
+	public void setExpression(Expression expression) {
+		this.expression = expression;
+	}
+
+	public List<Parameter> getParameters() {
+		return parameters;
+	}
+
+	public void setParameters(List<Parameter> parameters) {
+		this.parameters = parameters;
+	}
+
+	public List<Metric> getUnderlyingMetrics() {
+		return underlyingMetrics;
+	}
+
+	public void setUnderlyingMetrics(List<Metric> underlyingMetrics) {
+		this.underlyingMetrics = underlyingMetrics;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Microservice.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Microservice.java
new file mode 100644
index 0000000000000000000000000000000000000000..dccefd3a72f9fe17dd62358a65630cb3f079a56e
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Microservice.java
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* Eclipse Public License version 2.0 which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Torben Jastrow (Fraunhofer FOKUS) 
+* 
+* **Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu */
+package eu.DECIDEh2020.appManager.models;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Microservice {
+
+	private String id;
+	private String name;
+	private String classification;
+	private Boolean stateful = false;
+	private String programmingLanguage;
+	private String sourceRepository;
+	private List<String> tags = new ArrayList<>();
+	private Boolean publicIP = false;
+	private List<String> endpoints = new ArrayList<>();
+	private String containerId;
+	private String containerRef;
+	private Integer deploymentOrder;
+	private List<String> dependencies = new ArrayList<>();
+	private List<String> safeMethods = new ArrayList<>();
+	private List<DetachableResource> detachableResources = new ArrayList<>();
+	private InfrastructureRequirements infrastructureRequirements;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getClassification() {
+		return classification;
+	}
+
+	public void setClassification(String classification) {
+		this.classification = classification;
+	}
+
+	public Boolean isStateful() {
+		return stateful;
+	}
+
+	public void setStateful(Boolean stateful) {
+		this.stateful = stateful;
+	}
+
+	public String getProgrammingLanguage() {
+		return programmingLanguage;
+	}
+
+	public void setProgrammingLanguage(String programmingLanguage) {
+		this.programmingLanguage = programmingLanguage;
+	}
+
+	public String getSourceRepository() {
+		return sourceRepository;
+	}
+
+	public void setSourceRepository(String sourceRepository) {
+		this.sourceRepository = sourceRepository;
+	}
+
+	public List<String> getTags() {
+		return tags;
+	}
+
+	public void setTags(List<String> tags) {
+		this.tags = tags;
+	}
+
+	public void setNfrs(List<String> tags) {
+		this.tags = tags;
+	}
+
+	public Boolean isPublicIP() {
+		return publicIP;
+	}
+
+	public void setPublicIP(Boolean publicIP) {
+		this.publicIP = publicIP;
+	}
+
+	public List<String> getEndpoints() {
+		return endpoints;
+	}
+
+	public void setEndpoints(List<String> endpoints) {
+		this.endpoints = endpoints;
+	}
+
+	public String getContainerId() {
+		return containerId;
+	}
+
+	public void setContainerId(String containerId) {
+		this.containerId = containerId;
+	}
+
+	public String getContainerRef() {
+		return containerRef;
+	}
+
+	public void setContainerRef(String containerRef) {
+		this.containerRef = containerRef;
+	}
+
+	public Integer getDeploymentOrder() {
+		return deploymentOrder;
+	}
+
+	public void setDeploymentOrder(Integer deploymentOrder) {
+		this.deploymentOrder = deploymentOrder;
+	}
+
+	public List<String> getDependencies() {
+		return dependencies;
+	}
+
+	public void setDependencies(List<String> dependencies) {
+		this.dependencies = dependencies;
+	}
+
+	public List<String> getSafeMethods() {
+		return safeMethods;
+	}
+
+	public void setSafeMethods(List<String> safeMethods) {
+		this.safeMethods = safeMethods;
+	}
+
+	public List<DetachableResource> getDetachableResources() {
+		return detachableResources;
+	}
+
+	public void setDetachableResources(List<DetachableResource> detachableResources) {
+		this.detachableResources = detachableResources;
+	}
+
+	public InfrastructureRequirements getInfrastructureRequirements() {
+		return infrastructureRequirements;
+	}
+
+	public void setInfrastructureRequirements(InfrastructureRequirements infrastructureRequirements) {
+		this.infrastructureRequirements = infrastructureRequirements;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Monitoring.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Monitoring.java
new file mode 100644
index 0000000000000000000000000000000000000000..683d621a2b64ce3da44c25378b38b2c7b07bb243
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Monitoring.java
@@ -0,0 +1,31 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class Monitoring {
+    private Boolean status;
+    private List<String> urls = new ArrayList<>();
+
+    public Boolean getStatus() {
+        return status;
+    }
+
+    public void setStatus(Boolean status) {
+        this.status = status;
+    }
+
+    public List<String> getUrls() {
+        return urls;
+    }
+
+    public void setUrls(List<String> urls) {
+        this.urls = urls;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Nfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Nfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..2fe82f17584da7bcfb38063c3f5b6e0378455914
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Nfr.java
@@ -0,0 +1,59 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonTypeInfo(
+        use = JsonTypeInfo.Id.NAME,
+        include = JsonTypeInfo.As.PROPERTY,
+        property = "type",
+        visible = true)
+@JsonSubTypes({
+        @JsonSubTypes.Type(value = AvailabilityNfr.class, name = "Availability"),
+        @JsonSubTypes.Type(value = PerformanceNfr.class, name = "Performance"),
+        @JsonSubTypes.Type(value = ScalabilityNfr.class, name = "Scalability"),
+        @JsonSubTypes.Type(value = LocationNfr.class, name = "Location"),
+        @JsonSubTypes.Type(value = CostNfr.class, name = "Cost")})
+@JsonInclude(Include.NON_EMPTY)
+public class Nfr {
+
+    @JsonTypeId
+    private String type;
+
+    private List<String> tags = new ArrayList<>();
+
+    private Map<String, JsonNode> additionalProperties = new HashMap<>();
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public List<String> getTags() {
+        return tags;
+    }
+
+    public void setTags(List<String> tags) {
+        this.tags = tags;
+    }
+
+    @JsonAnyGetter
+    public Map<String, JsonNode> getAdditionalProperties() {
+        return additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperties(String property, JsonNode value) {
+        additionalProperties.put(property, value);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Parameter.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Parameter.java
new file mode 100644
index 0000000000000000000000000000000000000000..72de122b20192fd8040776c712c8779c9cb15ae3
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Parameter.java
@@ -0,0 +1,61 @@
+package eu.DECIDEh2020.appManager.models;
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Parameter {
+
+	private String id;
+	private String parameterStatement;
+	private String unit;
+	private String note;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getParameterStatement() {
+		return parameterStatement;
+	}
+
+	public void setParameterStatement(String parameterStatement) {
+		this.parameterStatement = parameterStatement;
+	}
+
+	public String getUnit() {
+		return unit;
+	}
+
+	public void setUnit(String unit) {
+		this.unit = unit;
+	}
+
+	public String getNote() {
+		return note;
+	}
+
+	public void setNote(String note) {
+		this.note = note;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Pattern.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Pattern.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e363a0144ac45f46d60fb51f1d819eab3b265b0
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Pattern.java
@@ -0,0 +1,88 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonInclude(Include.NON_EMPTY)
+public class Pattern {
+    private String title;
+
+    private String uriRef;
+
+    private List<String> tags = new ArrayList<>();
+
+    private List<String> positiveImpacts = new ArrayList<>();
+
+    private List<String> categories = new ArrayList<>();
+
+    private Boolean selected = false;
+
+    private Map<String, JsonNode> additionalProperties = new HashMap<>();
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getUriRef() {
+        return uriRef;
+    }
+
+    public void setUriRef(String uriRef) {
+        this.uriRef = uriRef;
+    }
+
+    public List<String> getTags() {
+        return tags;
+    }
+
+    public void setTags(List<String> tags) {
+        this.tags = tags;
+    }
+
+    public List<String> getPositiveImpacts() {
+        return positiveImpacts;
+    }
+
+    public void setPositiveImpacts(List<String> positiveImpacts) {
+        this.positiveImpacts = positiveImpacts;
+    }
+
+    public List<String> getCategories() {
+        return categories;
+    }
+
+    public void setCategories(List<String> categories) {
+        this.categories = categories;
+    }
+
+    public Boolean isSelected() {
+        return selected;
+    }
+
+    public void setSelected(Boolean selected) {
+        this.selected = selected;
+    }
+
+    @JsonAnyGetter
+    public Map<String, JsonNode> getAdditionalProperties() {
+        return additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperties(String property, JsonNode value) {
+        additionalProperties.put(property, value);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PerformanceNfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PerformanceNfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..630428962597e5d1c478f68e783bd58e7f819cfa
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PerformanceNfr.java
@@ -0,0 +1,39 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonInclude(Include.NON_EMPTY)
+public class PerformanceNfr extends Nfr {
+
+    private String abstractValue;
+
+    private Double value;
+
+    private String unit;
+
+    public String getAbstractValue() {
+        return abstractValue;
+    }
+
+    public void setAbstractValue(String abstractValue) {
+        this.abstractValue = abstractValue;
+    }
+
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(Double value) {
+        this.value = value;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PortMapping.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PortMapping.java
new file mode 100644
index 0000000000000000000000000000000000000000..4aac9af77d851f2d60a7320aeaa5843e25f998cc
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/PortMapping.java
@@ -0,0 +1,30 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class PortMapping {
+
+    private String hostPort;
+
+    private String containerPort;
+
+    public String getHostPort() {
+        return hostPort;
+    }
+
+    public void setHostPort(String hostPort) {
+        this.hostPort = hostPort;
+    }
+
+    public String getContainerPort() {
+        return containerPort;
+    }
+
+    public void setContainerPort(String containerPort) {
+        this.containerPort = containerPort;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Remedy.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Remedy.java
new file mode 100644
index 0000000000000000000000000000000000000000..c99ac1da25e4bf0741b1d44ce61addf7b44dac7b
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Remedy.java
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Remedy {
+
+	private String type;
+	private Integer value;
+	private String unit;
+	private String validity;
+
+	public String getType() {
+		return type;
+	}
+
+	public String getUnit() {
+		return unit;
+	}
+
+	public String getValidity() {
+		return validity;
+	}
+
+	public Integer getValue() {
+		return value;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public void setUnit(String unit) {
+		this.unit = unit;
+	}
+
+	public void setValidity(String validity) {
+		this.validity = validity;
+	}
+
+	public void setValue(Integer value) {
+		this.value = value;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ScalabilityNfr.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ScalabilityNfr.java
new file mode 100644
index 0000000000000000000000000000000000000000..60b9481f982ca4fe59ad66982381d62145d9cf82
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ScalabilityNfr.java
@@ -0,0 +1,41 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.List;
+
+@JsonInclude(Include.NON_EMPTY)
+public class ScalabilityNfr extends Nfr {
+
+    private String abstractValue;
+
+    private Double value;
+
+    private String unit;
+
+    public String getAbstractValue() {
+        return abstractValue;
+    }
+
+    public void setAbstractValue(String abstractValue) {
+        this.abstractValue = abstractValue;
+    }
+
+    public Double getValue() {
+        return value;
+    }
+
+    public void setValue(Double value) {
+        this.value = value;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/SchemaElement.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/SchemaElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..9f720dfd476fd03c2a2458afa80e0adb677612ac
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/SchemaElement.java
@@ -0,0 +1,42 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class SchemaElement {
+
+    private List<String> microservices;
+
+    private String csId;
+
+    private Integer index;
+
+    public List<String> getMicroservices() {
+        return microservices;
+    }
+
+    public void setMicroservices(List<String> microservices) {
+        this.microservices = microservices;
+    }
+
+    public String getCsId() {
+        return csId;
+    }
+
+    public void setCsId(String csId) {
+        this.csId = csId;
+    }
+
+    public Integer getIndex() {
+        return index;
+    }
+
+    public void setIndex(Integer index) {
+        this.index = index;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ServiceObjective.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ServiceObjective.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7ef72c81a02a3a6a6458b983dcee0ab8bae9d78
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ServiceObjective.java
@@ -0,0 +1,112 @@
+package eu.DECIDEh2020.appManager.models;
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+* Simon Dutkowski Fraunhofer FOKUS
+*
+* *Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class ServiceObjective {
+
+	private String comment;
+	private String termName;
+
+	private String type;
+
+	private String value;
+	private String unit;
+	private String conditionStatement;
+	private List<ViolationTriggerRule> violationTriggerRules = new ArrayList<>();
+	private Remedy remedy;
+	private List<Metric> metrics = new ArrayList<>();
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public String getTermName() {
+		return termName;
+	}
+
+	public void setTermName(String termName) {
+		this.termName = termName;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
+	public String getValue() {
+		return value;
+	}
+
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	public String getUnit() {
+		return unit;
+	}
+
+	public void setUnit(String unit) {
+		this.unit = unit;
+	}
+
+	public String getConditionStatement() {
+		return conditionStatement;
+	}
+
+	public void setConditionStatement(String conditionStatement) {
+		this.conditionStatement = conditionStatement;
+	}
+
+	public List<ViolationTriggerRule> getViolationTriggerRules() {
+		return violationTriggerRules;
+	}
+
+	public void setViolationTriggerRules(List<ViolationTriggerRule> violationTriggerRules) {
+		this.violationTriggerRules = violationTriggerRules;
+	}
+
+	public Remedy getRemedy() {
+		return remedy;
+	}
+
+	public void setRemedy(Remedy remedy) {
+		this.remedy = remedy;
+	}
+
+	public List<Metric> getMetrics() {
+		return metrics;
+	}
+
+	public void setMetrics(List<Metric> metrics) {
+		this.metrics = metrics;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Sla.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Sla.java
new file mode 100644
index 0000000000000000000000000000000000000000..eab6f6beab87fc6190898a42c8f771eefe84cea0
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/Sla.java
@@ -0,0 +1,81 @@
+package eu.DECIDEh2020.appManager.models;
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+* Simon Dutkowski Fraunhofer FOKUS
+*
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(Include.NON_EMPTY)
+public class Sla {
+
+	private String description;
+
+	private String visibility;
+
+	private Integer validityPeriod;
+
+	private List<String> coveredServices = new ArrayList<>();
+
+	// SLA definitions
+
+	private List<ServiceObjective> objectives = new ArrayList<>();
+
+	// Roles and responsibilities
+
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
+	public String getVisibility() {
+		return visibility;
+	}
+
+	public void setVisibility(String visibility) {
+		this.visibility = visibility;
+	}
+
+	public Integer getValidityPeriod() {
+		return validityPeriod;
+	}
+
+	public void setValidityPeriod(Integer validityPeriod) {
+		this.validityPeriod = validityPeriod;
+	}
+
+	public List<String> getCoveredServices() {
+		return coveredServices;
+	}
+
+	public void setCoveredServices(List<String> coveredServices) {
+		this.coveredServices = coveredServices;
+	}
+
+	public List<ServiceObjective> getObjectives() {
+		return objectives;
+	}
+
+	public void setObjectives(List<ServiceObjective> objectives) {
+		this.objectives = objectives;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ViolationTriggerRule.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ViolationTriggerRule.java
new file mode 100644
index 0000000000000000000000000000000000000000..1abe176ef627802188ddef4bfce9af6eddb81aa8
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/ViolationTriggerRule.java
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* <<licensing_schema_to_be_decided>> which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Majid Salehi Ghamsari Fraunhofer FOKUS
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+*/
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class ViolationTriggerRule {
+
+	private Integer breachesCount;
+	private Integer violationInterval;
+
+	public Integer getBreachesCount() {
+		return breachesCount;
+	}
+
+	public void setBreachesCount(Integer breachesCount) {
+		this.breachesCount = breachesCount;
+	}
+
+	public Integer getViolationInterval() {
+		return violationInterval;
+	}
+
+	public void setViolationInterval(Integer violationInterval) {
+		this.violationInterval = violationInterval;
+	}
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VirtualMachine.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VirtualMachine.java
new file mode 100644
index 0000000000000000000000000000000000000000..21a014333f6dee10ba8a28efda139837d7aa9108
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VirtualMachine.java
@@ -0,0 +1,225 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class VirtualMachine {
+
+    private String id;
+
+    private String cspId;
+    private String cspName;
+
+    private Integer ram;
+    private Integer cores;
+    private Integer storage;
+    private String image;
+
+    private String cloudBrokerEndpoint;
+    private String cloudBrokerUsername;
+    private String cloudBrokerPassword;
+
+    private String vmSoftwareId;
+    private String vmResourceId;
+    private String vmRegionId;
+
+    private String instanceTypeId;
+    private String keyPairId;
+
+    private List<Integer> openedPorts = new ArrayList<>();
+
+    private String consulJoinIp;
+    private String dockerPrivateRegistryIp;
+    private Integer dockerPrivateRegistryPPort;
+
+    private String dockerHostNodeName;
+    private String dockerHostPublicIp;
+
+    private Map<String, JsonNode> additionalProperties = new HashMap<>();
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getCspId() {
+        return cspId;
+    }
+
+    public void setCspId(String cspId) {
+        this.cspId = cspId;
+    }
+
+    public String getCspName() {
+        return cspName;
+    }
+
+    public void setCspName(String cspName) {
+        this.cspName = cspName;
+    }
+
+    public Integer getRam() {
+        return ram;
+    }
+
+    public void setRam(Integer ram) {
+        this.ram = ram;
+    }
+
+    public Integer getCores() {
+        return cores;
+    }
+
+    public void setCores(Integer cores) {
+        this.cores = cores;
+    }
+
+    public Integer getStorage() {
+        return storage;
+    }
+
+    public void setStorage(Integer storage) {
+        this.storage = storage;
+    }
+
+    public String getImage() {
+        return image;
+    }
+
+    public void setImage(String image) {
+        this.image = image;
+    }
+
+    public String getCloudBrokerEndpoint() {
+        return cloudBrokerEndpoint;
+    }
+
+    public void setCloudBrokerEndpoint(String cloudBrokerEndpoint) {
+        this.cloudBrokerEndpoint = cloudBrokerEndpoint;
+    }
+
+    public String getCloudBrokerUsername() {
+        return cloudBrokerUsername;
+    }
+
+    public void setCloudBrokerUsername(String cloudBrokerUsername) {
+        this.cloudBrokerUsername = cloudBrokerUsername;
+    }
+
+    public String getCloudBrokerPassword() {
+        return cloudBrokerPassword;
+    }
+
+    public void setCloudBrokerPassword(String cloudBrokerPassword) {
+        this.cloudBrokerPassword = cloudBrokerPassword;
+    }
+
+    public String getVmSoftwareId() {
+        return vmSoftwareId;
+    }
+
+    public void setVmSoftwareId(String vmSoftwareId) {
+        this.vmSoftwareId = vmSoftwareId;
+    }
+
+    public String getVmResourceId() {
+        return vmResourceId;
+    }
+
+    public void setVmResourceId(String vmResourceId) {
+        this.vmResourceId = vmResourceId;
+    }
+
+    public String getVmRegionId() {
+        return vmRegionId;
+    }
+
+    public void setVmRegionId(String vmRegionId) {
+        this.vmRegionId = vmRegionId;
+    }
+
+    public String getInstanceTypeId() {
+        return instanceTypeId;
+    }
+
+    public void setInstanceTypeId(String instanceTypeId) {
+        this.instanceTypeId = instanceTypeId;
+    }
+
+    public String getKeyPairId() {
+        return keyPairId;
+    }
+
+    public void setKeyPairId(String keyPairId) {
+        this.keyPairId = keyPairId;
+    }
+
+    public List<Integer> getOpenedPorts() {
+        return openedPorts;
+    }
+
+    public void setOpenedPorts(List<Integer> openedPorts) {
+        this.openedPorts = openedPorts;
+    }
+
+    public String getConsulJoinIp() {
+        return consulJoinIp;
+    }
+
+    public void setConsulJoinIp(String consulJoinIp) {
+        this.consulJoinIp = consulJoinIp;
+    }
+
+    public String getDockerPrivateRegistryIp() {
+        return dockerPrivateRegistryIp;
+    }
+
+    public void setDockerPrivateRegistryIp(String dockerPrivateRegistryIp) {
+        this.dockerPrivateRegistryIp = dockerPrivateRegistryIp;
+    }
+
+    public Integer getDockerPrivateRegistryPPort() {
+        return dockerPrivateRegistryPPort;
+    }
+
+    public void setDockerPrivateRegistryPPort(Integer dockerPrivateRegistryPPort) {
+        this.dockerPrivateRegistryPPort = dockerPrivateRegistryPPort;
+    }
+
+    public String getDockerHostNodeName() {
+        return dockerHostNodeName;
+    }
+
+    public void setDockerHostNodeName(String dockerHostNodeName) {
+        this.dockerHostNodeName = dockerHostNodeName;
+    }
+
+    public String getDockerHostPublicIp() {
+        return dockerHostPublicIp;
+    }
+
+    public void setDockerHostPublicIp(String dockerHostPublicIp) {
+        this.dockerHostPublicIp = dockerHostPublicIp;
+    }
+
+    @JsonAnyGetter
+    public Map<String, JsonNode> getAdditionalProperties() {
+        return additionalProperties;
+    }
+
+    @JsonAnySetter
+    public void setAdditionalProperties(String property, JsonNode value) {
+        additionalProperties.put(property, value);
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VolumeMapping.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VolumeMapping.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c91a1f8661976ea5bfa1d610f57f6287fdeb3e4
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/models/VolumeMapping.java
@@ -0,0 +1,30 @@
+package eu.DECIDEh2020.appManager.models;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public class VolumeMapping {
+
+    private String hostPath;
+
+    private String containerPath;
+
+    public String getHostPath() {
+        return hostPath;
+    }
+
+    public void setHostPath(String hostPath) {
+        this.hostPath = hostPath;
+    }
+
+    public String getContainerPath() {
+        return containerPath;
+    }
+
+    public void setContainerPath(String containerPath) {
+        this.containerPath = containerPath;
+    }
+
+}
diff --git a/AppController/src/main/java/eu/DECIDEh2020/appManager/persistence/GitHandler.java b/AppController/src/main/java/eu/DECIDEh2020/appManager/persistence/GitHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef96d9dc0ce868c81c3f4dd92a5edd809edc9c4d
--- /dev/null
+++ b/AppController/src/main/java/eu/DECIDEh2020/appManager/persistence/GitHandler.java
@@ -0,0 +1,387 @@
+/*
+* Copyright (c) 2017 Fraunhofer FOKUS.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the
+* Eclipse Public License version 2.0 which accompanies
+* this distribution, and is available at
+* https://opensource.org/licenses/EPL-2.0
+*
+* Contributors:
+*
+* Torben Jastrow (Fraunhofer FOKUS) 
+* 
+*
+**Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu */
+package eu.DECIDEh2020.appManager.persistence;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Iterator;
+
+import org.eclipse.jgit.api.*;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.api.errors.InvalidRemoteException;
+import org.eclipse.jgit.api.errors.JGitInternalException;
+import org.eclipse.jgit.merge.MergeStrategy;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
+import org.eclipse.jgit.transport.*;
+import org.eclipse.jgit.util.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GitHandler {
+
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+	public static class Repository {
+		Path path;
+
+		private String uri, host, user, password, name, port, protocol;
+		private boolean newRepo = true, localRepo = true;
+		private String token;
+
+		public Repository(String uri, Path path, String host, String user, String password, String port, String name, String protocol) {
+			this.uri = uri;
+			this.path = path;
+			this.host = host;
+			this.user = user;
+			this.name = name;
+			this.port = port;
+			this.protocol = protocol;
+			this.password = password;
+		}
+
+		public Repository() {
+
+		}
+
+		/**
+		 * @return the URI
+		 */
+		public String getURI() {
+			return uri;
+		}
+
+		/**
+		 * @param uri
+		 *            the URI to set
+		 */
+		public void setURI(String uri) {
+			this.uri = uri;
+		}
+
+		/**
+		 * @return the path
+		 */
+		public Path getPath() {
+			return path;
+		}
+
+		/**
+		 * @param path
+		 *            the path to set
+		 */
+		public void setPath(Path path) {
+			this.path = path;
+		}
+
+		/**
+		 * @return the host
+		 */
+		public String getHost() {
+			return host;
+		}
+
+		/**
+		 * @param host
+		 *            the host to set
+		 */
+		public void setHost(String host) {
+			this.host = host;
+		}
+
+		/**
+		 * @return the user
+		 */
+		public String getUser() {
+			return user;
+		}
+
+		/**
+		 * @param user
+		 *            the user to set
+		 */
+		public void setUser(String user) {
+			this.user = user;
+		}
+
+		/**
+		 * @return the password
+		 */
+		public String getPassword() {
+			return password;
+		}
+
+		/**
+		 * @param password
+		 *            the password to set
+		 */
+		public void setPassword(String password) {
+			this.password = password;
+		}
+
+		/**
+		 * @return the name
+		 */
+		public String getName() {
+			return name;
+		}
+
+		/**
+		 * @param name the name to set
+		 */
+		public void setName(String name) {
+			this.name = name;
+		}
+
+		/**
+		 * @return the port
+		 */
+		public String getPort() {
+			return port;
+		}
+
+		/**
+		 * @param port the port to set
+		 */
+		public void setPort(String port) {
+			this.port = port;
+		}
+
+		/**
+		 * @return the protocol
+		 */
+		public String getProtocol() {
+			return protocol;
+		}
+
+		/**
+		 * @param protocol the protocol to set
+		 */
+		public void setProtocol(String protocol) {
+			this.protocol = protocol;
+		}
+
+		/**
+		 * @return the newRepo
+		 */
+		public boolean isNewRepo() {
+			return newRepo;
+		}
+
+		/**
+		 * @param newRepo the newRepo to set
+		 */
+		public void setNewRepo(boolean newRepo) {
+			this.newRepo = newRepo;
+		}
+
+		/**
+		 * @return the localRepo
+		 */
+		public boolean isLocalRepo() {
+			return localRepo;
+		}
+
+		/**
+		 * @param localRepo the localRepo to set
+		 */
+		public void setLocalRepo(boolean localRepo) {
+			this.localRepo = localRepo;
+		}
+
+		public String getToken() {
+			return token;
+		}
+
+		public void setToken(String token) {
+			this.token = token;
+		}
+	}
+	
+	private Repository repository;
+	private Git git;
+	private CredentialsProvider cp;
+	
+	public GitHandler(Repository repository) {
+		this.repository = repository;
+		if(repository.getName() != null && !repository.getName().isEmpty()
+				&& repository.getPassword()!=null && !repository.getPassword().isEmpty()) {
+			cp=new UsernamePasswordCredentialsProvider(repository.getName(), repository.getPassword());
+		}
+		
+	}
+
+	public void openOrClone() throws IOException, GitAPIException {
+		FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder();
+		repositoryBuilder.addCeilingDirectory(repository.getPath().toFile());
+		repositoryBuilder.findGitDir(repository.getPath().toFile());
+
+		if( repositoryBuilder.getGitDir() == null ) {
+			git = Git.cloneRepository()
+					.setURI(repository.getURI())
+					.setCredentialsProvider(cp)
+					.setDirectory(repository.getPath().toFile())
+					.call();
+		} else {
+			git = new Git(repositoryBuilder.build());
+		}
+	}
+
+
+	public void cloneRepositoryTo(Path dir) throws GitAPIException {
+		repository.setPath(dir);
+		cloneRepo();
+	}
+	
+	public void createRepositoryIn(Path dir) throws IllegalStateException, GitAPIException {
+		git = Git.init().setDirectory(dir.toFile()).call();
+		repository.setPath(git.getRepository().getDirectory().toPath());
+	}
+	
+    public void cloneRepo() throws GitAPIException {
+		git = Git.cloneRepository()
+				.setURI(repository.getURI())
+				.setCredentialsProvider(cp)
+                .setDirectory(repository.getPath().toFile())
+                .call();
+    }
+
+    public void addToRepo() throws GitAPIException {
+        AddCommand add = git.add();
+        add.addFilepattern(".").call();
+    }
+
+    public void commitToRepo(String message) throws JGitInternalException, GitAPIException {
+        git.commit().setMessage(message).call();
+    }
+
+    public void pushToRepo() throws JGitInternalException, GitAPIException {
+        PushCommand pc = git.push();
+        pc.setCredentialsProvider(cp)
+                .setForce(true)
+                .setPushAll();
+        try {
+            Iterator<PushResult> it = pc.call().iterator();
+            if (it.hasNext()) {
+            	log.debug(it.next().toString());
+            }
+        } catch (InvalidRemoteException e) {
+            log.error("push to repo", e);
+        }
+    }
+
+    public void pullFromRepo() throws GitAPIException {
+		try {
+			PullResult result = git.pull().setCredentialsProvider(cp).setStrategy(MergeStrategy.RESOLVE).call();
+			if (result.isSuccessful()) {
+				return;
+            }
+		} catch (GitAPIException e) {
+            log.error("standard pull", e);
+		}
+        resetMerging();
+        git.pull().setStrategy(MergeStrategy.THEIRS).setCredentialsProvider(cp).call();
+    }
+
+    public void setCredentials(String name,String password) {
+		repository.setUser(name);
+		repository.setPassword(password);
+		prepareAuthentication();
+    }
+    
+	public void setToken(String token) {
+		repository.setToken(token);
+		prepareAuthentication();
+	}
+
+	/**
+	 * @return the repository
+	 */
+	public Repository getRepository() {
+		return repository;
+	}
+
+	/**
+	 * @param repository the repository to set
+	 */
+	public void setRepository(Repository repository) {
+		this.repository = repository;
+	}
+
+	private void prepareAuthentication() {
+		try {
+			URL url = new URL(repository.getURI());
+			String protocol = url.getProtocol();
+			String host = url.getHost();
+			String token = repository.getToken();
+
+			if (protocol.equalsIgnoreCase("https") && token != null && !token.isEmpty()) {
+				if (host.contains("gitlab") || host.contains("tecnalia")) {
+					String newUrl = protocol + "://" + "gitlab-ci-token:" + URLEncoder.encode(token, "UTF-8") + "@" + url.getAuthority() + url.getFile();
+					if (url.getRef() != null) {
+						newUrl += "#" + url.getRef();
+					}
+					repository.setURI(newUrl);
+					cp = new UsernamePasswordCredentialsProvider("username", token);
+				} else if (host.contains("github")) {
+					cp = new UsernamePasswordCredentialsProvider(token, "");
+				} else {
+					cp = new UsernamePasswordCredentialsProvider(repository.getUser(), repository.getPassword());
+				}
+			} else {
+				cp = new UsernamePasswordCredentialsProvider(repository.getUser(), repository.getPassword());
+			}
+
+		} catch (MalformedURLException e) {
+			log.error("repo url parsing", e);
+		} catch (UnsupportedEncodingException e) {
+			log.error("token encoding", e);
+		}
+	}
+
+	private void resetMerging() throws GitAPIException {
+		try {
+			git.getRepository().writeMergeCommitMsg( null );
+			git.getRepository().writeMergeHeads( null );
+		} catch (IOException e) {
+			log.error("abort merging", e);
+		}
+		git.reset().setMode( ResetCommand.ResetType.HARD ).call();
+	}
+
+	public void resetAll() {
+		git.getRepository().close();
+		close();
+		try {
+			FileUtils.delete(repository.getPath().toFile(), FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS);
+			log.debug("directory deleted");
+			log.debug("exists {}", Files.exists(repository.getPath()));
+			cloneRepo();
+		} catch (GitAPIException | IOException e) {
+			log.error("reset cloned repo", e);
+		}
+	}
+
+	public void close() {
+		if (git != null) {
+			git.close();
+		}
+	}
+
+}
diff --git a/AppController/src/main/resources/application_description.schema.json b/AppController/src/main/resources/application_description.schema.json
new file mode 100644
index 0000000000000000000000000000000000000000..6b8da68851621caa2eb40779a3fc50cff7201dd1
--- /dev/null
+++ b/AppController/src/main/resources/application_description.schema.json
@@ -0,0 +1,838 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AppDescription",
+  "description": "DECIDE Application Description",
+  "type": "object",
+  "required": [
+    "id",
+    "name",
+    "version",
+    "highTechnologicalRisk",
+    "microservices"
+  ],
+  "properties": {
+    "id": {
+      "type": "string",
+      "format": "uuid"
+    },
+    "name": {
+      "type": "string"
+    },
+    "description": {
+      "type": "string"
+    },
+    "version": {
+      "type": "string"
+    },
+    "highTechnologicalRisk": {
+      "type": "boolean"
+    },
+    "jenkinsEndpoint": {
+      "type": "string",
+      "format": "uri"
+    },
+    "jenkinsToken": {
+      "type": "string"
+    },
+    "monitoring": {
+      "$ref": "#/definitions/Monitoring"
+    },
+    "recommendedPatterns": {
+      "type": "array",
+      "items": {
+        "$ref": "#/definitions/Pattern"
+      }
+    },
+    "microservices": {
+      "type": "array",
+      "minItems": 1,
+      "items": {
+        "$ref": "#/definitions/Microservice"
+      }
+    },
+    "mcsla": {
+      "$ref": "#/definitions/Mcsla"
+    },
+    "nfrs": {
+      "type": "array",
+      "items": {
+        "anyOf": [
+          {
+            "$ref": "#/definitions/AvailabilityNfr"
+          },
+          {
+            "$ref": "#/definitions/PerformanceNfr"
+          },
+          {
+            "$ref": "#/definitions/ScalabilityNfr"
+          },
+          {
+            "$ref": "#/definitions/LocationNfr"
+          },
+          {
+            "$ref": "#/definitions/CostNfr"
+          }
+        ]
+      }
+    },
+    "schema": {
+      "type": "array",
+      "items": {
+        "$ref": "#/definitions/SchemaElement"
+      }
+    },
+    "virtualMachines": {
+      "type": "array",
+      "items": {
+        "$ref": "#/definitions/VirtualMachine"
+      }
+    },
+    "containers": {
+      "type": "array",
+      "items": {
+        "$ref": "#/definitions/Container"
+      }
+    },
+    "applicationInstanceId": {
+      "type": "string"
+    }
+  },
+  "definitions": {
+    "Microservice": {
+      "type": "object",
+      "required": [ "id", "endpoints" ],
+      "properties": {
+        "id": {
+          "type": "string",
+          "format": "uuid"
+        },
+        "name": {
+          "type": "string"
+        },
+        "tags": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "uniqueItems": true
+        },
+        "sourceRepository": {
+          "type": "string",
+          "format": "uri"
+        },
+        "deploymentOrder": {
+          "type": "number"
+        },
+        "programmingLanguage": {
+          "type": "string"
+        },
+        "containerId": {
+          "type": "string"
+        },
+        "containerRef": {
+          "type": "string"
+        },
+        "endpoints": {
+          "type": "array",
+          "minItems": 1,
+          "items": {
+            "type": "string"
+          }
+        },
+        "stateful": {
+          "type": "boolean",
+          "default": "false"
+        },
+        "classification": {
+          "type": "string"
+        },
+        "dependencies": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "safeMethods": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "publicIP": {
+          "type": "boolean"
+        },
+        "infrastructureRequirements": {
+          "$ref": "#/definitions/InfrastructureRequirements"
+        },
+        "detachableResources": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/DetachableResource"
+          }
+        }
+      }
+    },
+    "Mcsla": {
+      "type": "object",
+      "required": [ "csSlas" ],
+      "properties": {
+        "sla": {
+          "$ref": "#/definitions/Sla"
+        },
+        "csSlas": {
+          "type": "object",
+          "description": "Map between cloud services and Slas. Keys are the cloud service ids.",
+          "additionalProperties": {
+            "$ref": "#/definitions/Sla"
+          }
+        }
+      }
+    },
+    "Nfr": {
+      "type": "object",
+      "required": [ "type" ],
+      "properties": {
+        "type": {
+          "enum": [ "Availability", "Performance", "Scalability", "Location", "Cost" ]
+        },
+        "tags": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "uniqueItems": true
+        }
+      }
+    },
+    "AvailabilityNfr": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/Nfr"
+        },
+        {
+          "type": "object",
+          "required": [ "abstractValue", "value" ],
+          "properties": {
+            "type": {
+              "const": "Availability"
+            },
+            "abstractValue": {
+              "type": "string",
+              "enum": [ "Low", "Medium", "High" ]
+            },
+            "value": {
+              "type": "number",
+              "minimum": 0,
+              "maximum": 100
+            },
+            "unit": {
+              "type": "string"
+            }
+          }
+        }
+      ]
+    },
+    "PerformanceNfr": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/Nfr"
+        },
+        {
+          "type": "object",
+          "required": [ "abstractValue", "value" ],
+          "properties": {
+            "type": {
+              "const": "Performance"
+            },
+            "abstractValue": {
+              "type": "string",
+              "enum": [ "Low", "Medium", "High" ]
+            },
+            "value": {
+              "type": "number",
+              "exclusiveMinimum": 0
+            },
+            "unit": {
+              "type": "string"
+            }
+          }
+        }
+      ]
+    },
+    "ScalabilityNfr": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/Nfr"
+        },
+        {
+          "type": "object",
+          "required": [ "abstractValue", "value" ],
+          "properties": {
+            "type": {
+              "const": "Scalability"
+            },
+            "abstractValue": {
+              "type": "string",
+              "enum": [ "Low", "Medium", "High" ]
+            },
+            "value": {
+              "type": "number"
+            },
+            "unit": {
+              "type": "string"
+            }
+          }
+        }
+      ]
+    },
+    "LocationNfr": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/Nfr"
+        },
+        {
+          "type": "object",
+          "required": [ "abstractValue", "value" ],
+          "properties": {
+            "type": {
+              "const": "Location"
+            },
+            "abstractValue": {
+              "type": "string",
+              "enum": [ "Single Location", "Single Country", "Cross Border" ]
+            },
+            "value": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              },
+              "uniqueItems": true
+            }
+          }
+        }
+      ]
+    },
+    "CostNfr": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/Nfr"
+        },
+        {
+          "type": "object",
+          "required": [ "abstractValue", "value" ],
+          "properties": {
+            "type": {
+              "const": "Cost"
+            },
+            "abstractValue": {
+              "type": "string",
+              "enum": [ "Low", "Medium", "High" ]
+            },
+            "value": {
+              "type": "number",
+              "exclusiveMinimum": 0
+            },
+            "unit": {
+              "type": "string"
+            }
+          }
+        }
+      ]
+    },
+    "VirtualMachine": {
+      "type": "object",
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "cspId": {
+          "type": "string"
+        },
+        "cspName": {
+          "type": "string"
+        },
+        "ram": {
+          "type": "integer",
+          "minimum": 1
+        },
+        "cores": {
+          "type": "integer",
+          "minimum": 1
+        },
+        "storage": {
+          "type": "integer",
+          "minimum": 1
+        },
+        "image": {
+          "type": "string"
+        },
+        "openedPorts": {
+          "type": "array",
+          "items": {
+            "type": "integer",
+            "minimum": 0
+          }
+        }
+      }
+    },
+    "Container": {
+      "type": "object",
+      "required": [
+        "imageName",
+        "imageTag",
+        "hostname",
+        "restart",
+        "dockerHostNodeName"
+      ],
+      "properties": {
+        "containerName": {
+          "type": "string"
+        },
+        "imageName": {
+          "type": "string"
+        },
+        "imageTag": {
+          "type": "string"
+        },
+        "dockerPrivateRegistryIp" : {
+          "oneOf": [
+            {
+              "type": "string",
+              "format": "ipv4"
+            },
+            {
+              "type": "string",
+              "format": "ipv6"
+            }
+          ]
+        },
+        "dockerPrivateRegistryPort": {
+          "type": "integer"
+        },
+        "dockerPrivateRegistryUser": {
+          "type": "string"
+        },
+        "dockerPrivateRegistryPassword": {
+          "type": "string"
+        },
+        "hostname": {
+          "type": "string",
+          "format": "hostname"
+        },
+        "restart": {
+          "type": "string",
+          "enum": [ "always" ]
+        },
+        "command": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "entrypoint": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "dockerHostNodeName": {
+          "type": "string"
+        },
+        "networks": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "volumeMapping": {
+          "type": "array"
+        },
+        "environment": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "consulKvProviderNodeName": {
+          "type": "string"
+        },
+        "addConsulService": {
+          "type": "integer"
+        },
+        "addConsulTraefikRules": {
+          "type": "integer"
+        },
+        "portMapping": {
+          "type": "array",
+          "items": {
+            "type": "object",
+            "required": [ "hostPort", "containerPort" ],
+            "properties": {
+              "hostPort": {
+                "type": "string"
+              },
+              "containerPort": {
+                "type": "string"
+              }
+            }
+          }
+        },
+        "endpoints": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Endpoint"
+          }
+        }
+      }
+    },
+    "InfrastructureRequirements": {
+      "type": "object",
+      "required": [ "minDisk", "maxDisk", "minRam", "maxRam" ],
+      "properties": {
+        "minDisk": {
+          "type": "integer"
+        },
+        "maxDisk":  {
+          "type": "integer"
+        },
+        "minRam": {
+          "type": "integer"
+        },
+        "maxRam":  {
+          "type": "integer"
+        }
+      }
+    },
+    "DetachableResource": {
+      "type": "object",
+      "required": [ "id", "name" ],
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "name": {
+          "type": "string"
+        },
+        "db": {
+          "type": "boolean",
+          "default": false
+        },
+        "sql": {
+          "type": "boolean",
+          "default": false
+        },
+        "specificDb": {
+          "type": "string"
+        },
+        "size": {
+          "type": "string",
+          "enum": [ "small", "medium", "large" ]
+        },
+        "classification": {
+          "type": "string",
+          "enum": [ "db", "storage", "queue system" ]
+        }
+      }
+    },
+    "Pattern": {
+      "type": "object",
+      "required": [ "title", "selected" ],
+      "properties": {
+        "title": {
+          "type": "string"
+        },
+        "uriRef": {
+          "type": "string",
+          "format": "uri"
+        },
+        "positiveImpacts": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "uniqueItems": true
+        },
+        "categories": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "uniqueItems": true
+        },
+        "tags": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "uniqueItems": true
+        },
+        "selected": {
+          "type": "boolean"
+        }
+      }
+    },
+    "Sla": {
+      "type": "object",
+      "required": [ "description" ],
+      "properties": {
+        "description": {
+          "type": "string"
+        },
+        "visibility": {
+          "type": "string"
+        },
+        "validityPeriod": {
+          "type": "integer",
+          "minimum": 0
+        },
+        "coveredServices": {
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "minItems": 1,
+          "uniqueItems": true
+        },
+        "objectives": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/ServiceObjective"
+          }
+        }
+      }
+    },
+    "ServiceObjective": {
+      "type": "object",
+      "required": [ "termName" ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "enum": [ "slo", "sqo" ]
+        },
+        "termName": {
+          "type": "string"
+        },
+        "comment": {
+          "type": "string"
+        },
+        "value": {
+          "type": "string"
+        },
+        "unit": {
+          "type": "string"
+        },
+        "conditionStatement": {
+          "type": "string",
+          "enum": [ "greater", "less", "greaterOrEqual", "lessOrEqual", "equal" ]
+        },
+        "violationTriggerRules": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/ViolationTriggerRule"
+          }
+        },
+        "metrics": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Metric"
+          }
+        },
+        "remedy": {
+          "$ref": "#/definitions/Remedy"
+        }
+      }
+    },
+    "Metric": {
+      "type": "object",
+      "required": [ "id", "scale", "expression" ],
+      "properties": {
+        "descriptor": {
+          "type": "string"
+        },
+        "id": {
+          "type": "string"
+        },
+        "source": {
+          "type": "string"
+        },
+        "scale": {
+          "type": "string",
+          "enum": [ "nominal", "ordinal", "interval", "ratio" ]
+        },
+        "note": {
+          "type": "string"
+        },
+        "category": {
+          "type": "string"
+        },
+        "expression": {
+          "$ref": "#/definitions/Expression"
+        },
+        "parameters": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Parameter"
+          }
+        },
+        "rules": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Rule"
+          }
+        },
+        "underlyingMetrics": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Metric"
+          }
+        }
+      }
+    },
+    "Expression": {
+      "type": "object",
+      "required": [ "expression", "expressionLanguage" ],
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "expression": {
+          "type": "string"
+        },
+        "expressionLanguage": {
+          "type": "string"
+        },
+        "note": {
+          "type": "string"
+        },
+        "unit": {
+          "type": "string"
+        },
+        "subExpressions": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/Expression"
+          }
+        }
+      }
+    },
+    "Parameter": {
+      "type": "object",
+      "required": [ "id", "parameterStatement", "unit" ],
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "parameterStatement": {
+          "type": "string"
+        },
+        "unit": {
+          "type": "string"
+        },
+        "note": {
+          "type": "string"
+        }
+      }
+    },
+    "Rule": {
+      "type": "object",
+      "required": [ "id", "ruleStatement", "ruleLanguage" ],
+      "properties": {
+        "id": {
+          "type": "string"
+        },
+        "ruleStatement": {
+          "type": "string"
+        },
+        "ruleLanguage": {
+          "type": "string"
+        },
+        "note": {
+          "type": "string"
+        }
+      }
+    },
+    "ViolationTriggerRule": {
+      "type": "object",
+      "properties": {
+        "breachesCount": {
+          "type": "number"
+        },
+        "violationInterval": {
+          "type": "number"
+        }
+      }
+    },
+    "Remedy": {
+      "type": "object",
+      "required": [ "type", "unit", "value", "validity" ],
+      "properties": {
+        "type": {
+          "type": "string"
+        },
+        "unit": {
+          "type": "string"
+        },
+        "value": {
+          "type": "number"
+        },
+        "validity": {
+          "type": "string"
+        }
+      }
+    },
+    "SchemaElement": {
+      "type": "object",
+      "properties": {
+        "microservices": {
+          "type": "array",
+          "items": {
+            "type": "string",
+            "format": "uuid"
+          },
+          "minItems": 1,
+          "uniqueItems": true
+        },
+        "csId": {
+          "type": "string"
+        },
+        "index": {
+          "type": "number"
+        }
+      }
+    },
+    "Monitoring": {
+      "type": "object",
+      "properties": {
+        "status": {
+          "type": "boolean"
+        },
+        "urls": {
+          "type": "array",
+          "items": {
+            "type": "string",
+            "format": "uri"
+          }
+        }
+      }
+    },
+    "Endpoint": {
+      "type": "object",
+      "required": [ "protocol", "port" ],
+      "properties": {
+        "protocol": {
+          "type": "string"
+        },
+        "port":  {
+          "type": "integer",
+          "minimum": 0
+        },
+        "skipRule": {
+          "type": "integer"
+        },
+        "containerNameOverride": {
+          "type": "string"
+        }
+      }
+    }
+  }
+}
diff --git a/AppController/src/main/resources/optimus_history.schema.json b/AppController/src/main/resources/optimus_history.schema.json
new file mode 100644
index 0000000000000000000000000000000000000000..57a15db8d38c50948bf2d5fb2e2941353de20791
--- /dev/null
+++ b/AppController/src/main/resources/optimus_history.schema.json
@@ -0,0 +1,46 @@
+{
+  "$schema": "http://json-schema.org/draft-04/schema#",
+  "$id": "http://eu.DECIDEh2020/schemas/optimus-history",
+  "title": "DeploymentHistory",
+  "description": "DECIDE Deployment History",
+  "type": "array",
+  "items": {
+    "$ref": "#/definitions/HistoryEntry"
+  },
+  "definitions": {
+    "HistoryEntry": {
+      "type": "object",
+      "required": [ "date", "deployments" ],
+      "properties": {
+        "date": {
+          "type": "string",
+          "format": "date-time"
+        },
+        "deployments": {
+          "type": "object",
+          "additionalProperties": {
+            "$ref": "#/definitions/HistoricalDeployment"
+          },
+          "minProperties": 1
+        }
+      }
+    },
+    "HistoricalDeployment": {
+      "type": "object",
+      "properties": {
+        "deployedOn": {
+          "type": "string"
+        },
+        "slaBreaches": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/SlaBreach"
+          }
+        }
+      }
+    },
+    "SlaBreach": {
+      "type": "object"
+    }
+  }
+}
diff --git a/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionFactoryTest.java b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionFactoryTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..d66dc8a357e8dd78322da90e770e9a3d2b5765de
--- /dev/null
+++ b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionFactoryTest.java
@@ -0,0 +1,54 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import org.everit.json.schema.ValidationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+
+public class AppDescriptionFactoryTest {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    @Test
+    public void createAppDescription() {
+        AppDescription appDescription = AppDescriptionFactory.createAppDescription("TestApp");
+//        appDescription.getMicroservices().get(0).setPublicIP(true);
+        try {
+            log.debug(new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(appDescription));
+        } catch (JsonProcessingException e) {
+            log.error("pretty print app description", e);
+        }
+        try {
+            AppDescriptionFactory.validateAppDescription(appDescription);
+            assert true;
+        } catch (DECIDEValidationException e) {
+            log.error("validating test resource", ((ValidationException)e.getCause()).toJSON().toString(4));
+            assert false;
+        }
+    }
+
+    @Test
+    public void validate() {
+        Path path = FileSystems.getDefault().getPath("src/test/resources/DECIDE.json");
+        try {
+            AppDescription appDescription = new ObjectMapper().readValue(path.toFile(), AppDescription.class);
+            AppDescriptionFactory.validateAppDescription(appDescription);
+            assert true;
+        } catch (DECIDEValidationException e) {
+            log.error("validating test resource", ((ValidationException)e.getCause()).toJSON().toString(4));
+            assert false;
+        } catch (IOException e) {
+            log.error("reading test resource", e);
+            assert false;
+        }
+    }
+
+}
diff --git a/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionHelperTest.java b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionHelperTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..34d7ead90a784966a3b781fbf985aeeeb31356c6
--- /dev/null
+++ b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppDescriptionHelperTest.java
@@ -0,0 +1,52 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+import java.util.List;
+
+public class AppDescriptionHelperTest {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    private AppDescriptionHelper helper;
+
+    @BeforeClass
+    public void init() {
+        Path path = FileSystems.getDefault().getPath("src/test/resources/DECIDE.json");
+        try {
+            AppDescription appDescription = new ObjectMapper().readValue(path.toFile(), AppDescription.class);
+            helper = AppDescriptionHelper.create(appDescription);
+        } catch (IOException e) {
+            log.error("reading test resource", e);
+            assert false;
+        }
+    }
+
+    @Test
+    public void useFactory() {
+        AppDescription appDescription = AppDescriptionFactory.createAppDescription("TestApp");
+        AppDescriptionHelper helper = AppDescriptionHelper.create(appDescription);
+        assert helper.getGroupMicroservices("should be empty").isEmpty();
+    }
+
+    @Test
+    public void getGroupMicroservices() {
+        assert helper.getGroupMicroservices("TestGroup").size() == 2;
+    }
+
+    @Test
+    public void getMicroserviceGroups() {
+        List<String> groups = helper.getMicroserviceGroups();
+        groups.forEach(g -> log.debug(g));
+        assert groups.size() == 1;
+    }
+
+}
diff --git a/AppController/src/test/java/eu/DECIDEh2020/appManager/AppManagerTest.java b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppManagerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab928a65e8bec037fddf0814a1781f5511fcd189
--- /dev/null
+++ b/AppController/src/test/java/eu/DECIDEh2020/appManager/AppManagerTest.java
@@ -0,0 +1,59 @@
+package eu.DECIDEh2020.appManager;
+
+import eu.DECIDEh2020.appManager.exceptions.AppManagerException;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.AppDescription;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+public class AppManagerTest {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    private static final String REMOTE_REPO_REF = "https://gitlab.fokus.fraunhofer.de/DECIDE/Application_Descriptor.git";
+    private static final String REMOTE_REPO_USERNAME = "";
+    private static final String REMOTE_REPO_PASSWORD = "";
+
+    private static final String LOCAL_REPO_PATH = "../Application_Descriptor";
+
+    @Test
+    public void openLocalRepository() {
+        Path path = FileSystems.getDefault().getPath(LOCAL_REPO_PATH);
+        try {
+            AppManager manager = AppManager.open(path);
+            AppDescription app = manager.getAppDescription();
+            app.getAdditionalProperties().forEach((key, value) -> log.debug("{} - {}", key, value));
+        } catch (DECIDEValidationException e) {
+            log.error("validation", e);
+        } catch (AppManagerException e) {
+            log.error("open repository", e);
+        } catch (IOException e) {
+            log.error("getting app description", e);
+            assert false;
+        }
+    }
+
+    @Test
+    public void openRemoteRepository() {
+        try {
+            Path path = Files.createTempDirectory("decide_");
+            AppManager manager = AppManager.open(REMOTE_REPO_REF, REMOTE_REPO_USERNAME, REMOTE_REPO_PASSWORD, path);
+            AppDescription app = manager.getAppDescription();
+            app.getAdditionalProperties().forEach((key, value) -> log.debug("{} - {}", key, value));
+        } catch (DECIDEValidationException e) {
+            log.error("validation", e);
+        } catch (AppManagerException e) {
+            log.error("open repository", e);
+        } catch (IOException e) {
+            log.error("getting app description", e);
+            assert false;
+        }
+    }
+
+}
diff --git a/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryFactoryTest.java b/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryFactoryTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5d7cada478fc4376a2f09a208fbf65bb8221540
--- /dev/null
+++ b/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryFactoryTest.java
@@ -0,0 +1,34 @@
+package eu.DECIDEh2020.appManager;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import eu.DECIDEh2020.appManager.exceptions.DECIDEValidationException;
+import eu.DECIDEh2020.appManager.models.HistoryEntry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.Test;
+
+import java.io.IOException;
+import java.nio.file.FileSystems;
+import java.nio.file.Path;
+import java.util.Arrays;
+import java.util.List;
+
+public class HistoryFactoryTest {
+
+    private Logger log = LoggerFactory.getLogger(getClass());
+
+    @Test
+    public void validate() {
+        Path path = FileSystems.getDefault().getPath("src/test/resources/OPTIMUSHistory.json");
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            List<HistoryEntry> history = Arrays.asList(mapper.readValue(path.toFile(), HistoryEntry[].class));
+            HistoryFactory.validateHistory(history);
+            assert true;
+        } catch (DECIDEValidationException | IOException e) {
+            log.error("reading an validating json", e);
+            assert false;
+        }
+    }
+
+}
diff --git a/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryManagerTest.java b/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryManagerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..23ca3acee9aebc2e828cc60f24f31ceab878e621
--- /dev/null
+++ b/AppController/src/test/java/eu/DECIDEh2020/appManager/HistoryManagerTest.java
@@ -0,0 +1,4 @@
+package eu.DECIDEh2020.appManager;
+
+public class HistoryManagerTest {
+}
diff --git a/AppController/src/test/resources/DECIDE.json b/AppController/src/test/resources/DECIDE.json
new file mode 100644
index 0000000000000000000000000000000000000000..11593efd1879bbff184d66808112ff5e5ace664c
--- /dev/null
+++ b/AppController/src/test/resources/DECIDE.json
@@ -0,0 +1,270 @@
+{
+  "id": "adbc5b30-d6ca-4d1a-a778-90761865a827",
+  "name": "SockShop App",
+  "description": "",
+  "version": "0.2.2-alpha",
+  "highTechnologicalRisk": false,
+  "microservices": [
+    {
+      "id": "9005a07c-1148-49bf-8c94-83421ce20e52",
+      "stateful": false,
+      "endpoints": [
+        "schema:example.com"
+      ]
+    },
+    {
+      "id": "3d16aa10-1ba0-43b2-b9c3-fa4f2c761688",
+      "name": "Microservice 0ca9e44d",
+      "tags": [ "UIComponents" ],
+      "stateful": false,
+      "endpoints": [
+        "schema:example.com"
+      ],
+      "deploymentOrder": 1,
+      "dependencies": [
+        "/dependency/1",
+        "https://gitlab.fokus.fraunhofer.de/DECIDE/CloudPatterns"
+      ]
+    },
+    {
+      "id": "7a1837ea-2f5e-4fb2-aa57-a8261f2a5a83",
+      "name": "Microservice e7cbc237",
+      "tags": [ "all" ],
+      "stateful": false,
+      "endpoints": [
+        "schema:example.com"
+      ],
+      "deploymentOrder": 2,
+      "programmingLanguage": "Java"
+    }
+  ],
+  "nfrs": [
+    {
+      "type": "Availability",
+      "tags": [ "application" ],
+      "abstractValue": "Medium",
+      "value": 99.8,
+      "unit": "percentage"
+    },
+    {
+      "type": "Performance",
+      "tags": [ "application" ],
+      "abstractValue": "Medium",
+      "value": 300,
+      "unit": "millisecond"
+    },
+    {
+      "type": "Location",
+      "tags": [ "application" ],
+      "abstractValue": "Single Country",
+      "value": [ "Italy", "Germany" ]
+    },
+    {
+      "type": "Scalability",
+      "tags": [ "backend-services" ],
+      "abstractValue": "High",
+      "value": 2000,
+      "unit": "requests/second"
+    }
+  ],
+  "recommendedPatterns": [
+    {
+      "title": "Resiliency Management Process",
+      "uriRef": "http://decideh2020.eu/resources/patterns/resiliency-management-process",
+      "positiveImpacts": [ "availability" ],
+      "categories": [ "optimization" ],
+      "tags": [ "application" ],
+      "selected": true
+    },
+    {
+      "title": "Compliant Data Replication",
+      "uriRef": "http://decideh2020.eu/resources/patterns/compliant-data-replication",
+      "positiveImpacts": [ "location" ],
+      "categories": [ "optimization", "deployment" ],
+      "tags": [ "application" ],
+      "selected": true
+    },
+    {
+      "title": "Elasticity Manager",
+      "uriRef": "http://decideh2020.eu/resources/patterns/elasticity-manager",
+      "positiveImpacts": [ "scalability" ],
+      "categories": [ "deployment" ],
+      "tags": [ "application" ],
+      "selected": true
+    }
+  ],
+  "schema": [
+    {
+      "microservices": ["9005a07c-1148-49bf-8c94-83421ce20e52", "3d16aa10-1ba0-43b2-b9c3-fa4f2c761688"],
+      "csId": "csId1",
+      "index": 1
+    },
+    {
+      "microservices": ["7a1837ea-2f5e-4fb2-aa57-a8261f2a5a83"],
+      "csId": "csId2",
+      "index": 2
+    }
+  ],
+  "mcsla": {
+    "sla": {
+      "description": "SockShop App Service Level Agreement",
+      "visibility": "public",
+      "validityPeriod": 365,
+      "coveredServices": [ "SockShop Portal" ],
+      "objectives": [
+        {
+          "id": "35de5140-7e26-4ce1-a343-b5ce8ef87442",
+          "comment": "Uptime will not be less then 97% of the time",
+          "termName": "Availability Uptime",
+          "value": "97",
+          "unit": "percentage",
+          "metrics": [
+            {
+              "id": "CSA_001",
+              "descriptor": "Cloud Service Availability",
+              "scale": "nominal",
+              "note": "Availability on hardware level",
+              "expression": {
+                "id": "CSA_EX_001",
+                "expression": "UP_01",
+                "expressionLanguage": "iso8000"
+              },
+              "parameters": [
+                {
+                  "id": "UP_01",
+                  "note": "Uptime",
+                  "parameterStatement": "delta(t)",
+                  "unit": "day"
+                }
+              ]
+            }
+          ]
+        },
+        {
+          "id": "35de5140-7e26-4ce1-a343-b5ce8ef87442",
+          "comment": "Uptime will not be less then 97% of the time over a day",
+          "termName": "Availability MTBF",
+          "value": "97",
+          "unit": "second",
+          "metrics": [
+            {
+              "id": "CSA_002",
+              "descriptor": "Cloud Service Availability",
+              "scale": "ratio",
+              "note": "Availability on software level",
+              "expression": {
+                "id": "CSA_EX_002",
+                "expression": "MTBF/(MTBF-MTTR)",
+                "expressionLanguage": "iso8000"
+              },
+              "parameters": [
+                {
+                  "id": "MTBF",
+                  "note": "Meantime between failures",
+                  "parameterStatement": "delta(t)",
+                  "unit": "second"
+                },
+                {
+                  "id": "MTTR",
+                  "note": "Meantime to recover",
+                  "parameterStatement": "delta(t)",
+                  "unit": "second"
+                }
+              ]
+            }
+          ]
+        }
+      ]
+    },
+    "csSlas": {
+      "csId1": {
+        "id": "e2094398-c896-425c-82d0-cf3eb225aa0b",
+        "description": "SLA for cloud service with ID 'csId1",
+        "visibility": "public",
+        "validityPeriod": 5,
+        "coveredServices": [ "VM" ],
+        "objectives": [
+          {
+            "id": "232da830-da8f-446b-8a08-2deb205a5a10",
+            "comment": "CPU utilization will not be less then 95% of the time over a day",
+            "termName": "CPU-utilization-SQO",
+            "monitoringResult": "result",
+            "value": "95",
+            "unit": "percentage",
+            "calculationFormula": "CPU-utilization LT 95",
+            "violationTriggerRules": [
+              {
+                "breachesCount": 2,
+                "violationInterval": 30
+              }
+            ],
+            "remedy": {
+              "type": "discount",
+              "value": 5,
+              "unit": "percentage",
+              "validity": "PID"
+            },
+            "metrics": [
+              {
+                "id": "CSA_002",
+                "descriptor": "CloudServiceAvailability",
+                "scale": "nominal",
+                "expression": {
+                  "expression": "EMPTY",
+                  "expressionLanguage": "iso8000"
+                }
+              }
+            ]
+          },
+          {
+            "id": "a7e79a49-e6b2-440f-93da-9b995ec1bb81",
+            "comment": "CPU utilization will not be less then 95% of the time over a day",
+            "termName": "CPU-utilization-SLO",
+            "monitoringResult": "result",
+            "value": "95",
+            "unit": "percentage",
+            "calculationFormula": "CPU-utilization LT 95",
+            "violationTriggerRules": [
+              {
+                "breachesCount": 2,
+                "violationInterval": 30
+              }
+            ],
+            "remedy": {
+              "type": "discount",
+              "value": 5,
+              "unit": "percentage",
+              "validity": "PID"
+            }
+          },
+          {
+            "id": "35de5140-7e26-4ce1-a343-b5ce8ef87442",
+            "comment": "Uptime will not be less then 97% of the time over a day",
+            "termName": "Aggregated-Uptime-SLO",
+            "monitoringResult": "result",
+            "value": "97",
+            "unit": "percentage",
+            "calculationFormula": "Uptime GT 97",
+            "violationTriggerRules": [
+              {
+                "breachesCount": 3,
+                "violationInterval": 30
+              }
+            ],
+            "remedy": {
+              "type": "discount",
+              "value": 5,
+              "unit": "percentage",
+              "validity": "PID"
+            }
+          }
+        ]
+      }
+    }
+  },
+  "containers": [
+  ],
+  "virtualMachines": [
+  ],
+  "applicationInstanceId": "???"
+}
diff --git a/AppController/src/test/resources/OPTIMUSHistory.json b/AppController/src/test/resources/OPTIMUSHistory.json
new file mode 100644
index 0000000000000000000000000000000000000000..e530345a84de87e5eac262fb54e30b2f74c22bf8
--- /dev/null
+++ b/AppController/src/test/resources/OPTIMUSHistory.json
@@ -0,0 +1,29 @@
+[
+  {
+    "date": "2018-04-12T09:40:56.961Z",
+    "deployments": {
+      "msId1": {
+        "deployedOn": "serviceId1"
+      },
+      "msId2": {
+        "deployedOn": "serviceId2",
+        "slaBreaches": [
+          {
+            "breach": "true"
+          }
+        ]
+      }
+    }
+  },
+  {
+    "date": "2018-04-12T09:40:56.961Z",
+    "deployments": {
+      "msId1": {
+        "deployedOn": "serviceId1"
+      },
+      "msId2": {
+        "deployedOn": "serviceId3"
+      }
+    }
+  }
+]
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/.classpath b/OPTIMUS/eu.DECIDEh2020.optimus/.classpath
index 6a6b18835c2f4a065d562154d1b84be507e4253b..30053e4229555ad8497d7e9268025170d30dcc79 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/.classpath
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/.classpath
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry exported="true" kind="lib" path="bin/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="lib" path="D:/W/2017-Decide/workspace/json-simple-1.1.1.jar">
-		<attributes>
-			<attribute name="org.eclipse.jst.component.dependency" value="../"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry exported="true" kind="lib" path="bin/"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="lib" path="D:/W/2017-Decide/workspace/json-simple-1.1.1.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="../"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/.gitignore b/OPTIMUS/eu.DECIDEh2020.optimus/.gitignore
index 30263e535e10e346b59764f9680191bdfb9a8128..902b8491e843899c6921a7e3ac3fed5a26102b24 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/.gitignore
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/.gitignore
@@ -1,2 +1,2 @@
-bin/
+bin/
 .settings/
\ No newline at end of file
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/.project b/OPTIMUS/eu.DECIDEh2020.optimus/.project
index e63a7f50a2ccd818b12c9a02b2399627079992df..2e1c08ac930add15476fcac25fad7d4cbfe846f6 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/.project
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/.project
@@ -1,41 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eu.DECIDEh2020.optimus</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eu.DECIDEh2020.optimus</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/META-INF/MANIFEST.MF b/OPTIMUS/eu.DECIDEh2020.optimus/META-INF/MANIFEST.MF
index e74e95b3f6f0b93577db14d59d7a9995bd25806a..3baf2dd38a18e20db1a2de1f096c687b726479f0 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/META-INF/MANIFEST.MF
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/META-INF/MANIFEST.MF
@@ -1,15 +1,15 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Optimus
-Bundle-SymbolicName: eu.DECIDEh2020.optimus;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Require-Bundle: org.eclipse.jface.text,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.ui.editors,
- org.eclipse.ui.ide,
- org.eclipse.core.runtime,
- com.googlecode.json-simple;bundle-version="1.1.1",
- org.eclipse.json;bundle-version="1.0.100"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ClassPath: bin/
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Optimus
+Bundle-SymbolicName: eu.DECIDEh2020.optimus;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.eclipse.jface.text,
+ org.eclipse.core.resources,
+ org.eclipse.ui,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.ide,
+ org.eclipse.core.runtime,
+ com.googlecode.json-simple;bundle-version="1.1.1",
+ org.eclipse.json;bundle-version="1.0.100"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ClassPath: bin/
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/build.properties b/OPTIMUS/eu.DECIDEh2020.optimus/build.properties
index daa203e5d18b51bc042eb4091c7c86c887911ae1..2ce0bdac34ff270eaa34ac3b7eb21ebe8a78d778 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/build.properties
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/build.properties
@@ -1,5 +1,5 @@
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               icons/,\
-               bin/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               icons/,\
+               bin/
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/plugin.xml b/OPTIMUS/eu.DECIDEh2020.optimus/plugin.xml
index c122ac602ea6d92d448f35c79e8ee0a5570d118e..d179a29b1a20374a25285dc39827c60351717006 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/plugin.xml
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/plugin.xml
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Optimus Editor"
-            extensions="json"
-            filenames="*.json"
-            icon="icons/decide.png"
-            contributorClass="eu.DECIDEh2020.optimus.editors.OptimusContributor"
-            class="eu.DECIDEh2020.optimus.editors.optimus"
-            id="eu.DECIDEh2020.optimus.editors.optimus">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="Optimus Wizards"
-            id="eu.DECIDEh2020.optimus">
-      </category>
-      <wizard
-            name="Optimus Editor file"
-            icon="icons/decide.png"
-            category="eu.DECIDEh2020.optimus"
-            class="eu.DECIDEh2020.optimus.wizards.OptimusWizard"
-            id="eu.DECIDEh2020.optimus.wizards.OptimusWizard">
-      </wizard>
-   </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            name="Optimus Editor"
+            extensions="json"
+            filenames="*.json"
+            icon="icons/decide.png"
+            contributorClass="eu.DECIDEh2020.optimus.editors.OptimusContributor"
+            class="eu.DECIDEh2020.optimus.editors.optimus"
+            id="eu.DECIDEh2020.optimus.editors.optimus">
+      </editor>
+   </extension>
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <category
+            name="Optimus Wizards"
+            id="eu.DECIDEh2020.optimus">
+      </category>
+      <wizard
+            name="Optimus Editor file"
+            icon="icons/decide.png"
+            category="eu.DECIDEh2020.optimus"
+            class="eu.DECIDEh2020.optimus.wizards.OptimusWizard"
+            id="eu.DECIDEh2020.optimus.wizards.OptimusWizard">
+      </wizard>
+   </extension>
+
+</plugin>
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/META-INF/MANIFEST.MF b/OPTIMUS/eu.DECIDEh2020.optimus/src/META-INF/MANIFEST.MF
index 254272e1c0740423e25eb40be9a98ce1556474b1..5e9495128c0376427420c4189993b3851770b702 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/META-INF/MANIFEST.MF
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/META-INF/MANIFEST.MF
@@ -1,3 +1,3 @@
-Manifest-Version: 1.0
-Class-Path: 
-
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Classification.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Classification.java
index 2fcafca73b6116043b4bfe6c4f7433d3551b81e9..d0521ce54a2e1c0240113204be7032d3d3fd472f 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Classification.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Classification.java
@@ -1,193 +1,193 @@
-
-/*********************************************************************
-* Copyright (c) 2017 Tecnalia.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-* Contributors (in alphabetical order):
-* Gorka Benguria                            Tecnalia
-* I�aki Etxaniz                             Tecnalia
-* Juncal Alonso                             Tecnalia
-* Leire Orue-Echevarria                     Tecnalia
-* Maria Jose Lopez                          Tecnalia
-* Marisa Escalante                          Tecnalia
-* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-**********************************************************************/
-package eu.DECIDEh2020.optimus.editors;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.json.simple.JSONArray;
-//import org.json.simple.JSONException;
-import org.json.simple.JSONObject;
-
-import java.awt.Rectangle;
-//import org.json.parser.JSONParser;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-
-public class Classification extends Composite {
-
-	/**
-	 * Create the composite.
-	 * @param parent
-	 * @param style
-	 */
-
-	/** The text widget used in page 2. */
-	private StyledText text;
-	/** The font chosen in page 1. */
-	private Font font;
-	private Text text_1;
-	private Composite text_2;
-	public int microservicesNumber = 0;
-
-	public int y = 5;
-	public String newcontent;
-
-
-	
-	public Classification(Composite parent, int style) {
-		super(parent, style);
-		
-		
-		Label lblAppName = new Label(this, SWT.NONE);
-		lblAppName.setBounds(10, 10, 55, 15);
-		lblAppName.setText("App name");
-		
-		text_1 = new Text(this, SWT.BORDER);
-		text_1.setBounds(74, 10, 76, 21);
-		
-		text_1.addFocusListener(new FocusListener() {
-		
-			@Override
-			public void focusGained(FocusEvent arg0) {
-				// TODO Auto-generated method stub
-				
-			}
-
-			@Override
-			public void focusLost(FocusEvent arg0) {
-				newcontent = text_1.getText();
-    			optimus.appjson.put("id", (int) (Math.random()*1000));
-    			optimus.appjson.put("name", newcontent);
-			
-			}});
-		
-		
-
-		
-		
-		Button btnAddMicroservice = new Button(this, SWT.NONE);
-		btnAddMicroservice.setBounds(181, 10, 130, 25);
-		btnAddMicroservice.setText("Add microservice");
-		
-		ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.V_SCROLL);
-		scrolledComposite.setExpandHorizontal(true);
-		scrolledComposite.setTouchEnabled(true);
-		scrolledComposite.setShowFocusedControl(true);
-		scrolledComposite.setAlwaysShowScrollBars(true);
-		scrolledComposite.setBounds(10, 48, 753, 596);
-		
-		scrolledComposite.setMinHeight(y);
-
-		final StyledText styledText = new StyledText(scrolledComposite, SWT.BORDER | SWT.WRAP);
-		 scrolledComposite.setContent(styledText);
-		    scrolledComposite.setMinSize(styledText.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		    
-		    Button btnSave = new Button(this, SWT.NONE);
-		    btnSave.setBounds(688, 660, 75, 25);
-		    btnSave.setText("Save");
-		    
-		    btnSave.addSelectionListener(new SelectionAdapter() {
-		    	public void widgetSelected(SelectionEvent event) {
-		    		
-		    		optimus.appjson.put("microservices", optimus.appmicros);
-		    		final String FILENAME = optimus.workingDir;
-		    		
-		    			BufferedWriter bw = null;
-		    			FileWriter fw = null;
-		    			try {
-		    				String content = optimus.appjson.toString();
-		    				fw = new FileWriter(FILENAME);
-		    				bw = new BufferedWriter(fw);
-		    				bw.write(content);
-		    			} catch (IOException e) {
-		    				e.printStackTrace();
-		    			} finally {
-		    				try {
-		    					if (bw != null)
-		    						bw.close();
-		    					if (fw != null)
-		    						fw.close();
-
-		    				} catch (IOException ex) {
-		    					ex.printStackTrace();
-		    				}
-		    		}
-		    	}
-		    });
-		
-		
-		    
-		    
-
-		btnAddMicroservice.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			microservicesNumber = microservicesNumber + 1;
-			//scrolledComposite.setMinHeight(y);
-			text_2 = new Microservice(scrolledComposite, SWT.BORDER, y);
-			text_2.setBounds(10, y, 500, 100);
-			y = (120* microservicesNumber);
-
-		}
-	});
-
-	}
-    public void Create_microservices_from_file() {
-		if (!(optimus.appjson.isEmpty()))
-		{
-    	text_1.setText(optimus.appjson.get("name").toString());
-    	ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.V_SCROLL);
-		scrolledComposite.setTouchEnabled(true);
-		scrolledComposite.setShowFocusedControl(true);
-		scrolledComposite.setAlwaysShowScrollBars(true);
-		scrolledComposite.setExpandVertical(true);
-		scrolledComposite.setBounds(10, 48, 753, 427);
-
-    	optimus.appjson.get("name").toString();
-    	optimus.appmicros.remove("microservices");
-    	optimus.appmicros.add(optimus.appjson.get("microservices"));
-    	int numbermicr=optimus.appmicros.size();
-     	for (int i = 0; i <numbermicr; i++)
-    	
-    	{
-		microservicesNumber = microservicesNumber + 1;
-		text_2 = new Microservice(scrolledComposite, SWT.BORDER, y);
-		text_2.setBounds(10, y, 500, 100);
-		y = (120* microservicesNumber);
-   // }
-    	}
-		}
-	}	
-	@Override
-	protected void checkSubclass() {
-		// Disable the check that prevents subclassing of SWT components
-	}
-}
+
+/*********************************************************************
+* Copyright (c) 2017 Tecnalia.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+* Contributors (in alphabetical order):
+* Gorka Benguria                            Tecnalia
+* I�aki Etxaniz                             Tecnalia
+* Juncal Alonso                             Tecnalia
+* Leire Orue-Echevarria                     Tecnalia
+* Maria Jose Lopez                          Tecnalia
+* Marisa Escalante                          Tecnalia
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+**********************************************************************/
+package eu.DECIDEh2020.optimus.editors;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.json.simple.JSONArray;
+//import org.json.simple.JSONException;
+import org.json.simple.JSONObject;
+
+import java.awt.Rectangle;
+//import org.json.parser.JSONParser;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.io.IOException;
+
+public class Classification extends Composite {
+
+	/**
+	 * Create the composite.
+	 * @param parent
+	 * @param style
+	 */
+
+	/** The text widget used in page 2. */
+	private StyledText text;
+	/** The font chosen in page 1. */
+	private Font font;
+	private Text text_1;
+	private Composite text_2;
+	public int microservicesNumber = 0;
+
+	public int y = 5;
+	public String newcontent;
+
+
+	
+	public Classification(Composite parent, int style) {
+		super(parent, style);
+		
+		
+		Label lblAppName = new Label(this, SWT.NONE);
+		lblAppName.setBounds(10, 10, 55, 15);
+		lblAppName.setText("App name");
+		
+		text_1 = new Text(this, SWT.BORDER);
+		text_1.setBounds(74, 10, 76, 21);
+		
+		text_1.addFocusListener(new FocusListener() {
+		
+			@Override
+			public void focusGained(FocusEvent arg0) {
+				// TODO Auto-generated method stub
+				
+			}
+
+			@Override
+			public void focusLost(FocusEvent arg0) {
+				newcontent = text_1.getText();
+    			optimus.appjson.put("id", (int) (Math.random()*1000));
+    			optimus.appjson.put("name", newcontent);
+			
+			}});
+		
+		
+
+		
+		
+		Button btnAddMicroservice = new Button(this, SWT.NONE);
+		btnAddMicroservice.setBounds(181, 10, 130, 25);
+		btnAddMicroservice.setText("Add microservice");
+		
+		ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.V_SCROLL);
+		scrolledComposite.setExpandHorizontal(true);
+		scrolledComposite.setTouchEnabled(true);
+		scrolledComposite.setShowFocusedControl(true);
+		scrolledComposite.setAlwaysShowScrollBars(true);
+		scrolledComposite.setBounds(10, 48, 753, 596);
+		
+		scrolledComposite.setMinHeight(y);
+
+		final StyledText styledText = new StyledText(scrolledComposite, SWT.BORDER | SWT.WRAP);
+		 scrolledComposite.setContent(styledText);
+		    scrolledComposite.setMinSize(styledText.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+		    
+		    Button btnSave = new Button(this, SWT.NONE);
+		    btnSave.setBounds(688, 660, 75, 25);
+		    btnSave.setText("Save");
+		    
+		    btnSave.addSelectionListener(new SelectionAdapter() {
+		    	public void widgetSelected(SelectionEvent event) {
+		    		
+		    		optimus.appjson.put("microservices", optimus.appmicros);
+		    		final String FILENAME = optimus.workingDir;
+		    		
+		    			BufferedWriter bw = null;
+		    			FileWriter fw = null;
+		    			try {
+		    				String content = optimus.appjson.toString();
+		    				fw = new FileWriter(FILENAME);
+		    				bw = new BufferedWriter(fw);
+		    				bw.write(content);
+		    			} catch (IOException e) {
+		    				e.printStackTrace();
+		    			} finally {
+		    				try {
+		    					if (bw != null)
+		    						bw.close();
+		    					if (fw != null)
+		    						fw.close();
+
+		    				} catch (IOException ex) {
+		    					ex.printStackTrace();
+		    				}
+		    		}
+		    	}
+		    });
+		
+		
+		    
+		    
+
+		btnAddMicroservice.addSelectionListener(new SelectionAdapter() {
+		public void widgetSelected(SelectionEvent event) {
+			microservicesNumber = microservicesNumber + 1;
+			//scrolledComposite.setMinHeight(y);
+			text_2 = new Microservice(scrolledComposite, SWT.BORDER, y);
+			text_2.setBounds(10, y, 500, 100);
+			y = (120* microservicesNumber);
+
+		}
+	});
+
+	}
+    public void Create_microservices_from_file() {
+		if (!(optimus.appjson.isEmpty()))
+		{
+    	text_1.setText(optimus.appjson.get("name").toString());
+    	ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.V_SCROLL);
+		scrolledComposite.setTouchEnabled(true);
+		scrolledComposite.setShowFocusedControl(true);
+		scrolledComposite.setAlwaysShowScrollBars(true);
+		scrolledComposite.setExpandVertical(true);
+		scrolledComposite.setBounds(10, 48, 753, 427);
+
+    	optimus.appjson.get("name").toString();
+    	optimus.appmicros.remove("microservices");
+    	optimus.appmicros.add(optimus.appjson.get("microservices"));
+    	int numbermicr=optimus.appmicros.size();
+     	for (int i = 0; i <numbermicr; i++)
+    	
+    	{
+		microservicesNumber = microservicesNumber + 1;
+		text_2 = new Microservice(scrolledComposite, SWT.BORDER, y);
+		text_2.setBounds(10, y, 500, 100);
+		y = (120* microservicesNumber);
+   // }
+    	}
+		}
+	}	
+	@Override
+	protected void checkSubclass() {
+		// Disable the check that prevents subclassing of SWT components
+	}
+}
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Microservice.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Microservice.java
index 4e7ada5e680bd1e929d02ab4e0ca1a6bd7682f8b..987233e50de7a2f90249c9509fc9203194e83333 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Microservice.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Microservice.java
@@ -1,223 +1,223 @@
-
-/*********************************************************************
-* Copyright (c) 2017 Tecnalia.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-* Contributors (in alphabetical order):
-* Gorka Benguria                            Tecnalia
-* I�aki Etxaniz                             Tecnalia
-* Juncal Alonso                             Tecnalia
-* Leire Orue-Echevarria                     Tecnalia
-* Maria Jose Lopez                          Tecnalia
-* Marisa Escalante                          Tecnalia
-* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-**********************************************************************/
-package eu.DECIDEh2020.optimus.editors;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FontDialog;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.json.simple.JSONArray;
-
-import org.json.simple.JSONObject;
-import org.eclipse.swt.widgets.Combo;
-
-
-public class Microservice extends Composite {
-
-	/**
-	 * Create the composite.
-	 * @param parent
-	 * @param style
-	 */
-	/** The text widget used in page 2. */
-	private StyledText text;
-	/** The font chosen in page 1. */
-	private Font font;
-	private Text text_1;
-	private Text text_2;
-	private static JSONObject micros;
-	private JSONArray DetachR;
-	private Text Detach_text;
-	private JSONObject DRes;
-	
-
-	
-	public Microservice(Composite parent, int style, int y) {
-		super(parent, style);
-		
-		Composite compositeMicro = new Composite(this, SWT.NONE);
-		compositeMicro.setBounds(1, 0, 437, 83);
-		DetachR = new JSONArray();
-		
-			Label lblMicroserviceName = new Label(compositeMicro, SWT.NONE);
-			lblMicroserviceName.setBounds(10, 13, 50, 30);
-			lblMicroserviceName.setText("Name");
-			text_2 = new Text(compositeMicro, SWT.BORDER);
-			text_2.setBounds(69, 13, 200, 21);
-			
-			Label microserviceID = new Label(compositeMicro, SWT.NONE);
-			microserviceID.setText("id");
-			microserviceID.setBounds(275, 13, 50, 15);
-			microserviceID.setVisible(false);
-			
-			
-			
-			Combo ms_type = new Combo(compositeMicro, SWT.NONE);
-			ms_type.setItems(new String[] {"Computing", "Computing Public IP"});
-			ms_type.setBounds(331, 10, 91, 23);
-			ms_type.setText("Computing");
-			
-			Combo Detach_type = new Combo(compositeMicro, SWT.NONE);
-			Detach_type.setItems(new String[] {"Storage. DB", "Storage", "Queue System"});
-			Detach_type.setBounds(322, 50, 91, 23);
-			Detach_type.setText("Storage");
-			
-			Button Det_DB = new Button(compositeMicro, SWT.RADIO);
-			Det_DB.setSelection(false);
-			Det_DB.setBounds(277, 53, 90, 16);
-			Det_DB.setText("DB");
-			Det_DB.addFocusListener(new FocusListener(){
-		    	
-
-				@Override
-				public void focusGained(FocusEvent arg0) {
-					// TODO Auto-generated method stub
-					
-				}
-				@Override
-				public void focusLost(FocusEvent arg0) {
-					if (Det_DB.getSelection()) {
-						Detach_type.setText("Storage. DB");
-											} 
-					if (!Det_DB.getSelection()) {Detach_type.setText("Storage");}
-					
-					if (DRes.get(Detach_type)!=Detach_type.getText())
-					{
-						
-						DetachR.remove(DRes);
-						micros.remove(DetachR);
-						optimus.appmicros.remove(micros);
-						DRes.put("Det_type",Detach_type.getText());
-						DetachR.add(DRes);
-						optimus.appmicros.add(micros);
-					}
-					
-					
-
-					
-				}
-			}
-					);
-			
-			Label lblDetachableResource = new Label(compositeMicro, SWT.NONE);
-			lblDetachableResource.setBounds(11, 53, 122, 15);
-			lblDetachableResource.setText("Detachable Resource");
-			Detach_text = new Text(compositeMicro, SWT.BORDER);
-			Detach_text.setBounds(143, 47, 117, 21);
-
-			Detach_text.addFocusListener(new FocusListener(){
-		    	
-
-				@Override
-				public void focusGained(FocusEvent arg0) {
-					// TODO Auto-generated method stub
-					
-				}
-
-				@Override
-				public void focusLost(FocusEvent arg0) {
-					DRes = new JSONObject();
-					for (int i=0; i < optimus.appmicros.size(); i++)
-						{
-						    JSONObject itemArr = (JSONObject)optimus.appmicros.get(i);
-						    if (itemArr.get("id").equals(microserviceID.getText()))
-						    {
-						        break;
-						    }
-					}
-					 
-					DRes.put("DetachableResource",Detach_text.getText());
-					DRes.put("Det_type",Detach_type.getText());
-					
-					DetachR.add(DRes);
-					micros.put("Detachable_resources",DetachR);
-				}
-			});
-						
-			text_2.addFocusListener(new FocusListener() {
-		    	
-
-				@Override
-				public void focusGained(FocusEvent arg0) {
-					// TODO Auto-generated method stub
-					
-				}
-
-				@Override
-				public void focusLost(FocusEvent arg0) {
-					int id = (int) (Math.random()*1000);
-					String idS = String.valueOf(id);
-					micros = new JSONObject();
-
-						for (int i=0; i < optimus.appmicros.size(); i++)
-						{
-						    JSONObject itemArr = (JSONObject)optimus.appmicros.get(i);
-						    if (itemArr.get("id").equals(microserviceID.getText()))
-						    {
-						    	optimus.appmicros.remove(itemArr);
-						    	idS = microserviceID.getText();
-						        break;
-
-						    }
-					}
-					 
-					
-					micros.put("id",idS);
-					micros.put("microname", text_2.getText());
-					micros.put("ms_type", ms_type.getText());
-					optimus.appmicros.add(micros);
-					microserviceID.setText(idS);
-					microserviceID.setVisible(true);
-				}
-
-				private boolean existmicroservice(String text) {
-					JSONObject microstemp = new JSONObject();
-					microstemp.put("id",text);
-					microstemp.put("microname", text_2.getText());
-					if (optimus.appmicros.contains(microstemp)) {
-						return true;
-
-					} else {
-					return false;
-					}
-				}});
-		}
-	//});
-
-	//}
-
-	@Override
-	protected void checkSubclass() {
-		// Disable the check that prevents subclassing of SWT components
-	}
-}
+
+/*********************************************************************
+* Copyright (c) 2017 Tecnalia.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+* Contributors (in alphabetical order):
+* Gorka Benguria                            Tecnalia
+* I�aki Etxaniz                             Tecnalia
+* Juncal Alonso                             Tecnalia
+* Leire Orue-Echevarria                     Tecnalia
+* Maria Jose Lopez                          Tecnalia
+* Marisa Escalante                          Tecnalia
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+**********************************************************************/
+package eu.DECIDEh2020.optimus.editors;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.FontDialog;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.json.simple.JSONArray;
+
+import org.json.simple.JSONObject;
+import org.eclipse.swt.widgets.Combo;
+
+
+public class Microservice extends Composite {
+
+	/**
+	 * Create the composite.
+	 * @param parent
+	 * @param style
+	 */
+	/** The text widget used in page 2. */
+	private StyledText text;
+	/** The font chosen in page 1. */
+	private Font font;
+	private Text text_1;
+	private Text text_2;
+	private static JSONObject micros;
+	private JSONArray DetachR;
+	private Text Detach_text;
+	private JSONObject DRes;
+	
+
+	
+	public Microservice(Composite parent, int style, int y) {
+		super(parent, style);
+		
+		Composite compositeMicro = new Composite(this, SWT.NONE);
+		compositeMicro.setBounds(1, 0, 437, 83);
+		DetachR = new JSONArray();
+		
+			Label lblMicroserviceName = new Label(compositeMicro, SWT.NONE);
+			lblMicroserviceName.setBounds(10, 13, 50, 30);
+			lblMicroserviceName.setText("Name");
+			text_2 = new Text(compositeMicro, SWT.BORDER);
+			text_2.setBounds(69, 13, 200, 21);
+			
+			Label microserviceID = new Label(compositeMicro, SWT.NONE);
+			microserviceID.setText("id");
+			microserviceID.setBounds(275, 13, 50, 15);
+			microserviceID.setVisible(false);
+			
+			
+			
+			Combo ms_type = new Combo(compositeMicro, SWT.NONE);
+			ms_type.setItems(new String[] {"Computing", "Computing Public IP"});
+			ms_type.setBounds(331, 10, 91, 23);
+			ms_type.setText("Computing");
+			
+			Combo Detach_type = new Combo(compositeMicro, SWT.NONE);
+			Detach_type.setItems(new String[] {"Storage. DB", "Storage", "Queue System"});
+			Detach_type.setBounds(322, 50, 91, 23);
+			Detach_type.setText("Storage");
+			
+			Button Det_DB = new Button(compositeMicro, SWT.RADIO);
+			Det_DB.setSelection(false);
+			Det_DB.setBounds(277, 53, 90, 16);
+			Det_DB.setText("DB");
+			Det_DB.addFocusListener(new FocusListener(){
+		    	
+
+				@Override
+				public void focusGained(FocusEvent arg0) {
+					// TODO Auto-generated method stub
+					
+				}
+				@Override
+				public void focusLost(FocusEvent arg0) {
+					if (Det_DB.getSelection()) {
+						Detach_type.setText("Storage. DB");
+											} 
+					if (!Det_DB.getSelection()) {Detach_type.setText("Storage");}
+					
+					if (DRes.get(Detach_type)!=Detach_type.getText())
+					{
+						
+						DetachR.remove(DRes);
+						micros.remove(DetachR);
+						optimus.appmicros.remove(micros);
+						DRes.put("Det_type",Detach_type.getText());
+						DetachR.add(DRes);
+						optimus.appmicros.add(micros);
+					}
+					
+					
+
+					
+				}
+			}
+					);
+			
+			Label lblDetachableResource = new Label(compositeMicro, SWT.NONE);
+			lblDetachableResource.setBounds(11, 53, 122, 15);
+			lblDetachableResource.setText("Detachable Resource");
+			Detach_text = new Text(compositeMicro, SWT.BORDER);
+			Detach_text.setBounds(143, 47, 117, 21);
+
+			Detach_text.addFocusListener(new FocusListener(){
+		    	
+
+				@Override
+				public void focusGained(FocusEvent arg0) {
+					// TODO Auto-generated method stub
+					
+				}
+
+				@Override
+				public void focusLost(FocusEvent arg0) {
+					DRes = new JSONObject();
+					for (int i=0; i < optimus.appmicros.size(); i++)
+						{
+						    JSONObject itemArr = (JSONObject)optimus.appmicros.get(i);
+						    if (itemArr.get("id").equals(microserviceID.getText()))
+						    {
+						        break;
+						    }
+					}
+					 
+					DRes.put("DetachableResource",Detach_text.getText());
+					DRes.put("Det_type",Detach_type.getText());
+					
+					DetachR.add(DRes);
+					micros.put("Detachable_resources",DetachR);
+				}
+			});
+						
+			text_2.addFocusListener(new FocusListener() {
+		    	
+
+				@Override
+				public void focusGained(FocusEvent arg0) {
+					// TODO Auto-generated method stub
+					
+				}
+
+				@Override
+				public void focusLost(FocusEvent arg0) {
+					int id = (int) (Math.random()*1000);
+					String idS = String.valueOf(id);
+					micros = new JSONObject();
+
+						for (int i=0; i < optimus.appmicros.size(); i++)
+						{
+						    JSONObject itemArr = (JSONObject)optimus.appmicros.get(i);
+						    if (itemArr.get("id").equals(microserviceID.getText()))
+						    {
+						    	optimus.appmicros.remove(itemArr);
+						    	idS = microserviceID.getText();
+						        break;
+
+						    }
+					}
+					 
+					
+					micros.put("id",idS);
+					micros.put("microname", text_2.getText());
+					micros.put("ms_type", ms_type.getText());
+					optimus.appmicros.add(micros);
+					microserviceID.setText(idS);
+					microserviceID.setVisible(true);
+				}
+
+				private boolean existmicroservice(String text) {
+					JSONObject microstemp = new JSONObject();
+					microstemp.put("id",text);
+					microstemp.put("microname", text_2.getText());
+					if (optimus.appmicros.contains(microstemp)) {
+						return true;
+
+					} else {
+					return false;
+					}
+				}});
+		}
+	//});
+
+	//}
+
+	@Override
+	protected void checkSubclass() {
+		// Disable the check that prevents subclassing of SWT components
+	}
+}
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/OptimusContributor.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/OptimusContributor.java
index 4638ee53d3411f43e3ccbda48b8db2f41280d968..2aec51256be0f4a72ded64168865ecf10f340627 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/OptimusContributor.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/OptimusContributor.java
@@ -1,121 +1,121 @@
-
-/*********************************************************************
-* Copyright (c) 2017 Tecnalia.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-* Contributors (in alphabetical order):
-* Gorka Benguria                            Tecnalia
-* I�aki Etxaniz                             Tecnalia
-* Juncal Alonso                             Tecnalia
-* Leire Orue-Echevarria                     Tecnalia
-* Maria Jose Lopez                          Tecnalia
-* Marisa Escalante                          Tecnalia
-* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-**********************************************************************/
-package eu.DECIDEh2020.optimus.editors;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-
-/**
- * Manages the installation/deinstallation of global actions for multi-page editors.
- * Responsible for the redirection of global actions to the active editor.
- * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.
- */
-public class OptimusContributor extends MultiPageEditorActionBarContributor {
-	private IEditorPart activeEditorPart;
-	private Action sampleAction;
-	/**
-	 * Creates a multi-page contributor.
-	 */
-	public OptimusContributor() {
-		super();
-		createActions();
-	}
-	/**
-	 * Returns the action registed with the given text editor.
-	 * @return IAction or null if editor is null.
-	 */
-	protected IAction getAction(ITextEditor editor, String actionID) {
-		return (editor == null ? null : editor.getAction(actionID));
-	}
-	/* (non-JavaDoc)
-	 * Method declared in AbstractMultiPageEditorActionBarContributor.
-	 */
-
-	public void setActivePage(IEditorPart part) {
-		if (activeEditorPart == part)
-			return;
-
-		activeEditorPart = part;
-
-		IActionBars actionBars = getActionBars();
-		if (actionBars != null) {
-
-			ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part : null;
-
-			actionBars.setGlobalActionHandler(
-				ActionFactory.DELETE.getId(),
-				getAction(editor, ITextEditorActionConstants.DELETE));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.UNDO.getId(),
-				getAction(editor, ITextEditorActionConstants.UNDO));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.REDO.getId(),
-				getAction(editor, ITextEditorActionConstants.REDO));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.CUT.getId(),
-				getAction(editor, ITextEditorActionConstants.CUT));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.COPY.getId(),
-				getAction(editor, ITextEditorActionConstants.COPY));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.PASTE.getId(),
-				getAction(editor, ITextEditorActionConstants.PASTE));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.SELECT_ALL.getId(),
-				getAction(editor, ITextEditorActionConstants.SELECT_ALL));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.FIND.getId(),
-				getAction(editor, ITextEditorActionConstants.FIND));
-			actionBars.setGlobalActionHandler(
-				IDEActionFactory.BOOKMARK.getId(),
-				getAction(editor, IDEActionFactory.BOOKMARK.getId()));
-			actionBars.updateActionBars();
-		}
-	}
-	private void createActions() {
-		sampleAction = new Action() {
-			public void run() {
-				MessageDialog.openInformation(null, "Optimus", "Sample Action Executed");
-			}
-		};
-		sampleAction.setText("Sample Action");
-		sampleAction.setToolTipText("Sample Action tool tip");
-		sampleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(IDE.SharedImages.IMG_OBJS_TASK_TSK));
-	}
-	public void contributeToMenu(IMenuManager manager) {
-		IMenuManager menu = new MenuManager("Editor &Menu");
-		manager.prependToGroup(IWorkbenchActionConstants.MB_ADDITIONS, menu);
-		menu.add(sampleAction);
-	}
-	public void contributeToToolBar(IToolBarManager manager) {
-		manager.add(new Separator());
-		manager.add(sampleAction);
-	}
-}
+
+/*********************************************************************
+* Copyright (c) 2017 Tecnalia.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+* Contributors (in alphabetical order):
+* Gorka Benguria                            Tecnalia
+* I�aki Etxaniz                             Tecnalia
+* Juncal Alonso                             Tecnalia
+* Leire Orue-Echevarria                     Tecnalia
+* Maria Jose Lopez                          Tecnalia
+* Marisa Escalante                          Tecnalia
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+**********************************************************************/
+package eu.DECIDEh2020.optimus.editors;
+
+import org.eclipse.jface.action.*;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.ide.IDEActionFactory;
+import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
+import org.eclipse.ui.texteditor.ITextEditor;
+import org.eclipse.ui.texteditor.ITextEditorActionConstants;
+
+/**
+ * Manages the installation/deinstallation of global actions for multi-page editors.
+ * Responsible for the redirection of global actions to the active editor.
+ * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.
+ */
+public class OptimusContributor extends MultiPageEditorActionBarContributor {
+	private IEditorPart activeEditorPart;
+	private Action sampleAction;
+	/**
+	 * Creates a multi-page contributor.
+	 */
+	public OptimusContributor() {
+		super();
+		createActions();
+	}
+	/**
+	 * Returns the action registed with the given text editor.
+	 * @return IAction or null if editor is null.
+	 */
+	protected IAction getAction(ITextEditor editor, String actionID) {
+		return (editor == null ? null : editor.getAction(actionID));
+	}
+	/* (non-JavaDoc)
+	 * Method declared in AbstractMultiPageEditorActionBarContributor.
+	 */
+
+	public void setActivePage(IEditorPart part) {
+		if (activeEditorPart == part)
+			return;
+
+		activeEditorPart = part;
+
+		IActionBars actionBars = getActionBars();
+		if (actionBars != null) {
+
+			ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part : null;
+
+			actionBars.setGlobalActionHandler(
+				ActionFactory.DELETE.getId(),
+				getAction(editor, ITextEditorActionConstants.DELETE));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.UNDO.getId(),
+				getAction(editor, ITextEditorActionConstants.UNDO));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.REDO.getId(),
+				getAction(editor, ITextEditorActionConstants.REDO));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.CUT.getId(),
+				getAction(editor, ITextEditorActionConstants.CUT));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.COPY.getId(),
+				getAction(editor, ITextEditorActionConstants.COPY));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.PASTE.getId(),
+				getAction(editor, ITextEditorActionConstants.PASTE));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.SELECT_ALL.getId(),
+				getAction(editor, ITextEditorActionConstants.SELECT_ALL));
+			actionBars.setGlobalActionHandler(
+				ActionFactory.FIND.getId(),
+				getAction(editor, ITextEditorActionConstants.FIND));
+			actionBars.setGlobalActionHandler(
+				IDEActionFactory.BOOKMARK.getId(),
+				getAction(editor, IDEActionFactory.BOOKMARK.getId()));
+			actionBars.updateActionBars();
+		}
+	}
+	private void createActions() {
+		sampleAction = new Action() {
+			public void run() {
+				MessageDialog.openInformation(null, "Optimus", "Sample Action Executed");
+			}
+		};
+		sampleAction.setText("Sample Action");
+		sampleAction.setToolTipText("Sample Action tool tip");
+		sampleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+				getImageDescriptor(IDE.SharedImages.IMG_OBJS_TASK_TSK));
+	}
+	public void contributeToMenu(IMenuManager manager) {
+		IMenuManager menu = new MenuManager("Editor &Menu");
+		manager.prependToGroup(IWorkbenchActionConstants.MB_ADDITIONS, menu);
+		menu.add(sampleAction);
+	}
+	public void contributeToToolBar(IToolBarManager manager) {
+		manager.add(new Separator());
+		manager.add(sampleAction);
+	}
+}
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Simulation.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Simulation.java
index 0cdb9388419de9803888cef935e19b9382e74d09..8ec1d5706136126306042c536ed162c9b306ccd7 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Simulation.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/Simulation.java
@@ -1,139 +1,139 @@
-
-/*********************************************************************
-* Copyright (c) 2017 Tecnalia.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-* Contributors (in alphabetical order):
-* Gorka Benguria                            Tecnalia
-* I�aki Etxaniz                             Tecnalia
-* Juncal Alonso                             Tecnalia
-* Leire Orue-Echevarria                     Tecnalia
-* Maria Jose Lopez                          Tecnalia
-* Marisa Escalante                          Tecnalia
-* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-**********************************************************************/
-package eu.DECIDEh2020.optimus.editors;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-//import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Button;
-//import org.eclipse.swt.widgets.Table;
-import org.json.simple.JSONArray;
-//import org.json.simple.JSONObject;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wb.swt.SWTResourceManager;
-
-public class Simulation extends Composite {
-
-
-
-	/**
-	 * Create the composite.
-	 * @param parent
-	 * @param style
-	 */
-	
-	private JSONArray NFRs;
-	public Simulation(Composite parent, int style) {
-		super(parent, SWT.NONE);
-		
-		ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		scrolledComposite.setAlwaysShowScrollBars(true);
-		scrolledComposite.setBounds(10, 43, 813, 453);
-		scrolledComposite.setExpandHorizontal(true);
-		scrolledComposite.setExpandVertical(true);
-		
-		Group group = new Group(scrolledComposite, SWT.NONE);
-		
-		Composite composite = new Composite(group, SWT.NONE);
-		composite.setBounds(10, 10, 135, 121);
-		
-		Label lblNfrEditor = new Label(composite, SWT.NONE);
-		lblNfrEditor.setBounds(10, 10, 55, 15);
-		lblNfrEditor.setText("NFR Editor");
-		NFRs = new JSONArray();
-		
-		
-		Button btnCost_1 = new Button(composite, SWT.CHECK);
-		btnCost_1.setBounds(30, 31, 93, 16);
-		btnCost_1.setText("Cost");
-		
-		
-		Button btnAvailability_1 = new Button(composite, SWT.CHECK);
-		btnAvailability_1.setBounds(30, 53, 93, 16);
-		btnAvailability_1.setText("Availability");
-		
-		
-		Button btnLocation_1 = new Button(composite, SWT.CHECK);
-		btnLocation_1.setBounds(30, 75, 93, 16);
-		btnLocation_1.setText("Location");
-		
-		
-		Button btnSimulate = new Button(group, SWT.NONE);
-		btnSimulate.setBounds(185, 62, 75, 25);
-		btnSimulate.setText("Simulate");
-		
-		Composite composite_1 = new Composite(group, SWT.NONE);
-		composite_1.setBounds(10, 137, 723, 259);
-		
-		Label lblNewLabel = new Label(composite_1, SWT.NONE);
-		lblNewLabel.setFont(SWTResourceManager.getFont("Calibri", 14, SWT.BOLD));
-		lblNewLabel.setBounds(10, 10, 339, 21);
-		lblNewLabel.setText("ApplicationDescription JSON file:");
-		StyledText simulationText = new StyledText(composite_1, SWT.BORDER);
-		simulationText.setBounds(10, 62, 671, 100);
-		simulationText.setAlwaysShowScrollBars(true);
-		simulationText.setJustify(true);
-		simulationText.setLineSpacing(3);
-		simulationText.setText("");
-
-		btnSimulate.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			NFRs.removeAll(NFRs);
-			if (btnCost_1.getSelection()) {
-				NFRs.add(btnCost_1.getText());
-				}
-			if (btnAvailability_1.getSelection()) {
-				NFRs.add(btnAvailability_1.getText());
-				}
-			if (btnLocation_1.getSelection()) {
-				NFRs.add(btnLocation_1.getText());
-				}
-			
-			optimus.appjson.put("NFRs", NFRs);
-			//}
-			
-			
-
-			ProgressBar progressBar = new ProgressBar(parent, SWT.NONE);
-			progressBar.setBounds(103, 18, 170, 17);
-
-			
-			
-			progressBar.setVisible(true);
-			simulationText.setText(optimus.appjson.toString());
-			addDisposeListener(new DisposeListener() {
-				public void widgetDisposed(DisposeEvent e) {
-				}
-			});
-			
-		}
-	});
-		scrolledComposite.setContent(group);
-		scrolledComposite.setMinSize(group.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-	}
-}
+
+/*********************************************************************
+* Copyright (c) 2017 Tecnalia.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+* Contributors (in alphabetical order):
+* Gorka Benguria                            Tecnalia
+* I�aki Etxaniz                             Tecnalia
+* Juncal Alonso                             Tecnalia
+* Leire Orue-Echevarria                     Tecnalia
+* Maria Jose Lopez                          Tecnalia
+* Marisa Escalante                          Tecnalia
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+**********************************************************************/
+package eu.DECIDEh2020.optimus.editors;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Composite;
+//import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Button;
+//import org.eclipse.swt.widgets.Table;
+import org.json.simple.JSONArray;
+//import org.json.simple.JSONObject;
+import org.eclipse.swt.widgets.ProgressBar;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.wb.swt.SWTResourceManager;
+
+public class Simulation extends Composite {
+
+
+
+	/**
+	 * Create the composite.
+	 * @param parent
+	 * @param style
+	 */
+	
+	private JSONArray NFRs;
+	public Simulation(Composite parent, int style) {
+		super(parent, SWT.NONE);
+		
+		ScrolledComposite scrolledComposite = new ScrolledComposite(this, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
+		scrolledComposite.setAlwaysShowScrollBars(true);
+		scrolledComposite.setBounds(10, 43, 813, 453);
+		scrolledComposite.setExpandHorizontal(true);
+		scrolledComposite.setExpandVertical(true);
+		
+		Group group = new Group(scrolledComposite, SWT.NONE);
+		
+		Composite composite = new Composite(group, SWT.NONE);
+		composite.setBounds(10, 10, 135, 121);
+		
+		Label lblNfrEditor = new Label(composite, SWT.NONE);
+		lblNfrEditor.setBounds(10, 10, 55, 15);
+		lblNfrEditor.setText("NFR Editor");
+		NFRs = new JSONArray();
+		
+		
+		Button btnCost_1 = new Button(composite, SWT.CHECK);
+		btnCost_1.setBounds(30, 31, 93, 16);
+		btnCost_1.setText("Cost");
+		
+		
+		Button btnAvailability_1 = new Button(composite, SWT.CHECK);
+		btnAvailability_1.setBounds(30, 53, 93, 16);
+		btnAvailability_1.setText("Availability");
+		
+		
+		Button btnLocation_1 = new Button(composite, SWT.CHECK);
+		btnLocation_1.setBounds(30, 75, 93, 16);
+		btnLocation_1.setText("Location");
+		
+		
+		Button btnSimulate = new Button(group, SWT.NONE);
+		btnSimulate.setBounds(185, 62, 75, 25);
+		btnSimulate.setText("Simulate");
+		
+		Composite composite_1 = new Composite(group, SWT.NONE);
+		composite_1.setBounds(10, 137, 723, 259);
+		
+		Label lblNewLabel = new Label(composite_1, SWT.NONE);
+		lblNewLabel.setFont(SWTResourceManager.getFont("Calibri", 14, SWT.BOLD));
+		lblNewLabel.setBounds(10, 10, 339, 21);
+		lblNewLabel.setText("ApplicationDescription JSON file:");
+		StyledText simulationText = new StyledText(composite_1, SWT.BORDER);
+		simulationText.setBounds(10, 62, 671, 100);
+		simulationText.setAlwaysShowScrollBars(true);
+		simulationText.setJustify(true);
+		simulationText.setLineSpacing(3);
+		simulationText.setText("");
+
+		btnSimulate.addSelectionListener(new SelectionAdapter() {
+		public void widgetSelected(SelectionEvent event) {
+			NFRs.removeAll(NFRs);
+			if (btnCost_1.getSelection()) {
+				NFRs.add(btnCost_1.getText());
+				}
+			if (btnAvailability_1.getSelection()) {
+				NFRs.add(btnAvailability_1.getText());
+				}
+			if (btnLocation_1.getSelection()) {
+				NFRs.add(btnLocation_1.getText());
+				}
+			
+			optimus.appjson.put("NFRs", NFRs);
+			//}
+			
+			
+
+			ProgressBar progressBar = new ProgressBar(parent, SWT.NONE);
+			progressBar.setBounds(103, 18, 170, 17);
+
+			
+			
+			progressBar.setVisible(true);
+			simulationText.setText(optimus.appjson.toString());
+			addDisposeListener(new DisposeListener() {
+				public void widgetDisposed(DisposeEvent e) {
+				}
+			});
+			
+		}
+	});
+		scrolledComposite.setContent(group);
+		scrolledComposite.setMinSize(group.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+
+	}
+}
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/optimus.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/optimus.java
index 1739f14097673fd45bd06e5c671e2f2353f8e214..8f7856cd03473f03570b3b4154dfec95e9f7053b 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/optimus.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/editors/optimus.java
@@ -1,259 +1,259 @@
-
-/*********************************************************************
-* Copyright (c) 2017 Tecnalia.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-* Contributors (in alphabetical order):
-* Gorka Benguria                            Tecnalia
-* I�aki Etxaniz                             Tecnalia
-* Juncal Alonso                             Tecnalia
-* Leire Orue-Echevarria                     Tecnalia
-* Maria Jose Lopez                          Tecnalia
-* Marisa Escalante                          Tecnalia
-* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
-**********************************************************************/
-package eu.DECIDEh2020.optimus.editors;
-
-
-import java.io.BufferedReader;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.text.Collator;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FontDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-import org.json.simple.JSONArray;
-import org.json.*;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * How to create a multi-page editor.
- * This example has 3 pages:
- * <ul>
- * <li>page 0 contains a nested text editor.
- * <li>page 1 shows the Classification tab
- * <li>page 2 shows the Simulation tab
- * </ul>
- */
-public class optimus extends MultiPageEditorPart implements IResourceChangeListener{
-
-	/** The text editor used in page 0. */
-	// Tecnalia20171024: I should find out how to assign a json editor
-	public static TextEditor editor;
-	private StyledText text;
-	// create a json object
-	public static JSONObject appjson;
-	public static JSONArray appmicros;
-	public static String newjson = "";
-	public static String workingDir;
-	/**
-	 * Creates a multi-page editor example.
-	 */
-	public optimus() {
-		super();
-		
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		
-		appjson = new JSONObject();
-		appmicros = new JSONArray();
-		
-	}
-	/**
-	 * Creates page 0 of the multi-page editor,
-	 * which contains a text editor.
-	 */
-	void createPage0() {
-		try {
-
-			editor = new TextEditor();
-			int index = addPage(editor, getEditorInput());
-
-			setPageText(index, editor.getTitle());
-			
-		} catch (PartInitException e) {
-			ErrorDialog.openError(
-				getSite().getShell(),
-				"Error creating nested text editor",
-				null,
-				e.getStatus());
-		}
-
-	}
-	// these lines of comments are a try of reading the JSON file and drawing the corresponding elements in classification tab
-	// I leave it to try again for the second version - Mar�a Jos� L�pe< - TECNALIA November 2017
-
-//	private JSONObject initialfile() throws IOException, ParseException {
-//		
-//		String line;
-//		FileReader f = new FileReader(workingDir);
-//        BufferedReader b = new BufferedReader(f);
-//       line = b.readLine();
-//       JSONParser parser = new JSONParser();
-//       JSONObject jsonfilecontent = (JSONObject) parser.parse(line);
-//       //JSONObject jsonfilecontent = new JSONObject(line);
-//       b.close();
-//		return jsonfilecontent;
-//	}
-	/**
-	 * Creates page 1 of the multi-page editor,
-	 * which allows you to change the font used in page 2.
-	 */
-	// Tecnalia: The UI for the classification tool
-	void createPage1() {
-
-		Composite composite = new Classification(getContainer(), SWT.NONE);
-
-		int index = addPage(composite);
-		setPageText(index, "Classification");
-	}
-	/**
-	 * Creates page 2 of the multi-page editor,
-	 * which shows the sorted text.
-	 */
-	void createPage2() {
-// Classification tab
-		Composite composite = new Simulation (getContainer(), SWT.NONE);
-
-		int index = addPage(composite);
-		setPageText(index, "Simulation");
-	}
-	
-
-	
-	
-	/**
-	 * Creates the pages of the multi-page editor.
-	 */
-	protected void createPages() {
-		createPage0();
-		createPage1();
-		createPage2();
-	}
-	/**
-	 * The <code>MultiPageEditorPart</code> implementation of this 
-	 * <code>IWorkbenchPart</code> method disposes all nested editors.
-	 * Subclasses may extend.
-	 */
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		super.dispose();
-	}
-	/**
-	 * Saves the multi-page editor's document.
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		getEditor(0).doSave(monitor);
-
-		
-	}
-	/**
-	 * Saves the multi-page editor's document as another file.
-	 * Also updates the text for page 0's tab, and updates this multi-page editor's input
-	 * to correspond to the nested editor's.
-	 */
-	public void doSaveAs() {
-		IEditorPart editor = getEditor(0);
-		editor.doSaveAs();
-		setPageText(0, editor.getTitle());
-		setInput(editor.getEditorInput());
-	}
-	/* (non-Javadoc)
-	 * Method declared on IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) {
-		setActivePage(0);
-		IDE.gotoMarker(getEditor(0), marker);
-	}
-	/**
-	 * The <code>MultiPageEditorExample</code> implementation of this method
-	 * checks that the input is an instance of <code>IFileEditorInput</code>.
-	 */
-	public void init(IEditorSite site, IEditorInput editorInput)
-		throws PartInitException {
-		
-		if (!(editorInput instanceof IFileEditorInput))
-			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-		workingDir = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
-		Integer position = editorInput.toString().indexOf("/");
-		Integer length = editorInput.toString().length();
-		workingDir = workingDir+editorInput.toString().substring(position,length-1);
-		
-		super.init(site, editorInput);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IEditorPart.
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-	/**
-	 * Calculates the contents of page 0.
-	 */
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		if (newPageIndex == 1) {
-		}
-		if (newPageIndex == 2) {
-		}
-		if (newPageIndex == 0) {
-			// I do not know why but  I do not see the new content until the button save is selected.
-			// to be analyzed for next version
-			//IEditorPart editor = getEditor(0);
-			//setPageText(0, editor.getTitle());
-			//setInput(editor.getEditorInput());
-		}
-		}
-	
-	/**
-	 * Closes all project files on project close.
-	 */
-	public void resourceChanged(final IResourceChangeEvent event){
-		if(event.getType() == IResourceChangeEvent.PRE_CLOSE){
-			Display.getDefault().asyncExec(new Runnable(){
-				public void run(){
-					IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
-					for (int i = 0; i<pages.length; i++){
-						if(((FileEditorInput)editor.getEditorInput()).getFile().getProject().equals(event.getResource())){
-							IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
-							pages[i].closeEditor(editorPart,true);
-						}
-					}
-				}            
-			});
-		}
-	}
-}
+
+/*********************************************************************
+* Copyright (c) 2017 Tecnalia.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+* Contributors (in alphabetical order):
+* Gorka Benguria                            Tecnalia
+* I�aki Etxaniz                             Tecnalia
+* Juncal Alonso                             Tecnalia
+* Leire Orue-Echevarria                     Tecnalia
+* Maria Jose Lopez                          Tecnalia
+* Marisa Escalante                          Tecnalia
+* Initially developed in the context of DECIDE EU project www.DECIDE-h2020.eu
+**********************************************************************/
+package eu.DECIDEh2020.optimus.editors;
+
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.Collator;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.ErrorDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.FontDialog;
+import org.eclipse.ui.*;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+import org.json.simple.JSONArray;
+import org.json.*;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * How to create a multi-page editor.
+ * This example has 3 pages:
+ * <ul>
+ * <li>page 0 contains a nested text editor.
+ * <li>page 1 shows the Classification tab
+ * <li>page 2 shows the Simulation tab
+ * </ul>
+ */
+public class optimus extends MultiPageEditorPart implements IResourceChangeListener{
+
+	/** The text editor used in page 0. */
+	// Tecnalia20171024: I should find out how to assign a json editor
+	public static TextEditor editor;
+	private StyledText text;
+	// create a json object
+	public static JSONObject appjson;
+	public static JSONArray appmicros;
+	public static String newjson = "";
+	public static String workingDir;
+	/**
+	 * Creates a multi-page editor example.
+	 */
+	public optimus() {
+		super();
+		
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
+		
+		appjson = new JSONObject();
+		appmicros = new JSONArray();
+		
+	}
+	/**
+	 * Creates page 0 of the multi-page editor,
+	 * which contains a text editor.
+	 */
+	void createPage0() {
+		try {
+
+			editor = new TextEditor();
+			int index = addPage(editor, getEditorInput());
+
+			setPageText(index, editor.getTitle());
+			
+		} catch (PartInitException e) {
+			ErrorDialog.openError(
+				getSite().getShell(),
+				"Error creating nested text editor",
+				null,
+				e.getStatus());
+		}
+
+	}
+	// these lines of comments are a try of reading the JSON file and drawing the corresponding elements in classification tab
+	// I leave it to try again for the second version - Mar�a Jos� L�pe< - TECNALIA November 2017
+
+//	private JSONObject initialfile() throws IOException, ParseException {
+//		
+//		String line;
+//		FileReader f = new FileReader(workingDir);
+//        BufferedReader b = new BufferedReader(f);
+//       line = b.readLine();
+//       JSONParser parser = new JSONParser();
+//       JSONObject jsonfilecontent = (JSONObject) parser.parse(line);
+//       //JSONObject jsonfilecontent = new JSONObject(line);
+//       b.close();
+//		return jsonfilecontent;
+//	}
+	/**
+	 * Creates page 1 of the multi-page editor,
+	 * which allows you to change the font used in page 2.
+	 */
+	// Tecnalia: The UI for the classification tool
+	void createPage1() {
+
+		Composite composite = new Classification(getContainer(), SWT.NONE);
+
+		int index = addPage(composite);
+		setPageText(index, "Classification");
+	}
+	/**
+	 * Creates page 2 of the multi-page editor,
+	 * which shows the sorted text.
+	 */
+	void createPage2() {
+// Classification tab
+		Composite composite = new Simulation (getContainer(), SWT.NONE);
+
+		int index = addPage(composite);
+		setPageText(index, "Simulation");
+	}
+	
+
+	
+	
+	/**
+	 * Creates the pages of the multi-page editor.
+	 */
+	protected void createPages() {
+		createPage0();
+		createPage1();
+		createPage2();
+	}
+	/**
+	 * The <code>MultiPageEditorPart</code> implementation of this 
+	 * <code>IWorkbenchPart</code> method disposes all nested editors.
+	 * Subclasses may extend.
+	 */
+	public void dispose() {
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
+		super.dispose();
+	}
+	/**
+	 * Saves the multi-page editor's document.
+	 */
+	public void doSave(IProgressMonitor monitor) {
+		getEditor(0).doSave(monitor);
+
+		
+	}
+	/**
+	 * Saves the multi-page editor's document as another file.
+	 * Also updates the text for page 0's tab, and updates this multi-page editor's input
+	 * to correspond to the nested editor's.
+	 */
+	public void doSaveAs() {
+		IEditorPart editor = getEditor(0);
+		editor.doSaveAs();
+		setPageText(0, editor.getTitle());
+		setInput(editor.getEditorInput());
+	}
+	/* (non-Javadoc)
+	 * Method declared on IEditorPart
+	 */
+	public void gotoMarker(IMarker marker) {
+		setActivePage(0);
+		IDE.gotoMarker(getEditor(0), marker);
+	}
+	/**
+	 * The <code>MultiPageEditorExample</code> implementation of this method
+	 * checks that the input is an instance of <code>IFileEditorInput</code>.
+	 */
+	public void init(IEditorSite site, IEditorInput editorInput)
+		throws PartInitException {
+		
+		if (!(editorInput instanceof IFileEditorInput))
+			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
+		workingDir = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString();
+		Integer position = editorInput.toString().indexOf("/");
+		Integer length = editorInput.toString().length();
+		workingDir = workingDir+editorInput.toString().substring(position,length-1);
+		
+		super.init(site, editorInput);
+	}
+	/* (non-Javadoc)
+	 * Method declared on IEditorPart.
+	 */
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+	/**
+	 * Calculates the contents of page 0.
+	 */
+	protected void pageChange(int newPageIndex) {
+		super.pageChange(newPageIndex);
+		if (newPageIndex == 1) {
+		}
+		if (newPageIndex == 2) {
+		}
+		if (newPageIndex == 0) {
+			// I do not know why but  I do not see the new content until the button save is selected.
+			// to be analyzed for next version
+			//IEditorPart editor = getEditor(0);
+			//setPageText(0, editor.getTitle());
+			//setInput(editor.getEditorInput());
+		}
+		}
+	
+	/**
+	 * Closes all project files on project close.
+	 */
+	public void resourceChanged(final IResourceChangeEvent event){
+		if(event.getType() == IResourceChangeEvent.PRE_CLOSE){
+			Display.getDefault().asyncExec(new Runnable(){
+				public void run(){
+					IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+					for (int i = 0; i<pages.length; i++){
+						if(((FileEditorInput)editor.getEditorInput()).getFile().getProject().equals(event.getResource())){
+							IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
+							pages[i].closeEditor(editorPart,true);
+						}
+					}
+				}            
+			});
+		}
+	}
+}
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizard.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizard.java
index 6f1a9446404e5352a51c1753aa48916bcdd20024..93e662bd4e3e49a39498cc232595a3c2deb641f0 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizard.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizard.java
@@ -1,152 +1,152 @@
-package eu.DECIDEh2020.optimus.wizards;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.operation.*;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import java.io.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This is a sample new wizard. Its role is to create a new file 
- * resource in the provided container. If the container resource
- * (a folder or a project) is selected in the workspace 
- * when the wizard is opened, it will accept it as the target
- * container. The wizard creates one file with the extension
- * "json". If a sample multi-page editor (also available
- * as a template) is registered for the same extension, it will
- * be able to open it.
- */
-
-public class OptimusWizard extends Wizard implements INewWizard {
-	private OptimusWizardPage page;
-	private ISelection selection;
-
-	/**
-	 * Constructor for OptimusWizard.
-	 */
-	public OptimusWizard() {
-		super();
-		setNeedsProgressMonitor(true);
-	}
-	
-	/**
-	 * Adding the page to the wizard.
-	 */
-	@Override
-	public void addPages() {
-		page = new OptimusWizardPage(selection);
-		addPage(page);
-	}
-
-	/**
-	 * This method is called when 'Finish' button is pressed in
-	 * the wizard. We will create an operation and run it
-	 * using wizard as execution context.
-	 */
-	@Override
-	public boolean performFinish() {
-		final String containerName = page.getContainerName();
-		final String fileName = page.getFileName();
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					doFinish(containerName, fileName, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			getContainer().run(true, false, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			Throwable realException = e.getTargetException();
-			MessageDialog.openError(getShell(), "Error", realException.getMessage());
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * The worker method. It will find the container, create the
-	 * file if missing or just replace its contents, and open
-	 * the editor on the newly created file.
-	 */
-
-	private void doFinish(
-		String containerName,
-		String fileName,
-		IProgressMonitor monitor)
-		throws CoreException {
-		// create a sample file
-		monitor.beginTask("Creating " + fileName, 2);
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IResource resource = root.findMember(new Path(containerName));
-		if (!resource.exists() || !(resource instanceof IContainer)) {
-			throwCoreException("Container \"" + containerName + "\" does not exist.");
-		}
-		IContainer container = (IContainer) resource;
-		final IFile file = container.getFile(new Path(fileName));
-		try {
-			InputStream stream = openContentStream();
-			if (file.exists()) {
-				file.setContents(stream, true, true, monitor);
-			} else {
-				file.create(stream, true, monitor);
-			}
-			stream.close();
-		} catch (IOException e) {
-		}
-		monitor.worked(1);
-		monitor.setTaskName("Opening file for editing...");
-		getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchPage page =
-					PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				try {
-					IDE.openEditor(page, file, true);
-				} catch (PartInitException e) {
-				}
-			}
-		});
-		monitor.worked(1);
-	}
-	
-	/**
-	 * We will initialize file contents with a sample text.
-	 */
-
-	private InputStream openContentStream() {
-		String contents =
-			"This is the initial file contents for *.json file that should be word-sorted in the Preview page of the multi-page editor";
-		return new ByteArrayInputStream(contents.getBytes());
-	}
-
-	private void throwCoreException(String message) throws CoreException {
-		IStatus status =
-			new Status(IStatus.ERROR, "eu.DECIDEh2020.optimus", IStatus.OK, message, null);
-		throw new CoreException(status);
-	}
-
-	/**
-	 * We will accept the selection in the workbench to see if
-	 * we can initialize from it.
-	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
-	 */
-	@Override
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-	}
+package eu.DECIDEh2020.optimus.wizards;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jface.operation.*;
+import java.lang.reflect.InvocationTargetException;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.core.resources.*;
+import org.eclipse.core.runtime.CoreException;
+import java.io.*;
+import org.eclipse.ui.*;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * This is a sample new wizard. Its role is to create a new file 
+ * resource in the provided container. If the container resource
+ * (a folder or a project) is selected in the workspace 
+ * when the wizard is opened, it will accept it as the target
+ * container. The wizard creates one file with the extension
+ * "json". If a sample multi-page editor (also available
+ * as a template) is registered for the same extension, it will
+ * be able to open it.
+ */
+
+public class OptimusWizard extends Wizard implements INewWizard {
+	private OptimusWizardPage page;
+	private ISelection selection;
+
+	/**
+	 * Constructor for OptimusWizard.
+	 */
+	public OptimusWizard() {
+		super();
+		setNeedsProgressMonitor(true);
+	}
+	
+	/**
+	 * Adding the page to the wizard.
+	 */
+	@Override
+	public void addPages() {
+		page = new OptimusWizardPage(selection);
+		addPage(page);
+	}
+
+	/**
+	 * This method is called when 'Finish' button is pressed in
+	 * the wizard. We will create an operation and run it
+	 * using wizard as execution context.
+	 */
+	@Override
+	public boolean performFinish() {
+		final String containerName = page.getContainerName();
+		final String fileName = page.getFileName();
+		IRunnableWithProgress op = new IRunnableWithProgress() {
+			public void run(IProgressMonitor monitor) throws InvocationTargetException {
+				try {
+					doFinish(containerName, fileName, monitor);
+				} catch (CoreException e) {
+					throw new InvocationTargetException(e);
+				} finally {
+					monitor.done();
+				}
+			}
+		};
+		try {
+			getContainer().run(true, false, op);
+		} catch (InterruptedException e) {
+			return false;
+		} catch (InvocationTargetException e) {
+			Throwable realException = e.getTargetException();
+			MessageDialog.openError(getShell(), "Error", realException.getMessage());
+			return false;
+		}
+		return true;
+	}
+	
+	/**
+	 * The worker method. It will find the container, create the
+	 * file if missing or just replace its contents, and open
+	 * the editor on the newly created file.
+	 */
+
+	private void doFinish(
+		String containerName,
+		String fileName,
+		IProgressMonitor monitor)
+		throws CoreException {
+		// create a sample file
+		monitor.beginTask("Creating " + fileName, 2);
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		IResource resource = root.findMember(new Path(containerName));
+		if (!resource.exists() || !(resource instanceof IContainer)) {
+			throwCoreException("Container \"" + containerName + "\" does not exist.");
+		}
+		IContainer container = (IContainer) resource;
+		final IFile file = container.getFile(new Path(fileName));
+		try {
+			InputStream stream = openContentStream();
+			if (file.exists()) {
+				file.setContents(stream, true, true, monitor);
+			} else {
+				file.create(stream, true, monitor);
+			}
+			stream.close();
+		} catch (IOException e) {
+		}
+		monitor.worked(1);
+		monitor.setTaskName("Opening file for editing...");
+		getShell().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				IWorkbenchPage page =
+					PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+				try {
+					IDE.openEditor(page, file, true);
+				} catch (PartInitException e) {
+				}
+			}
+		});
+		monitor.worked(1);
+	}
+	
+	/**
+	 * We will initialize file contents with a sample text.
+	 */
+
+	private InputStream openContentStream() {
+		String contents =
+			"This is the initial file contents for *.json file that should be word-sorted in the Preview page of the multi-page editor";
+		return new ByteArrayInputStream(contents.getBytes());
+	}
+
+	private void throwCoreException(String message) throws CoreException {
+		IStatus status =
+			new Status(IStatus.ERROR, "eu.DECIDEh2020.optimus", IStatus.OK, message, null);
+		throw new CoreException(status);
+	}
+
+	/**
+	 * We will accept the selection in the workbench to see if
+	 * we can initialize from it.
+	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
+	 */
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.selection = selection;
+	}
 }
\ No newline at end of file
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizardPage.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizardPage.java
index 0c0c8eeeb15f685f8f976c3342ddf0a55e5f26f5..c969e5a62d231b89b69e465211f3852d01a1324d 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizardPage.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/eu/DECIDEh2020/optimus/wizards/OptimusWizardPage.java
@@ -1,184 +1,184 @@
-package eu.DECIDEh2020.optimus.wizards;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-
-/**
- * The "New" wizard page allows setting the container for the new file as well
- * as the file name. The page will only accept file name without the extension
- * OR with the extension that matches the expected one (json).
- */
-
-public class OptimusWizardPage extends WizardPage {
-	private Text containerText;
-
-	private Text fileText;
-
-	private ISelection selection;
-
-	/**
-	 * Constructor for SampleNewWizardPage.
-	 * 
-	 * @param pageName
-	 */
-	public OptimusWizardPage(ISelection selection) {
-		super("wizardPage");
-		setTitle("Multi-page Editor File");
-		setDescription("This wizard creates a new file with *.json extension that can be opened by a multi-page editor.");
-		this.selection = selection;
-	}
-
-	@Override
-	public void createControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
-		layout.numColumns = 3;
-		layout.verticalSpacing = 9;
-		Label label = new Label(container, SWT.NULL);
-		label.setText("&Container:");
-
-		containerText = new Text(container, SWT.BORDER | SWT.SINGLE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		containerText.setLayoutData(gd);
-		containerText.addModifyListener(new ModifyListener() {
-			@Override
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
-
-		Button button = new Button(container, SWT.PUSH);
-		button.setText("Browse...");
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleBrowse();
-			}
-		});
-		label = new Label(container, SWT.NULL);
-		label.setText("&File name:");
-
-		fileText = new Text(container, SWT.BORDER | SWT.SINGLE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fileText.setLayoutData(gd);
-		fileText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
-		initialize();
-		dialogChanged();
-		setControl(container);
-	}
-
-	/**
-	 * Tests if the current workbench selection is a suitable container to use.
-	 */
-
-	private void initialize() {
-		if (selection != null && selection.isEmpty() == false
-				&& selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			if (ssel.size() > 1)
-				return;
-			Object obj = ssel.getFirstElement();
-			if (obj instanceof IResource) {
-				IContainer container;
-				if (obj instanceof IContainer)
-					container = (IContainer) obj;
-				else
-					container = ((IResource) obj).getParent();
-				containerText.setText(container.getFullPath().toString());
-			}
-		}
-		fileText.setText("new_file.json");
-	}
-
-	/**
-	 * Uses the standard container selection dialog to choose the new value for
-	 * the container field.
-	 */
-
-	private void handleBrowse() {
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(
-				getShell(), ResourcesPlugin.getWorkspace().getRoot(), false,
-				"Select new file container");
-		if (dialog.open() == ContainerSelectionDialog.OK) {
-			Object[] result = dialog.getResult();
-			if (result.length == 1) {
-				containerText.setText(((Path) result[0]).toString());
-			}
-		}
-	}
-
-	/**
-	 * Ensures that both text fields are set.
-	 */
-
-	private void dialogChanged() {
-		IResource container = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(new Path(getContainerName()));
-		String fileName = getFileName();
-
-		if (getContainerName().length() == 0) {
-			updateStatus("File container must be specified");
-			return;
-		}
-		if (container == null
-				|| (container.getType() & (IResource.PROJECT | IResource.FOLDER)) == 0) {
-			updateStatus("File container must exist");
-			return;
-		}
-		if (!container.isAccessible()) {
-			updateStatus("Project must be writable");
-			return;
-		}
-		if (fileName.length() == 0) {
-			updateStatus("File name must be specified");
-			return;
-		}
-		if (fileName.replace('\\', '/').indexOf('/', 1) > 0) {
-			updateStatus("File name must be valid");
-			return;
-		}
-		int dotLoc = fileName.lastIndexOf('.');
-		if (dotLoc != -1) {
-			String ext = fileName.substring(dotLoc + 1);
-			if (ext.equalsIgnoreCase("json") == false) {
-				updateStatus("File extension must be \"json\"");
-				return;
-			}
-		}
-		updateStatus(null);
-	}
-
-	private void updateStatus(String message) {
-		setErrorMessage(message);
-		setPageComplete(message == null);
-	}
-
-	public String getContainerName() {
-		return containerText.getText();
-	}
-
-	public String getFileName() {
-		return fileText.getText();
-	}
+package eu.DECIDEh2020.optimus.wizards;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+
+/**
+ * The "New" wizard page allows setting the container for the new file as well
+ * as the file name. The page will only accept file name without the extension
+ * OR with the extension that matches the expected one (json).
+ */
+
+public class OptimusWizardPage extends WizardPage {
+	private Text containerText;
+
+	private Text fileText;
+
+	private ISelection selection;
+
+	/**
+	 * Constructor for SampleNewWizardPage.
+	 * 
+	 * @param pageName
+	 */
+	public OptimusWizardPage(ISelection selection) {
+		super("wizardPage");
+		setTitle("Multi-page Editor File");
+		setDescription("This wizard creates a new file with *.json extension that can be opened by a multi-page editor.");
+		this.selection = selection;
+	}
+
+	@Override
+	public void createControl(Composite parent) {
+		Composite container = new Composite(parent, SWT.NULL);
+		GridLayout layout = new GridLayout();
+		container.setLayout(layout);
+		layout.numColumns = 3;
+		layout.verticalSpacing = 9;
+		Label label = new Label(container, SWT.NULL);
+		label.setText("&Container:");
+
+		containerText = new Text(container, SWT.BORDER | SWT.SINGLE);
+		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+		containerText.setLayoutData(gd);
+		containerText.addModifyListener(new ModifyListener() {
+			@Override
+			public void modifyText(ModifyEvent e) {
+				dialogChanged();
+			}
+		});
+
+		Button button = new Button(container, SWT.PUSH);
+		button.setText("Browse...");
+		button.addSelectionListener(new SelectionAdapter() {
+			public void widgetSelected(SelectionEvent e) {
+				handleBrowse();
+			}
+		});
+		label = new Label(container, SWT.NULL);
+		label.setText("&File name:");
+
+		fileText = new Text(container, SWT.BORDER | SWT.SINGLE);
+		gd = new GridData(GridData.FILL_HORIZONTAL);
+		fileText.setLayoutData(gd);
+		fileText.addModifyListener(new ModifyListener() {
+			public void modifyText(ModifyEvent e) {
+				dialogChanged();
+			}
+		});
+		initialize();
+		dialogChanged();
+		setControl(container);
+	}
+
+	/**
+	 * Tests if the current workbench selection is a suitable container to use.
+	 */
+
+	private void initialize() {
+		if (selection != null && selection.isEmpty() == false
+				&& selection instanceof IStructuredSelection) {
+			IStructuredSelection ssel = (IStructuredSelection) selection;
+			if (ssel.size() > 1)
+				return;
+			Object obj = ssel.getFirstElement();
+			if (obj instanceof IResource) {
+				IContainer container;
+				if (obj instanceof IContainer)
+					container = (IContainer) obj;
+				else
+					container = ((IResource) obj).getParent();
+				containerText.setText(container.getFullPath().toString());
+			}
+		}
+		fileText.setText("new_file.json");
+	}
+
+	/**
+	 * Uses the standard container selection dialog to choose the new value for
+	 * the container field.
+	 */
+
+	private void handleBrowse() {
+		ContainerSelectionDialog dialog = new ContainerSelectionDialog(
+				getShell(), ResourcesPlugin.getWorkspace().getRoot(), false,
+				"Select new file container");
+		if (dialog.open() == ContainerSelectionDialog.OK) {
+			Object[] result = dialog.getResult();
+			if (result.length == 1) {
+				containerText.setText(((Path) result[0]).toString());
+			}
+		}
+	}
+
+	/**
+	 * Ensures that both text fields are set.
+	 */
+
+	private void dialogChanged() {
+		IResource container = ResourcesPlugin.getWorkspace().getRoot()
+				.findMember(new Path(getContainerName()));
+		String fileName = getFileName();
+
+		if (getContainerName().length() == 0) {
+			updateStatus("File container must be specified");
+			return;
+		}
+		if (container == null
+				|| (container.getType() & (IResource.PROJECT | IResource.FOLDER)) == 0) {
+			updateStatus("File container must exist");
+			return;
+		}
+		if (!container.isAccessible()) {
+			updateStatus("Project must be writable");
+			return;
+		}
+		if (fileName.length() == 0) {
+			updateStatus("File name must be specified");
+			return;
+		}
+		if (fileName.replace('\\', '/').indexOf('/', 1) > 0) {
+			updateStatus("File name must be valid");
+			return;
+		}
+		int dotLoc = fileName.lastIndexOf('.');
+		if (dotLoc != -1) {
+			String ext = fileName.substring(dotLoc + 1);
+			if (ext.equalsIgnoreCase("json") == false) {
+				updateStatus("File extension must be \"json\"");
+				return;
+			}
+		}
+		updateStatus(null);
+	}
+
+	private void updateStatus(String message) {
+		setErrorMessage(message);
+		setPageComplete(message == null);
+	}
+
+	public String getContainerName() {
+		return containerText.getText();
+	}
+
+	public String getFileName() {
+		return fileText.getText();
+	}
 }
\ No newline at end of file
diff --git a/OPTIMUS/eu.DECIDEh2020.optimus/src/org/eclipse/wb/swt/SWTResourceManager.java b/OPTIMUS/eu.DECIDEh2020.optimus/src/org/eclipse/wb/swt/SWTResourceManager.java
index d8a285807adcefed53ca8b9d3af0f7d9881e1a13..fdec674d4a83c0084462caf7f2799b8c976e95d9 100644
--- a/OPTIMUS/eu.DECIDEh2020.optimus/src/org/eclipse/wb/swt/SWTResourceManager.java
+++ b/OPTIMUS/eu.DECIDEh2020.optimus/src/org/eclipse/wb/swt/SWTResourceManager.java
@@ -1,447 +1,447 @@
-/*******************************************************************************
- * Copyright (c) 2011 Google, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Google, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wb.swt;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc.
- * <p>
- * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
- * operating system resources managed by cached objects when those objects and OS resources are no longer
- * needed (e.g. on application shutdown)
- * <p>
- * This class may be freely distributed as part of any application or plugin.
- * <p>
- * @author scheglov_ke
- * @author Dan Rubel
- */
-public class SWTResourceManager {
-	////////////////////////////////////////////////////////////////////////////
-	//
-	// Color
-	//
-	////////////////////////////////////////////////////////////////////////////
-	private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
-	/**
-	 * Returns the system {@link Color} matching the specific ID.
-	 * 
-	 * @param systemColorID
-	 *            the ID value for the color
-	 * @return the system {@link Color} matching the specific ID
-	 */
-	public static Color getColor(int systemColorID) {
-		Display display = Display.getCurrent();
-		return display.getSystemColor(systemColorID);
-	}
-	/**
-	 * Returns a {@link Color} given its red, green and blue component values.
-	 * 
-	 * @param r
-	 *            the red component of the color
-	 * @param g
-	 *            the green component of the color
-	 * @param b
-	 *            the blue component of the color
-	 * @return the {@link Color} matching the given red, green and blue component values
-	 */
-	public static Color getColor(int r, int g, int b) {
-		return getColor(new RGB(r, g, b));
-	}
-	/**
-	 * Returns a {@link Color} given its RGB value.
-	 * 
-	 * @param rgb
-	 *            the {@link RGB} value of the color
-	 * @return the {@link Color} matching the RGB value
-	 */
-	public static Color getColor(RGB rgb) {
-		Color color = m_colorMap.get(rgb);
-		if (color == null) {
-			Display display = Display.getCurrent();
-			color = new Color(display, rgb);
-			m_colorMap.put(rgb, color);
-		}
-		return color;
-	}
-	/**
-	 * Dispose of all the cached {@link Color}'s.
-	 */
-	public static void disposeColors() {
-		for (Color color : m_colorMap.values()) {
-			color.dispose();
-		}
-		m_colorMap.clear();
-	}
-	////////////////////////////////////////////////////////////////////////////
-	//
-	// Image
-	//
-	////////////////////////////////////////////////////////////////////////////
-	/**
-	 * Maps image paths to images.
-	 */
-	private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
-	/**
-	 * Returns an {@link Image} encoded by the specified {@link InputStream}.
-	 * 
-	 * @param stream
-	 *            the {@link InputStream} encoding the image data
-	 * @return the {@link Image} encoded by the specified input stream
-	 */
-	protected static Image getImage(InputStream stream) throws IOException {
-		try {
-			Display display = Display.getCurrent();
-			ImageData data = new ImageData(stream);
-			if (data.transparentPixel > 0) {
-				return new Image(display, data, data.getTransparencyMask());
-			}
-			return new Image(display, data);
-		} finally {
-			stream.close();
-		}
-	}
-	/**
-	 * Returns an {@link Image} stored in the file at the specified path.
-	 * 
-	 * @param path
-	 *            the path to the image file
-	 * @return the {@link Image} stored in the file at the specified path
-	 */
-	public static Image getImage(String path) {
-		Image image = m_imageMap.get(path);
-		if (image == null) {
-			try {
-				image = getImage(new FileInputStream(path));
-				m_imageMap.put(path, image);
-			} catch (Exception e) {
-				image = getMissingImage();
-				m_imageMap.put(path, image);
-			}
-		}
-		return image;
-	}
-	/**
-	 * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
-	 * 
-	 * @param clazz
-	 *            the {@link Class} relative to which to find the image
-	 * @param path
-	 *            the path to the image file, if starts with <code>'/'</code>
-	 * @return the {@link Image} stored in the file at the specified path
-	 */
-	public static Image getImage(Class<?> clazz, String path) {
-		String key = clazz.getName() + '|' + path;
-		Image image = m_imageMap.get(key);
-		if (image == null) {
-			try {
-				image = getImage(clazz.getResourceAsStream(path));
-				m_imageMap.put(key, image);
-			} catch (Exception e) {
-				image = getMissingImage();
-				m_imageMap.put(key, image);
-			}
-		}
-		return image;
-	}
-	private static final int MISSING_IMAGE_SIZE = 10;
-	/**
-	 * @return the small {@link Image} that can be used as placeholder for missing image.
-	 */
-	private static Image getMissingImage() {
-		Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
-		//
-		GC gc = new GC(image);
-		gc.setBackground(getColor(SWT.COLOR_RED));
-		gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
-		gc.dispose();
-		//
-		return image;
-	}
-	/**
-	 * Style constant for placing decorator image in top left corner of base image.
-	 */
-	public static final int TOP_LEFT = 1;
-	/**
-	 * Style constant for placing decorator image in top right corner of base image.
-	 */
-	public static final int TOP_RIGHT = 2;
-	/**
-	 * Style constant for placing decorator image in bottom left corner of base image.
-	 */
-	public static final int BOTTOM_LEFT = 3;
-	/**
-	 * Style constant for placing decorator image in bottom right corner of base image.
-	 */
-	public static final int BOTTOM_RIGHT = 4;
-	/**
-	 * Internal value.
-	 */
-	protected static final int LAST_CORNER_KEY = 5;
-	/**
-	 * Maps images to decorated images.
-	 */
-	@SuppressWarnings("unchecked")
-	private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
-	/**
-	 * Returns an {@link Image} composed of a base image decorated by another image.
-	 * 
-	 * @param baseImage
-	 *            the base {@link Image} that should be decorated
-	 * @param decorator
-	 *            the {@link Image} to decorate the base image
-	 * @return {@link Image} The resulting decorated image
-	 */
-	public static Image decorateImage(Image baseImage, Image decorator) {
-		return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
-	}
-	/**
-	 * Returns an {@link Image} composed of a base image decorated by another image.
-	 * 
-	 * @param baseImage
-	 *            the base {@link Image} that should be decorated
-	 * @param decorator
-	 *            the {@link Image} to decorate the base image
-	 * @param corner
-	 *            the corner to place decorator image
-	 * @return the resulting decorated {@link Image}
-	 */
-	public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
-		if (corner <= 0 || corner >= LAST_CORNER_KEY) {
-			throw new IllegalArgumentException("Wrong decorate corner");
-		}
-		Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
-		if (cornerDecoratedImageMap == null) {
-			cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
-			m_decoratedImageMap[corner] = cornerDecoratedImageMap;
-		}
-		Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
-		if (decoratedMap == null) {
-			decoratedMap = new HashMap<Image, Image>();
-			cornerDecoratedImageMap.put(baseImage, decoratedMap);
-		}
-		//
-		Image result = decoratedMap.get(decorator);
-		if (result == null) {
-			Rectangle bib = baseImage.getBounds();
-			Rectangle dib = decorator.getBounds();
-			//
-			result = new Image(Display.getCurrent(), bib.width, bib.height);
-			//
-			GC gc = new GC(result);
-			gc.drawImage(baseImage, 0, 0);
-			if (corner == TOP_LEFT) {
-				gc.drawImage(decorator, 0, 0);
-			} else if (corner == TOP_RIGHT) {
-				gc.drawImage(decorator, bib.width - dib.width, 0);
-			} else if (corner == BOTTOM_LEFT) {
-				gc.drawImage(decorator, 0, bib.height - dib.height);
-			} else if (corner == BOTTOM_RIGHT) {
-				gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
-			}
-			gc.dispose();
-			//
-			decoratedMap.put(decorator, result);
-		}
-		return result;
-	}
-	/**
-	 * Dispose all of the cached {@link Image}'s.
-	 */
-	public static void disposeImages() {
-		// dispose loaded images
-		{
-			for (Image image : m_imageMap.values()) {
-				image.dispose();
-			}
-			m_imageMap.clear();
-		}
-		// dispose decorated images
-		for (int i = 0; i < m_decoratedImageMap.length; i++) {
-			Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
-			if (cornerDecoratedImageMap != null) {
-				for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
-					for (Image image : decoratedMap.values()) {
-						image.dispose();
-					}
-					decoratedMap.clear();
-				}
-				cornerDecoratedImageMap.clear();
-			}
-		}
-	}
-	////////////////////////////////////////////////////////////////////////////
-	//
-	// Font
-	//
-	////////////////////////////////////////////////////////////////////////////
-	/**
-	 * Maps font names to fonts.
-	 */
-	private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
-	/**
-	 * Maps fonts to their bold versions.
-	 */
-	private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
-	/**
-	 * Returns a {@link Font} based on its name, height and style.
-	 * 
-	 * @param name
-	 *            the name of the font
-	 * @param height
-	 *            the height of the font
-	 * @param style
-	 *            the style of the font
-	 * @return {@link Font} The font matching the name, height and style
-	 */
-	public static Font getFont(String name, int height, int style) {
-		return getFont(name, height, style, false, false);
-	}
-	/**
-	 * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
-	 * flags are also supported.
-	 * 
-	 * @param name
-	 *            the name of the font
-	 * @param size
-	 *            the size of the font
-	 * @param style
-	 *            the style of the font
-	 * @param strikeout
-	 *            the strikeout flag (warning: Windows only)
-	 * @param underline
-	 *            the underline flag (warning: Windows only)
-	 * @return {@link Font} The font matching the name, height, style, strikeout and underline
-	 */
-	public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
-		String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
-		Font font = m_fontMap.get(fontName);
-		if (font == null) {
-			FontData fontData = new FontData(name, size, style);
-			if (strikeout || underline) {
-				try {
-					Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
-					Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
-					if (logFont != null && logFontClass != null) {
-						if (strikeout) {
-							logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
-						}
-						if (underline) {
-							logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
-						}
-					}
-				} catch (Throwable e) {
-					System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			font = new Font(Display.getCurrent(), fontData);
-			m_fontMap.put(fontName, font);
-		}
-		return font;
-	}
-	/**
-	 * Returns a bold version of the given {@link Font}.
-	 * 
-	 * @param baseFont
-	 *            the {@link Font} for which a bold version is desired
-	 * @return the bold version of the given {@link Font}
-	 */
-	public static Font getBoldFont(Font baseFont) {
-		Font font = m_fontToBoldFontMap.get(baseFont);
-		if (font == null) {
-			FontData fontDatas[] = baseFont.getFontData();
-			FontData data = fontDatas[0];
-			font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
-			m_fontToBoldFontMap.put(baseFont, font);
-		}
-		return font;
-	}
-	/**
-	 * Dispose all of the cached {@link Font}'s.
-	 */
-	public static void disposeFonts() {
-		// clear fonts
-		for (Font font : m_fontMap.values()) {
-			font.dispose();
-		}
-		m_fontMap.clear();
-		// clear bold fonts
-		for (Font font : m_fontToBoldFontMap.values()) {
-			font.dispose();
-		}
-		m_fontToBoldFontMap.clear();
-	}
-	////////////////////////////////////////////////////////////////////////////
-	//
-	// Cursor
-	//
-	////////////////////////////////////////////////////////////////////////////
-	/**
-	 * Maps IDs to cursors.
-	 */
-	private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
-	/**
-	 * Returns the system cursor matching the specific ID.
-	 * 
-	 * @param id
-	 *            int The ID value for the cursor
-	 * @return Cursor The system cursor matching the specific ID
-	 */
-	public static Cursor getCursor(int id) {
-		Integer key = Integer.valueOf(id);
-		Cursor cursor = m_idToCursorMap.get(key);
-		if (cursor == null) {
-			cursor = new Cursor(Display.getDefault(), id);
-			m_idToCursorMap.put(key, cursor);
-		}
-		return cursor;
-	}
-	/**
-	 * Dispose all of the cached cursors.
-	 */
-	public static void disposeCursors() {
-		for (Cursor cursor : m_idToCursorMap.values()) {
-			cursor.dispose();
-		}
-		m_idToCursorMap.clear();
-	}
-	////////////////////////////////////////////////////////////////////////////
-	//
-	// General
-	//
-	////////////////////////////////////////////////////////////////////////////
-	/**
-	 * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
-	 * objects are no longer needed (e.g. on application shutdown).
-	 */
-	public static void dispose() {
-		disposeColors();
-		disposeImages();
-		disposeFonts();
-		disposeCursors();
-	}
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.swt;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Cursor;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc.
+ * <p>
+ * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
+ * operating system resources managed by cached objects when those objects and OS resources are no longer
+ * needed (e.g. on application shutdown)
+ * <p>
+ * This class may be freely distributed as part of any application or plugin.
+ * <p>
+ * @author scheglov_ke
+ * @author Dan Rubel
+ */
+public class SWTResourceManager {
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// Color
+	//
+	////////////////////////////////////////////////////////////////////////////
+	private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
+	/**
+	 * Returns the system {@link Color} matching the specific ID.
+	 * 
+	 * @param systemColorID
+	 *            the ID value for the color
+	 * @return the system {@link Color} matching the specific ID
+	 */
+	public static Color getColor(int systemColorID) {
+		Display display = Display.getCurrent();
+		return display.getSystemColor(systemColorID);
+	}
+	/**
+	 * Returns a {@link Color} given its red, green and blue component values.
+	 * 
+	 * @param r
+	 *            the red component of the color
+	 * @param g
+	 *            the green component of the color
+	 * @param b
+	 *            the blue component of the color
+	 * @return the {@link Color} matching the given red, green and blue component values
+	 */
+	public static Color getColor(int r, int g, int b) {
+		return getColor(new RGB(r, g, b));
+	}
+	/**
+	 * Returns a {@link Color} given its RGB value.
+	 * 
+	 * @param rgb
+	 *            the {@link RGB} value of the color
+	 * @return the {@link Color} matching the RGB value
+	 */
+	public static Color getColor(RGB rgb) {
+		Color color = m_colorMap.get(rgb);
+		if (color == null) {
+			Display display = Display.getCurrent();
+			color = new Color(display, rgb);
+			m_colorMap.put(rgb, color);
+		}
+		return color;
+	}
+	/**
+	 * Dispose of all the cached {@link Color}'s.
+	 */
+	public static void disposeColors() {
+		for (Color color : m_colorMap.values()) {
+			color.dispose();
+		}
+		m_colorMap.clear();
+	}
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// Image
+	//
+	////////////////////////////////////////////////////////////////////////////
+	/**
+	 * Maps image paths to images.
+	 */
+	private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
+	/**
+	 * Returns an {@link Image} encoded by the specified {@link InputStream}.
+	 * 
+	 * @param stream
+	 *            the {@link InputStream} encoding the image data
+	 * @return the {@link Image} encoded by the specified input stream
+	 */
+	protected static Image getImage(InputStream stream) throws IOException {
+		try {
+			Display display = Display.getCurrent();
+			ImageData data = new ImageData(stream);
+			if (data.transparentPixel > 0) {
+				return new Image(display, data, data.getTransparencyMask());
+			}
+			return new Image(display, data);
+		} finally {
+			stream.close();
+		}
+	}
+	/**
+	 * Returns an {@link Image} stored in the file at the specified path.
+	 * 
+	 * @param path
+	 *            the path to the image file
+	 * @return the {@link Image} stored in the file at the specified path
+	 */
+	public static Image getImage(String path) {
+		Image image = m_imageMap.get(path);
+		if (image == null) {
+			try {
+				image = getImage(new FileInputStream(path));
+				m_imageMap.put(path, image);
+			} catch (Exception e) {
+				image = getMissingImage();
+				m_imageMap.put(path, image);
+			}
+		}
+		return image;
+	}
+	/**
+	 * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
+	 * 
+	 * @param clazz
+	 *            the {@link Class} relative to which to find the image
+	 * @param path
+	 *            the path to the image file, if starts with <code>'/'</code>
+	 * @return the {@link Image} stored in the file at the specified path
+	 */
+	public static Image getImage(Class<?> clazz, String path) {
+		String key = clazz.getName() + '|' + path;
+		Image image = m_imageMap.get(key);
+		if (image == null) {
+			try {
+				image = getImage(clazz.getResourceAsStream(path));
+				m_imageMap.put(key, image);
+			} catch (Exception e) {
+				image = getMissingImage();
+				m_imageMap.put(key, image);
+			}
+		}
+		return image;
+	}
+	private static final int MISSING_IMAGE_SIZE = 10;
+	/**
+	 * @return the small {@link Image} that can be used as placeholder for missing image.
+	 */
+	private static Image getMissingImage() {
+		Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+		//
+		GC gc = new GC(image);
+		gc.setBackground(getColor(SWT.COLOR_RED));
+		gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+		gc.dispose();
+		//
+		return image;
+	}
+	/**
+	 * Style constant for placing decorator image in top left corner of base image.
+	 */
+	public static final int TOP_LEFT = 1;
+	/**
+	 * Style constant for placing decorator image in top right corner of base image.
+	 */
+	public static final int TOP_RIGHT = 2;
+	/**
+	 * Style constant for placing decorator image in bottom left corner of base image.
+	 */
+	public static final int BOTTOM_LEFT = 3;
+	/**
+	 * Style constant for placing decorator image in bottom right corner of base image.
+	 */
+	public static final int BOTTOM_RIGHT = 4;
+	/**
+	 * Internal value.
+	 */
+	protected static final int LAST_CORNER_KEY = 5;
+	/**
+	 * Maps images to decorated images.
+	 */
+	@SuppressWarnings("unchecked")
+	private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+	/**
+	 * Returns an {@link Image} composed of a base image decorated by another image.
+	 * 
+	 * @param baseImage
+	 *            the base {@link Image} that should be decorated
+	 * @param decorator
+	 *            the {@link Image} to decorate the base image
+	 * @return {@link Image} The resulting decorated image
+	 */
+	public static Image decorateImage(Image baseImage, Image decorator) {
+		return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+	}
+	/**
+	 * Returns an {@link Image} composed of a base image decorated by another image.
+	 * 
+	 * @param baseImage
+	 *            the base {@link Image} that should be decorated
+	 * @param decorator
+	 *            the {@link Image} to decorate the base image
+	 * @param corner
+	 *            the corner to place decorator image
+	 * @return the resulting decorated {@link Image}
+	 */
+	public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
+		if (corner <= 0 || corner >= LAST_CORNER_KEY) {
+			throw new IllegalArgumentException("Wrong decorate corner");
+		}
+		Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+		if (cornerDecoratedImageMap == null) {
+			cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+			m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+		}
+		Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+		if (decoratedMap == null) {
+			decoratedMap = new HashMap<Image, Image>();
+			cornerDecoratedImageMap.put(baseImage, decoratedMap);
+		}
+		//
+		Image result = decoratedMap.get(decorator);
+		if (result == null) {
+			Rectangle bib = baseImage.getBounds();
+			Rectangle dib = decorator.getBounds();
+			//
+			result = new Image(Display.getCurrent(), bib.width, bib.height);
+			//
+			GC gc = new GC(result);
+			gc.drawImage(baseImage, 0, 0);
+			if (corner == TOP_LEFT) {
+				gc.drawImage(decorator, 0, 0);
+			} else if (corner == TOP_RIGHT) {
+				gc.drawImage(decorator, bib.width - dib.width, 0);
+			} else if (corner == BOTTOM_LEFT) {
+				gc.drawImage(decorator, 0, bib.height - dib.height);
+			} else if (corner == BOTTOM_RIGHT) {
+				gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
+			}
+			gc.dispose();
+			//
+			decoratedMap.put(decorator, result);
+		}
+		return result;
+	}
+	/**
+	 * Dispose all of the cached {@link Image}'s.
+	 */
+	public static void disposeImages() {
+		// dispose loaded images
+		{
+			for (Image image : m_imageMap.values()) {
+				image.dispose();
+			}
+			m_imageMap.clear();
+		}
+		// dispose decorated images
+		for (int i = 0; i < m_decoratedImageMap.length; i++) {
+			Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+			if (cornerDecoratedImageMap != null) {
+				for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
+					for (Image image : decoratedMap.values()) {
+						image.dispose();
+					}
+					decoratedMap.clear();
+				}
+				cornerDecoratedImageMap.clear();
+			}
+		}
+	}
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// Font
+	//
+	////////////////////////////////////////////////////////////////////////////
+	/**
+	 * Maps font names to fonts.
+	 */
+	private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
+	/**
+	 * Maps fonts to their bold versions.
+	 */
+	private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
+	/**
+	 * Returns a {@link Font} based on its name, height and style.
+	 * 
+	 * @param name
+	 *            the name of the font
+	 * @param height
+	 *            the height of the font
+	 * @param style
+	 *            the style of the font
+	 * @return {@link Font} The font matching the name, height and style
+	 */
+	public static Font getFont(String name, int height, int style) {
+		return getFont(name, height, style, false, false);
+	}
+	/**
+	 * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
+	 * flags are also supported.
+	 * 
+	 * @param name
+	 *            the name of the font
+	 * @param size
+	 *            the size of the font
+	 * @param style
+	 *            the style of the font
+	 * @param strikeout
+	 *            the strikeout flag (warning: Windows only)
+	 * @param underline
+	 *            the underline flag (warning: Windows only)
+	 * @return {@link Font} The font matching the name, height, style, strikeout and underline
+	 */
+	public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
+		String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
+		Font font = m_fontMap.get(fontName);
+		if (font == null) {
+			FontData fontData = new FontData(name, size, style);
+			if (strikeout || underline) {
+				try {
+					Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
+					Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
+					if (logFont != null && logFontClass != null) {
+						if (strikeout) {
+							logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
+						}
+						if (underline) {
+							logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
+						}
+					}
+				} catch (Throwable e) {
+					System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+			}
+			font = new Font(Display.getCurrent(), fontData);
+			m_fontMap.put(fontName, font);
+		}
+		return font;
+	}
+	/**
+	 * Returns a bold version of the given {@link Font}.
+	 * 
+	 * @param baseFont
+	 *            the {@link Font} for which a bold version is desired
+	 * @return the bold version of the given {@link Font}
+	 */
+	public static Font getBoldFont(Font baseFont) {
+		Font font = m_fontToBoldFontMap.get(baseFont);
+		if (font == null) {
+			FontData fontDatas[] = baseFont.getFontData();
+			FontData data = fontDatas[0];
+			font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
+			m_fontToBoldFontMap.put(baseFont, font);
+		}
+		return font;
+	}
+	/**
+	 * Dispose all of the cached {@link Font}'s.
+	 */
+	public static void disposeFonts() {
+		// clear fonts
+		for (Font font : m_fontMap.values()) {
+			font.dispose();
+		}
+		m_fontMap.clear();
+		// clear bold fonts
+		for (Font font : m_fontToBoldFontMap.values()) {
+			font.dispose();
+		}
+		m_fontToBoldFontMap.clear();
+	}
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// Cursor
+	//
+	////////////////////////////////////////////////////////////////////////////
+	/**
+	 * Maps IDs to cursors.
+	 */
+	private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
+	/**
+	 * Returns the system cursor matching the specific ID.
+	 * 
+	 * @param id
+	 *            int The ID value for the cursor
+	 * @return Cursor The system cursor matching the specific ID
+	 */
+	public static Cursor getCursor(int id) {
+		Integer key = Integer.valueOf(id);
+		Cursor cursor = m_idToCursorMap.get(key);
+		if (cursor == null) {
+			cursor = new Cursor(Display.getDefault(), id);
+			m_idToCursorMap.put(key, cursor);
+		}
+		return cursor;
+	}
+	/**
+	 * Dispose all of the cached cursors.
+	 */
+	public static void disposeCursors() {
+		for (Cursor cursor : m_idToCursorMap.values()) {
+			cursor.dispose();
+		}
+		m_idToCursorMap.clear();
+	}
+	////////////////////////////////////////////////////////////////////////////
+	//
+	// General
+	//
+	////////////////////////////////////////////////////////////////////////////
+	/**
+	 * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+	 * objects are no longer needed (e.g. on application shutdown).
+	 */
+	public static void dispose() {
+		disposeColors();
+		disposeImages();
+		disposeFonts();
+		disposeCursors();
+	}
 }
\ No newline at end of file
diff --git a/test/.gitkeep b/test/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000